सरल उदाहरण: ग्राहकों की एक तालिका है।
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)
इसके बजाय एक तस्वीर: क्या मुझे धराशायी लाइन / एफके को जोड़ना चाहिए?

संपादित करें: मैंने प्राथमिक कुंजी परिभाषाओं को तालिकाओं में जोड़ा है। मैं ऊपर दिए गए बिंदु पर पुन: पुनरावृति करना चाहता हूं: डेटाबेस को ग्राहकों द्वारा मूल रूप से एक शुद्धता / सुरक्षा उपाय के रूप में चुप कराया जाता है। इसलिए, सभी प्राथमिक कुंजी में customerID होती है।


