Het toevoegen van externe sleutels aan de tabellen (stap 4)

De relaties tussen tabellen worden gelegd door de primaire sleutel van de ene tabel in een andere tabel op te nemen.

Bijvoorbeeld: in een tabel AFDELING is de primaire sleutel afdelingsnummer. In de tabel MEDEWERKERINZET wordt afdelingsnummer als een attribuuttype opgenomen. In dit voorbeeld fungeert het afdelingsnummer in tabel MEDEWERKERINZET als externe sleutel en wordt de relatie tussen twee entiteitbeschrijvingen in respectievelijk de tabellen AFDELING en MEDEWERKERINZET gelegd door een waarde uit het domein van afdelingsnummer.

Een bijzonder geval doet zich voor als een externe sleutel in dezelfde tabel voorkomt als de primaire sleutel.

Een voorbeeld hiervan is de volgende tabel:

MEDEWERKER (medewerkernummer, naam, adres, afdelingsnummer, medewerkernummer).

In dit geval is de primaire sleutel medewerkernummer. De externe sleutel is ook medewerkernummer. Het betreft hier echter de medewerker aan wie gerapporteerd wordt.

Het toevoegen van externe sleutels kan in twee gevallen voorkomen.

  1. bij tabellen, die zijn ontstaan als gevolg van het afbreken van een m:n-relatie (een relatietabel). In dit geval moet de relatietabel de primaire sleutels bevatten van de tabellen waartussen de m:n-relatie bestond.
  2. bij tabellen, waartussen een relatie bestaat die uit het semantisch gegevensmodel voortkomt (en is gelegd bij het afleiden van de basisstructuur). Dus als tabel X een relatie heeft met tabel Y, moet aan X als externe sleutel de primaire sleutel van tabel Y worden toegevoegd.

Aandacht De externe sleutel is een verplicht attribuuttype als de relatie die ermee wordt gelegd verplicht is.

 

Vervolg Het behandelen van repeterende attribuuttypen (stap 5)