Databasenormalisatie
Databasenormalisatie is een benadering van het ontwerpen van databanken die door Edgar F. Codd in de jaren zeventig van de vorige eeuw werd geïntroduceerd. Bepaalde databanken, ook wel relationele databanken genoemd, maken het mogelijk om gegevens in afzonderlijke groepen op te slaan. Elke groep wordt gewoonlijk een tabel genoemd. Om nuttige informatie te verschaffen zijn deze groepen met elkaar verbonden. Zo kunnen leerlingen bijvoorbeeld in de ene groep worden opgeslagen, en klassen in een andere groep. Om aan te tonen dat een leerling in een klas is ingeschreven, wordt er een "relatie" gelegd tussen de ene groep en de andere. Een student zou een relatie kunnen hebben met vele klassen, waarbij hij of zij elk ingeschreven zou zijn, terwijl een klas een relatie zou hebben met vele studenten.
Een traditioneel alternatief is de "flat file database", waar alle gegevens worden gegroepeerd als in een spreadsheet. Het probleem met flat file databases is dat ze veel lege ruimtes kunnen hebben en dat er veel informatie is die voor elke invoer moet worden herhaald. Dit betekent dat de database groter is dan het moet zijn, en het maakt het waarschijnlijker dat de database fouten bevat. Relationele databases, door de gegevens in groepen op te splitsen, verminderen de kans op fouten en nemen niet meer ruimte in beslag dan nodig is. Maar om te kunnen werken moet het goed ontworpen zijn.
Databasenormalisatie is een methode om goede relationele databases te ontwerpen. Er zijn verschillende "normale vormen", die elk regels hebben waar de database aan moet voldoen. Codd heeft oorspronkelijk drie sets van criteria gespecificeerd waaraan verschillende databanken moeten voldoen: de eerste, tweede en derde normale vorm.
Als een relatie (of "databasetabel") voldoet aan een bepaalde normale vorm, is deze niet kwetsbaar voor bepaalde wijzigingen, die de integriteit van de gegevens zullen aantasten. Het nadeel van het voldoen aan een dergelijke set van criteria is meestal dat het opvragen van bepaalde gegevens uit de database moeilijker wordt.
Vragen en antwoorden
V: Wat is databasenormalisatie?
A: Databasenormalisatie is een aanpak voor het ontwerpen van databases die in de jaren 1970 werd geïntroduceerd door Edgar F. Codd. Hierbij worden gegevens opgedeeld in afzonderlijke groepen, tabellen genoemd, en worden onderlinge relaties gelegd om nuttige informatie te verkrijgen.
V: Wat is een flat file database?
A: In een flat file database worden alle gegevens gegroepeerd zoals in een spreadsheet. Dit kan leiden tot veel lege ruimten en herhaalde informatie, waardoor de kans op fouten groter wordt.
V: Hoe verkleint een relationele database de kans op fouten?
A: Relationele databases verdelen de gegevens in groepen, waardoor de kans op fouten kleiner wordt en niet meer ruimte in beslag wordt genomen dan nodig is.
V: Wat zijn normale vormen?
A: Normale vormen zijn criteria waaraan verschillende databases moeten voldoen om goed ontworpen relationele databases te zijn. Er zijn verschillende "normale vormen", elk met hun eigen reeks regels waaraan de database moet voldoen.
V: Wat zijn enkele nadelen van het voldoen aan bepaalde reeksen criteria voor normale vormen?
A: Het nadeel van het voldoen aan zo'n set criteria is meestal dat het bevragen van bepaalde gegevens uit de database moeilijker wordt.