Zwykłym rozwiązaniem tego problemu byłoby utworzenie tabeli przecięcia:
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)
);
Następnie upuszczasz v_id od owners .
Ta tabela pozwala każdemu owner posiadać wiele vehicles i każdy vehicle mieć wielu owners . Jeśli chcesz wymusić ograniczenie jednego właściciela na pojazd, dodaj UNIQUE indeks do vehicles_owned.v_id .
EDYCJA:Oczywiście, jeśli chcesz wymusić ograniczenie jednego właściciela na pojazd, możesz również po prostu dodać o_id do vehicles jako klucz obcy i nie zawracaj sobie głowy tablicą przecięć.