Relaties
Soorten
| A:B |
Toelichting |
| 1:1 |
Per record A één record uit B.
|
| 1:c |
Per record A eventueel één
record uit B.
|
| 1:n |
Per record A één of meerdere
records uit B.
|
| 1:cn |
Per record A geen, één of
meerdere records uit B.
|
| c:cn |
Per record A geen, één of
meerdere records uit B.
Per record B geen of één records uit A.
|
| m:n |
Per record A één of meerdere
records uit B.
Per record B één of meerdere records uit A.
|
| cm:n |
Per record A één of meerdere
records uit B.
Per record B geen, één of meerdere records uit A.
|
| m:cn |
Per record A geen, één of
meerdere records uit B.
Per record B één of meerdere records uit A. |
Oplossing
m:n, cm:n en m:cn worden niet ondersteunt in
databasesystemen.
Dit wordt opgelost door een nieuwe entiteit (aggregatie).
Klassiek voorbeeld: Een medewerker die deelneemt
in projecten.
- Één medewerker neemt deel in geen,
één of meer projecten (1:cn).
- Een project heeft één of meer medewerkers (1:n)
Relatie is m:cn. Op te lossen door nieuwe entiteit (en dus
nieuwe tabel) projectmedewerker.
- Relatie medewerker, projectmedewerker is cn:1.
- Relatie projectmedewerker, project is 1:n.
De relatie m:cn tussen twee tabellen is hierdoor gesplitst
over drie tabellen met relatie 1:cn en 1:n daartussen.
|