Obvyklým řešením by bylo vytvořit průsečíkovou tabulku:
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)
);
Poté vynecháte v_id
od owners
.
Tato tabulka umožňuje každému owner
vlastnit více vehicles
a každé vehicle
mít více owners
. Pokud chcete prosadit omezení jednoho vlastníka na vozidlo, přidejte UNIQUE
index na vehicles_owned.v_id
.
EDIT:Samozřejmě, pokud chcete prosadit omezení jednoho vlastníka na vozidlo, můžete také jednoduše přidat o_id
na vehicles
jako cizí klíč a neobtěžovat se s průnikovou tabulkou.