Ga naar inhoud

Header

Soorten relaties

Introductie

Tabellen bevatten primary- en foreign keys om relaties te specificeren.

  • Primary keys:
    • De kolom(men) die de unieke objecten in een tabel identificeert.
  • Foreign keys:
    • De kolom die linkt naar een primary key in een andere tabel.

Er zijn vervolgens verschillende soorten relaties:

  1. One-to-one
  2. One-to-many
  3. Many-to-many

In deze module leren we deze relaties en hun onderlinge verschillen zijn.




1. One-to-one relatie

Bij een one-to-one relatie is 1 record uit de ene tabel gelinkt aan 0 of 1 record uit een andere tabel.

We bekijken het volgende voorbeeld:

Header

Hierin zien we het volgende:

  • Tabel students bevat een voornaam en achternaam van studenten.
    • Iedere rij bevat gegevens van een unieke student.
    • Primary key is kolom student_id.
  • Tabel student_details bevat details van een student: e-mail en geboortedatum.
    • Iedere rij bevat details van een unieke student.
    • Primary key is kolom student_id.

Hierbij is 1 record uit tabel students gelinkt aan 0 of 1 record uit tabel student_details.

Dit op overeenkomstige kolommen student_id.

De one-to-one relatie komt bijvoorbeeld voor als er veel kolommen nodig zijn om alle details van een object te kunnen verwerken.

Voor beter overzicht wordt de data dan over meerdere tabellen verdeeld.




2. One-to-many relatie

Bij een one-to-many relatie is 1 record uit de ene tabel gelinkt aan 0 of meerdere records uit een andere tabel.

We bekijken het volgende voorbeeld:

Header

Hierin zien we het volgende:

  • Tabel students bevat een voornaam en achternaam van studenten.
    • Iedere rij bevat gegevens van een unieke student.
    • Primary key is kolom student_id.
  • Tabel course_subscriptions bevat de vakken (courses) waarvoor een student is ingeschreven.
    • Iedere student kan voor meerdere vakken ingeschreven staan.
    • Een foreign key is kolom student_id.

Hierbij is 1 record uit tabel students gelinkt aan 0 of meerdere records uit tabel course_subscriptions.

Dit op overeenkomstige kolommen student_id.

De one-to-many relatie is in de praktijk het meestvoorkomend.

Er is over het algemeen een relatie tussen een primary key en een foreign key.




3. Many-to-many relatie

Bij een many-to-many relatie is 1 record uit de ene tabel gelinkt aan 0 of meerdere records uit een andere tabel, en omgekeerd.

We bekijken het volgende voorbeeld:

Header

Hierin zien we het volgende:

  • Tabel students bevat een voornaam en achternaam van studenten.
    • Iedere rij bevat gegevens van een unieke student.
    • Primary key is kolom student_id.
  • Tabel course_subscriptions bevat de vakken (courses) waarvoor een student is ingeschreven.
    • Iedere student kan voor meerdere vakken ingeschreven staan.
    • Een foreign key is kolom student_id.
    • Een foreign key is kolom course_id.
  • Tabel courses bevat details van de vakken (courses).
    • Iedere rij bevat gegevens van een uniek vak.
    • Primary key is kolom course_id.

Iedere student kan voor meerdere vakken ingschreven staan. Ieder vak kan door meerdere studenten gevolgd worden.

Er is over het algemeen een relatie tussen primary key in de ene tabel, via foreign keys in een tussentabel, met een primary key in een andere tabel.




Samenvatting

  • Er zijn verschillende soorten relaties:
    1. One-to-one
      • 1 record uit de ene tabel is gelinkt aan 0 of 1 record uit een andere tabel.
    2. One-to-many
      • 1 record uit de ene tabel is gelinkt aan 0 of meerdere records uit een andere tabel.
    3. Many-to-many
      • 1 record uit de ene tabel is gelinkt aan 0 of meerdere records uit een andere tabel, en omgekeerd.
  • De one-to-many relatie is in de praktijk het meestvoorkomend.