A solução usual para isso seria criar uma tabela de interseção:
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)
);
Você então solta
v_id
de owners
. Esta tabela permite que cada
owner
possuir vários vehicles
, e cada vehicle
ter vários owners
. Se você deseja impor uma restrição de um proprietário por veículo, adicione um UNIQUE
indexe para vehicles_owned.v_id
. EDIT:Claro, se você quiser impor uma restrição de um proprietário por veículo, você também pode simplesmente adicionar
o_id
para vehicles
como chave estrangeira, e não se preocupe com a tabela de interseção.