[英]Database design for one-to-one relationship
我有以下表格:1)事件2)議程3)Registrant_Type 4)費用
關系:事件與議程:一對多(一個事件由零個,一個或多個議程組成;一個議程僅屬於一個事件)
到Registrant_Type的事件:一對多(一個事件由零個,一個或多個注冊者類型組成;一個注冊者類型僅屬於一個事件)
事件收費:一對一(一個事件僅包含一項費用(注冊費))
收費議程:一對一(一個議程僅包含一項費用(議程費用))
Registrant_Type to Fee:一對一(一種注冊人類型僅包含一種費用(注冊費))
如何基於這些關系創建表?
將活動的外鍵放入議程。 將事件的外鍵放在registrant_type中。
對於一對一關系,您有兩個可行的選擇:
這將起作用,但不會強制執行關系必須為1:1而非1:1:1的規則。 如果要執行該規則,則需要在應用程序中或使用觸發器來執行。
因為PK不能具有重復值,所以這將強制建立1:1關系。 您的費用PK可能會自動增加,但是隨后您必須在其他表中手動設置PK,以與費用中的匹配記錄相對應。 如果您不能先將費用添加到數據庫中(例如,如果您先創建事件,然后再決定費用是多少),那么這將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.