Den sædvanlige løsning på dette ville være at oprette en skæringstabel:
CREATE TABLE vehicles_owned
(
o_id INT,
v_id INT,
PRIMARY KEY (o_id, v_id),
FOREIGN KEY (o_id)
REFERENCES owners (o_id),
FOREIGN KEY (v_id)
REFERENCES vehicles (v_id)
);
Du slipper derefter v_id
fra owners
.
Denne tabel tillader hver owner
at eje flere vehicles
, og hvert vehicle
at have flere owners
. Hvis du vil håndhæve en begrænsning for én ejer pr. køretøj, skal du tilføje en UNIQUE
indeks til vehicles_owned.v_id
.
EDIT:Selvfølgelig, hvis du vil håndhæve en begrænsning for én ejer pr. køretøj, kan du også blot tilføje o_id
til vehicles
som en fremmednøgle, og ikke genere skæringstabellen.