Wat is databaseontwerp?
Database-ontwerp, zoals de naam al doet vermoeden, lijkt veel op huisontwerp, hoewel de term ook kan worden gebruikt om te verwijzen naar de feitelijke databaseconstructie. Het ontwerpproces is een soort blauwdruk die de details van een database schetst, van relaties tussen tabellen tot welke informatie belangrijk is en hoe de gegevens worden geïmplementeerd. Naast het helpen van de bouwer om te weten welke tabellen en informatie hij moet verzamelen, maakt een ontwerp gebruik van naamgevingsconventies en worden spelfouten gecontroleerd voordat de database is voltooid. De database doorloopt tijdens het ontwerpproces ook de normalisatie, waarmee wordt geprobeerd redundantie te verwijderen. Zonder eerst een ontwerp uit te werken, kan een database-maker gemakkelijk de volgorde van tabellen of de primaire sleutel voor tabellen verknoeien, of gewoon een paar secties missen, naast een hele reeks andere mogelijke fouten.
De eerste stap van het databaseontwerp is om het doel van de database te kennen. Er zijn geen diagrammen of abstracte voorstellingen; de ontwerper denkt gewoon na over de doelstellingen van de database. Sommige informatie kan worden opgeschreven, maar over het algemeen beschouwt de ontwerper eenvoudig de beste manier om de database te organiseren en te gebruiken.
Vervolgens maakt de ontwerper vier datamodellen. Het conceptuele model is een eenvoudig diagram dat tabelnamen toont. Hierna wordt het logische datamodel gemaakt, dat de tabellen vult met primaire sleutel en informatie die moet worden verzameld. Een primaire sleutel is een titel voor een kolom die deze uniek maakt en gebruikers het doel van de kolom vertelt. Relaties tussen tabellen worden ook gedetailleerd beschreven tijdens deze ontwerpfase van de database.
In het entiteit-relatiemodel richt de ontwerper zich meer op relaties en minder op de primaire sleutels. Dit model wordt soms overgeslagen, maar het helpt bij het maken van de database om te laten zien hoe de entiteiten met elkaar omgaan. In het fysieke datamodel wordt live informatie ingevoerd in het databaseontwerp.
Tijdens elke modelfase moet de spelling van de tabellen en primaire sleutels worden gecontroleerd. Er zijn ook naamgevingsconventies, zodat gebruikers weten hoe ze gegevens moeten invoeren. Een tabel kan bijvoorbeeld 'ThisTable', 'This_Table', 'This-Table' of 'This.Table' heten op basis van de naamgevingsconventie die is gekozen door de databaseontwerper. Spelling moet worden gecontroleerd, omdat een fout relatieproblemen kan veroorzaken wanneer de database wordt opgebouwd.
De normalisatieregels worden ook toegepast op het databasemodel. Deze regels elimineren herhalende gegevens, lossen grote tabellen op in kleine tabellen en zorgen ervoor dat relaties worden geoptimaliseerd. Het normaliseren van het databaseontwerp is de laatste stap en helpt de ontwerper bij het bepalen of de database functioneel is of moet worden herschikt of herwerkt.