Blok 2 - Relationele databases
2 - Relationele databases: structuur
3 - Relationele databases: regels
4 - Communiceren met een relationele database
5 - Null's
6 - Normalisatie
Leereenheid 2 - Relationele databases: structuur
Een relationele database is één component van een groter systeem, een informatiesysteem. De database bevat, gestructureerd in de vorm van tabellen, de gegevens die voor gebruikers van het informatiesysteem de informatie opleveren die zij nodig hebben. Deze leereenheid gaat over de structuur van een relationele database en legt daarmee de basis voor al wat volgt.
1 - Reijnders' Toetjesboek
2 - Alle gegevens in één tabel
- eerste stap naar relationele opslagstructuur
- één tabel met subtabellen
- redundantie
- gecontroleerde redundantie
- herhalende groepen
- omkering van herhalende groepen
3 - Verbeterde tabelstructuren
- elimineren van de herhalende groep
- elimineren van redundantie
- alternatief: eerst elimineren van redundantie
- elk entiteittype zijn eigen tabel
- normaliseren en standaardiseren
- structuur en populatie
- tabellen en relaties
4 - Gegevens en informatie
- informatie als verwoording van gegevens
- atomaire informatie
Leereenheid 3 - Relationele databases: regels
Deze leereenheid gaat over de regels die voor structuren van relationele databases gelden. Ten eerste regels die dingen verbieden of verplichten: beperkingsregels. Ten tweede regels die zorgen dat acties worden ondernomen of juist worden tegengehouden: gedragsregels.
1 - Beperkingsregels
- optionele en verplichte kolommen
- uniciteit
- illustratieve populaties
- identificatie en verwijzing
- primaire sleutels en verwijssleutels
- kandidaatsleutels en alternatieve sleutels
- referentiële integriteitsregel
- multipliciteitsregels
- een 'kip-ei'-probleem
- bijzondere beperkingsregels
- het bewaken van beperkingsregels
- kunstmatige sleutels
2 - Gedragsregels
- refererende-actieregels
- bijzondere gedragsregels
- transacties
3 - Meer over uniciteitsregels
- inschrijvingen bij de Open School
- combinaties van uniciteitsregels
4 - Meer over verwijzingsregels
- een samengestelde sleutel
- een recursieve verwijzing
- een veel-veel-associatie tussen een tabel en zichzelf
- een veel-veel-associatie tussen een tabel en een andere tabel
- niet-sleutelverwijzingen
5 - De OpenSchool-database
Leereenheid 4 - Communiceren met een relationele database
In de voorgaande leereenheden stond de ‘achterkant' van een relationeel systeem centraal, dat wil zeggen: het rdbms en de database op de server. In deze leereenheid gaat het ook om de ‘voorkant': applicaties op de client. En meer nog gaat het om de communicatie tussen de applicaties en het rdbms. We maken kennis met SQL, de meest gebruikte relationele taal voor opdrachten vanuit een applicatie aan het rdbms.
1 - Uitbreiding van Reijnders' Toetjesboek
2 - SQL als ‘universele gegevenstaal'
- wat kun je met SQL?
- dialecten en standaards
3 - De Boekverkenner en de Interactive Query Utility
- boekverkenner
- Interactive Query Utility
4 - Een eerste select-statement
- opvragen van volledige tabelinhoud
- opmaak
- gereserveerde woorden en identifiers
- weergave van null's
- commentaarcode
5 - Projecties en selecties
- de projectieoperatie
- constante en berekende resultaatkolommen
- de selectieoperatie
- ordening
6 - Operatoren en functies
- operatoren
- functies
7 - Opvragingen uit meer dan één tabel: de joins
- de essentie van de join
- de join in SQL
8 - Tabelinhouden wijzigen
- rijen toevoegen
- de automatische energieberekening
- scripts
- transacties
- rijen verwijderen
- rijen wijzigen
9 – Databasestructuurdefinitie
- voorbereidende werkzaamheden
- aanmaken van tabellen
- andere DDL-opdrachten
10 - Reijnders' Toetjesboek: de applicatie
- bladeren
- zoeken
- onderhoud
Leereenheid 5 – Null's
In deze leereenheid onderzoeken we de aard van null's, de indicatoren voor ‘geen waarde'. We behandelen twee aspecten van de relationele theorie die nauw met null's in verband staan. Ten eerste de Codd-relationaliteit, over null's en primaire sleutels. Ten tweede de logische algebra, over het gebruik van null's in logische expressies waardoor naast true en false een derde logische waarde unknown nodig is.
1 - De aard van null's
- wat zijn null's?
- de SQL-constante null
- selecteren op null
- rekenen met null
- null, 0 en de lege string
- onbekend of niet-van-toepassing?
- persoonsnamen
2 – Codd-rationaliteit
3 - Logische algebra
- tweewaardige logica
- driewaardige logica
Leereenheid 6 - Normalisatie
Normaliseren is niet meer zo vaak onderdeel van het modelleer- en ontwerpproces, maar de normalisatietheorie kan nog steeds worden gebruikt als controlemiddel en levert ook de taalmiddelen om over een goede structuur te spreken. Normalisatie is en blijft een belangrijk onderdeel van de relationele theorie. De essentie ervan is in leereenheid 2 al behandeld. In deze leereenheid gaan we een stapje verder, zowel praktisch als theoretisch.
1 - De eerste normaalvorm
2 - Functionele afhankelijkheid
- functionele afhankelijkheid en sleutels
- functionele afhankelijkheid in een ongewenste structuur
3 - De tweede normaalvorm
4 - De derde normaalvorm
5 - De Boyce-Codd normaalvorm (BCNV)
- de verbodsbepaling van BCNV
- een kritisch voorbeeld voor BCNV
6 - Kanttekeningen
- 1NV versus de hogere normaalvormen
- de (on)wenselijkheid van redundantie
- de vierde en de vijfde normaalvorm