Toon posts:

[SQL] Refereren naar een samengestelde sleutel *

Pagina: 1
Acties:
  • 59 views sinds 30-01-2008

Verwijderd

Topicstarter
We hebben een probleem:

We hebben een tabel lokalen.Een lokaal wordt geïdentificeerd door een "lokaal-type-id" en een "volgnummer". Dit zijn 2 aparte velden

Lokaaltype-id Volgnummer
1 1
1 2
1 3
2 1
2 2

We hebben een tabel reservaties. Daarin moet ook een lokaal ingegeven worden (dus een lokaal-type-id en een volgnummer") als 1 veld. Nu willen we een referentie leggen tss het lokaal en de samengestelde sleutel van lokaal).

Dus dat de combinatie v/d ingevulde waarden bij reservatie voorkomt in de tabel lokalen.

Als je een reference-constraint zou plaatsen op iedere kolom apart, dan kan je bijvoorbeeld lokaal 2.3 (2 komt voor bij type ne 3 komt voor bij volgnummer) ingeven terwijl die combinatie helemaal niet bestaat.

Hoe moet de constraint eruit zien zodat de combinatie moet voorkomen in de tabel lokalen?

Alvast bedankt...

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Misschien heb je er zelf ook al wel aan gedacht en excuus dat ik geen antwoord geef op je vraag, maar waarom introduceer je niet een (enkele) primary key voor de lokalen en een "gewone" unique constraint op de twee velden?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Dit is gewoon manual werk hoor.
Kijk eens in de manual van de SQL implementatie die je gebruikt. In een FOREIGN KEY CONSTRAINT kan je meerdere velden specifieren dmv een komma.

code:
1
2
.....
CONSTRAINT blaat FOREIGN KEY table(veld1, veld2) REFERENCES table2(veld1, veld2)

oid.

https://fgheysels.github.io/


Dit topic is gesloten.