Solusi biasa untuk ini adalah membuat tabel persimpangan:
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)
);
Anda kemudian menjatuhkan v_id
dari owners
.
Tabel ini memungkinkan setiap owners
untuk memiliki beberapa vehicles
, dan setiap vehicles
untuk memiliki beberapa owners
. Jika Anda ingin menerapkan batasan satu pemilik per kendaraan, tambahkan UNIQUE
indeks ke vehicles_owned.v_id
.
EDIT:Tentu saja, jika Anda ingin menerapkan batasan satu pemilik per kendaraan, Anda juga dapat menambahkan o_id
ke vehicles
sebagai kunci asing, dan tidak mengganggu tabel persimpangan.