[英]Foreign key references while receiving attributes with the same name
例如,我有兩個實體:
票
法案
人們可以在這兩種付款方式之間進行選擇,但是這兩個實體在PAYMENT實體中都有引用,在這里我收到主鍵: Payment ID 。 但是,如果執行此操作,則無法引用Payment_ID:
外鍵(Payment_ID)引用TICKET(Payment_ID)
因為,如果我收到另一個Payment_ID,則必須參考BILL 。
我在這里可以做什么? 只需使用其他名稱命名主鍵,然后在PAYMENT中將它們設置為“ NULL”?
提前致謝。
你有兩個選擇
而不是兩個表,而只有一個表帶有類型代碼。 (合並Ticket和Bill並創建一個新的列,稱為type。)
解決此問題的另一種方法是制作一個鏈接表。 同樣,您有兩種選擇:
PaymentDetail
-------------
PaymentID
TicketID
BillID
在這種情況下,您要將付款表連接到其他兩個表,並在未使用的表中放入空值。 (請注意,這假設這兩個表將具有一個ID列,並且因為此表的存在而無需為PaymentID設置一列)
要么
PaymentDetail
-------------
PaymentID
PaymentType
在這種情況下,請保留所擁有的列並添加可以是BILL或TICKET之一的類型。 這種方法的好處是,如果您有一筆以上的付款,您只需在此表中放入更多行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.