सरल उदाहरण: ग्राहकों की एक तालिका है।
create table Customers (
id integer,
constraint CustomersPK primary key (id)
)
डेटाबेस में अन्य सभी डेटा को लिंक करना चाहिए Customer
, इसलिए जैसे Orders
दिखता है:
create table Orders (
id integer,
customer integer,
constraint OrdersPK primary key (customer, id),
constraint OrdersFKCustomers foreign key (customer) references Customers (id)
)
मान लीजिए कि अब एक तालिका है 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)
)
मैं से एक अलग विदेशी कुंजी जोड़ना चाहिए Items
करने के लिए Customers
?
...
constraint ItemsFKCustomers foreign key (customer) references Customers (id)
इसके बजाय एक तस्वीर: क्या मुझे धराशायी लाइन / एफके को जोड़ना चाहिए?
संपादित करें: मैंने प्राथमिक कुंजी परिभाषाओं को तालिकाओं में जोड़ा है। मैं ऊपर दिए गए बिंदु पर पुन: पुनरावृति करना चाहता हूं: डेटाबेस को ग्राहकों द्वारा मूल रूप से एक शुद्धता / सुरक्षा उपाय के रूप में चुप कराया जाता है। इसलिए, सभी प्राथमिक कुंजी में customer
ID होती है।