Cursussen/Courses Codesnippets     Top 
Software Ontwikkeling - Database ontwerp


1. Omzetten
Een database ontwerp beschrijft de structuur van een relationele database. Een relationele database bevat tabellen en relaties tussen de tabellen zonder dat daarbij overtollige (dubbele) informatie wordt bijgehouden (geen redundantie). Om redundantie (zoveel mogelijk) te vermijden worden de normalisatie stappen doorlopen (zie verder). Bij het omzetten van een ER-model naar een database ontwerp worden de entiteiten tabellen en de attributen velden. Dan worden de relaties van het ER-model omgevormd naar relaties tussen de tabellen van de database. Bekijken we even in detail hoe de omzetting van de verschillende relatievormen kunnen uitgewerkt worden.


2. Entiteiten
1-op-1:
De primaire sleutel (primary key) van de ene tabel wordt toegevoegd aan de andere tabel als refererende (vreemde) sleutel (foreign key).
1-op-veel:
De primaire sleutel van de 1-kant wordt als refererende sleutel toegevoegd aan de tabel van de veel-kant.
Veel-op-veel:
Er wordt een bijkomende tabel aangemaakt met daarin de primaire sleutels van de 2 tabellen. Deze sleutels worden de refererende sleutels van de relatie en vormen samen de primaire sleutel van de nieuwe tabel.


3. Relaties
Bij een relatie met attributen wordt er telkens een nieuwe tabel aangemaakt.
Enkele voorbeelden:
1-op-1 met attributen:
De nieuwe tabel bevat alle attributen (velden) en refererende sleutels naar de primaire sleutel van de 2 tabellen. Er wordt meestal in deze nieuwe tabel een nieuwe primaire sleutel voorzien (i.p.v. de primaire sleutel van 1 van de tabellen).
1-op-veel met attributen:
In de nieuwe tabel kan de primaire sleutel een refererende sleutel zijn naar de primaire sleutel van de 1-kant tabel.
Veel-op-veel met attributen:
De nieuwe tabel bevat refererende sleutels naar de primaire sleutel van de beide tabellen. Ook hier wordt meestal een nieuwe primaire sleutel gekozen voor de nieuwe tabel (i.p.v. een samengestelde primaire sleutel).


4. Voorbeeld
Bij het gebruik van MySQL Workbench worden deze omzettingen automatisch doorgevoerd als er in het ER-model relaties worden gelegd (weergave: menu-ingang: Model – Relationship Notation – Crow’s Foot (IE)).
Je kan de weergave van het ER-model zodanig instellen dat je ook een database ontwerp bekomt (menu-ingang: Model – Relationship Notation – Connect to Columns).