La solution habituelle à cela serait de créer une table d'intersection :
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)
);
Vous déposez ensuite v_id
des owners
.
Ce tableau permet à chaque owner
posséder plusieurs vehicles
, et chaque vehicle
avoir plusieurs owners
. Si vous souhaitez appliquer une contrainte d'un propriétaire par véhicule, ajoutez un UNIQUE
index de vehicles_owned.v_id
.
EDIT :Bien sûr, si vous souhaitez appliquer une contrainte d'un propriétaire par véhicule, vous pouvez également simplement ajouter o_id
aux vehicles
comme une clé étrangère, et ne pas s'embêter avec la table d'intersection.