For faster navigation, this Iframe is preloading the Wikiwand page for Constraint (databases).

Constraint (databases)

Uit Wikipedia, de vrije encyclopedie

Een constraint in een database is een vastgelegde voorwaarde, bedoeld om de integriteit of logica van de opgeslagen gegevens te bewaken. Een constraint zorgt ervoor dat er een foutmelding wordt gegeven als de betreffende regel overtreden dreigt te worden.

Tabelconstraint

Vorm:

ALTER TABLE tabel_naam ADD [CONSTRAINT constraintnaam] constraintdefinitie

Kolomconstraint

Vorm:

kolomdefinitie constraintdefinitie_1 [constraintdefinitie_2]

Primary Key (PK)

Constraintdefinitie als tabelconstraint

[CONSTRAINT constraintnaam] PRIMARY KEY ( kolom_1 [, kolom_2 [, ...] ] )

Merk op dat als tabelconstraint, de primaire sleutel meerdere kolommen kan omvatten.

Constraintdefinitie als kolomconstraint

[CONSTRAINT constraintnaam] PRIMARY KEY

Merk op dat als kolomconstraint, enkel de kolom waarop de constraint wordt toegepast, de primaire sleutel vormt.

Elke tabel kan slechts één primaire sleutel bezitten.

Zie Primaire sleutel voor het hoofdartikel over dit onderwerp.

Foreign Key (FK)

Een veelgebruikte constraint in relationele databases is de foreign key. Deze zorgt ervoor dat als gegevens in een record verwijzen naar gegevens in een andere record, er alleen verwezen kan worden naar werkelijk bestaande gegevens. Als er bijvoorbeeld in een tabel met bestellingen wordt verwezen naar een tabel met klanten, dan moet in iedere bestelling de desbetreffende klant zijn opgenomen in de tabel met klanten. Een bestelling van een niet-bestaande klant kan op deze manier nooit in de database terechtkomen. En als een bepaalde klant eenmaal in de tabel met bestellingen wordt gebruikt, dan kan de klant niet uit de tabel van klanten worden verwijderd zonder dat eerst de betreffende bestellingen zijn verwijderd.

Constraintdefinitie als tabelconstraint

[CONSTRAINT constraintnaam] FOREIGN KEY ( eigen_kolom_1 [, eigen_kolom_2 [, ...] ] )
REFERENCES gerefereerde_tabel ( ref_tabel_kol_1 [, ref_tabel_kol_2 [, ...] ] )

Merk op dat het aantal eigen kolommen gelijk moet zijn aan het aantal gerefereerde kolommen. Ook moeten de gerefereerde kolommen de volledige primaire sleutel opmaken van de gerefereerde tabel teneinde een specifieke rij aan te kunnen duiden.

Constraintdefinitie als kolomconstraint

[CONSTRAINT constraintnaam] REFERENCES gerefereerde_tabel ( gerefereerde_kolom )

Merk op dat slechts één kolom (de kolom waarop de constraint wordt toegepast) de vreemde sleutel uitmaakt en dat dusdanig naar slechts één kolom uit de gerefereerde tabel kan worden verwezen. Ook hier moet de gerefereerde kolom de volledige primaire sleutel van de gerefereerde tabel zijn.

CHECK-constraint

Constraintdefinie als tabel- of kolomconstraint:

[CONSTRAINT constraintnaam] CHECK ( criteria )

De criteria moeten een booleaanse waarde opleveren (true of false).

UNIQUE-constraint

Constraintdefinitie als kolomconstraint:

[CONSTRAINT constraintnaam] UNIQUE

Wanneer toegepast op een kolom vereist deze constraint dat alle waarden in de kolom over de gehele tabel uniek zijn (met andere woorden er worden geen twee dezelfde waarden voor deze kolom toegelaten).

Deze constraint verschilt als volgt van een primaire sleutel:

  • Meerdere UNIQUE-constraints per tabel zijn toegelaten.
  • Een primaire sleutel wordt geïndexeerd, een UNIQUE-constraint niet noodzakelijk.
  • Een primaire sleutel kan worden gerefereerd door een vreemde sleutel, een UNIQUE-kolom niet

Wiskunde

Zie Randvoorwaarde (wiskunde).

{{bottomLinkPreText}} {{bottomLinkText}}
Constraint (databases)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.