[英]Understanding Weak Entities and Weak Relationships
如果我具有以下ERD:
------
|Inv |
---------
1
|
<<contains>>
|
m
--------
-------- ---------
||Line || 1 --- <<has a>> --- 1 | prod |
-------- ----------
--------
如果Line
是一個弱實體,並且contains
並has a
弱關系,那么Line的主鍵會是什么樣?
我一直在網上尋找,我想這將是一個復合主鍵,其中包括:
PK = (ID from line, Primary Key from Inv, Primary Key from Prod)
誰能幫我嗎? 我對嗎? 我哪里出問題了? 等等
我一直在網上尋找,我想這將是一個復合主鍵,其中包括:
PK = (ID from line, Primary Key from Inv, Primary Key from Prod)
否,來自Inv的主鍵和行項目號足以識別表“行”中的行。 如果您要實施進一步的業務需求(每個產品每個發票只能出現一次),則可以對兩列{Inv的值,Prod的值}進行附加的唯一約束。
實際上,我不會在“ Inv” 或 “ Line”中使用自動遞增的id號。 自動遞增ID號可能會留下空白,並且會計師討厭空白。 通過擴展,數據庫人員也討厭這些數字之間的差距。 (我們是因“缺少”行而受到指責的人。)
您還需要注意存儲產品的ID號。 如果產品名稱更改,則所有過去的發票上的名稱都會更改。 這是站在法庭上不利於法官的好方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.