Het gegevensmodel is een vertaling van de klassen in het business class model. Daarbij worden de attributen van de business classes meegenomen als logische attributen in het gegevensmodel. Daarnaast dienen de relaties tussen de verschillende klassen bevredigend worden vertaald naar de relationele database.Hierbij gelden richtlijnen die de objectgeoriënteerde constructies als overerving en ternaire relaties vertalen in foreign keys en tussentabellen. DoelHet inrichten van een (logisch) gegevensmodel. Stappen- Vertalen business classes naar entiteitenCreëer voor iedere klasse uit het business class model een entiteit in het gegevensmodel met dezelfde naam.
- Entiteiten voorzien van sleutelsVoorzie iedere entiteit van een unieke sleutel (altijd een numeriek veld). Noem deze sleutel bij voorkeur "id".
- Overnemen attributen business classesNeem de attributen van de class, bij voorkeur met exact dezelfde namen, over in de gelijknamige entiteit in het gegevensmodel. Geef ze ook hetzelfde type.
- Aanmaken foreign keysIndien een attribuut van een klasse als type een andere klasse kent, zoals bijvoorbeeld een klasse Medewerker een instantie van de klasse Manager kent, creëer nu een foreign key voor deze entiteit in de tabel voor de klasse. De entiteit Medewerker krijgt hier derhalve een foreign key voor de primary key van de tabel Manager. Geef dit veld bij voorkeur de naam van de andere entiteit, aangevuld met "id" (hier dus managerID). Leg bovendien de relatie vast in de database.
- Uitwerken overervingAls de relatie tussen twee klassen overerving kent, zoals bij Persoon en Klant, creëer dan voor beide klassen de gelijknamige entiteit. De onderliggende klasse (de descendant) krijgt nu bovendien een foreign key voor de klasse waarvan is geerfd (zijn ancestor).
- Uitwerken ternaire relatiesIndien er sprake is van een ternaire relatie tussen klassen, zoals bij Klant en Product, waarbij de ternaire relatie Overeenkomst geldt, wordt voor alledrie de klassen een entiteit aangemaakt. De relatie-entiteit krijgt bovendien foreign keys voor beide andere entiteiten. Zo worden twee 1-op-n relaties gecreëerd, en geen n-op-m, wat ten allen tijde vermeden dient te worden. In dit voorbeeld krijgt Overeenkomst foreign keys voor zowel Product als Klant.
- Vastleggen entiteiten en relaties in databaseLeg alle in de bovenliggende stappen ontdekte entiteiten en foreign key-relaties vast in de database.
RichtlijnenBeperk de namen van velden in de entiteiten het liefst tot de namen van de attributen in de business classes. Neem bij voorkeur niet ook nog de naam van de klasse mee in de veldnamen in de entiteit. Dit biedt geen toegevoegde informatie en betekent in het vervolg van het project additioneel typewerk. | |