Contoh sederhana: ada meja pelanggan.
create table Customers (
id integer,
constraint CustomersPK primary key (id)
)
Semua data lain dalam database harus terhubung ke Customer
, jadi misal Orders
terlihat seperti ini:
create table Orders (
id integer,
customer integer,
constraint OrdersPK primary key (customer, id),
constraint OrdersFKCustomers foreign key (customer) references Customers (id)
)
Misalkan sekarang ada tabel yang menghubungkan ke Orders
:
create table Items (
id integer,
customer integer,
order integer,
constraint ItemsPK primary key (customer, id),
constraint ItemsFKOrders foreign key (customer, order) references Orders (customer, id)
)
Haruskah saya menambahkan kunci asing terpisah dari Items
ke Customers
?
...
constraint ItemsFKCustomers foreign key (customer) references Customers (id)
Sebagai gantinya gambar: haruskah saya menambahkan garis putus-putus / FK?
Sunting: Saya telah menambahkan definisi kunci utama ke tabel. Saya ingin mengulang kembali pada poin yang saya buat di atas: basis data pada dasarnya dibungkam oleh pelanggan, sebagai ukuran kebenaran / keamanan. Oleh karena itu, semua kunci utama berisi customer
ID.