La solución habitual a esto sería crear una tabla de intersección:
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)
);
Luego sueltas v_id
de owners
.
Esta tabla permite que cada owner
poseer múltiples vehicles
, y cada vehicle
tener varios owners
. Si desea aplicar una restricción de un propietario por vehículo, agregue un UNIQUE
indexar a vehicles_owned.v_id
.
EDITAR:por supuesto, si desea imponer una restricción de un propietario por vehículo, también puede simplemente agregar o_id
a vehicles
como clave foránea, y no molestarse con la tabla de intersección.