Home · Fasen · Rollen · Producten · Best practices · Referenties · Nieuws & release notes · Begrippen

Ontwerp
Opstellen gegevensmodel

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.

Doel

Het inrichten van een (logisch) gegevensmodel.

Stappen

  1. Vertalen business classes naar entiteiten
    Creëer voor iedere klasse uit het business class model een entiteit in het gegevensmodel met dezelfde naam.

  2. Entiteiten voorzien van sleutels
    Voorzie iedere entiteit van een unieke sleutel (altijd een numeriek veld). Noem deze sleutel bij voorkeur "id".

  3. Overnemen attributen business classes
    Neem de attributen van de class, bij voorkeur met exact dezelfde namen, over in de gelijknamige entiteit in het gegevensmodel. Geef ze ook hetzelfde type.

  4. Aanmaken foreign keys
    Indien 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.

  5. Uitwerken overerving
    Als 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).

  6. Uitwerken ternaire relaties
    Indien 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.

  7. Vastleggen entiteiten en relaties in database
    Leg alle in de bovenliggende stappen ontdekte entiteiten en foreign key-relaties vast in de database.

Richtlijnen

Beperk 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.

 [TASK022] Versie 2003Q2 Basic - ©1999-2006 Sander Hoogendoorn (aahoogendoorn@gmail.com), 1 juli 2003