Junior
Hoe beïnvloedt de foreign key de integriteit van gegevens in de database?
sobes.tech AI
Antwoord van AI
Een foreign key (vreemde sleutel) zorgt voor referentiële integriteit van gegevens, door te garanderen dat de waarden in de kolom van een tabel (kindtabel) overeenkomen met de waarden in de kolom van een andere tabel (oudertabel).
Impact op de gegevensintegriteit:
- Voorkomt dat records worden toegevoegd aan de kindtabel met een waarde die niet bestaat in de overeenkomstige kolom van de oudertabel. Poging tot invoegen van een rij die verwijst naar een niet-bestaand ouderrecord, resulteert in een fout.
- Beperkt het verwijderen van records uit de oudertabel die door records in de kindtabel worden verwezen. Het gedrag bij het verwijderen hangt af van de ingestelde actie (
ON DELETE):RESTRICT(standaard): Verwijderen wordt verboden.CASCADE: Verwijdert afhankelijke records in de kindtabel.SET NULL: Stelt de waarde NULL in in de overeenkomstige kolom van de kindtabel (indien NULL toegestaan).NO ACTION: Vergelijkbaar metRESTRICTbij standaardcontrole, maar kan verschillen tijdens uitvoering.
- Beperkt het bijwerken van records in de oudertabel. Het gedrag bij het bijwerken hangt ook af van de ingestelde actie (
ON UPDATE):RESTRICT(standaard): Wijzigingen worden verboden.CASCADE: Wijzigt de overeenkomstige waarde in afhankelijke records van de kindtabel.SET NULL: Stelt de waarde NULL in in de overeenkomstige kolom van de kindtabel (indien NULL toegestaan).NO ACTION: Vergelijkbaar metRESTRICTbij standaardcontrole, maar kan verschillen tijdens uitvoering.
Een foreign key helpt voorkomen dat "wees"-records ontstaan en zorgt dat de relaties tussen tabellen correct blijven.