0

我有兩個實體發票用戶。 發票具有用戶以下關係一對一和一對多關係相同的實體mysql

  1. 發票具有所有者(一個與用戶的一個關係)
  2. 一張發票可以與多個用戶共享,這意味着發票可以有多個共享用戶(一至很多與用戶的關係)

如何在mysql數據庫中映射這些關係?多少桌子?和表結構?

回答

0

發票可能有兩個字段,billed_to和payed_by。您的billed_to字段將是您的一對一關係,payed_by字段將是您的一對多關係。

0

對於一對一的關係,建議不要保留單獨的表格。保留它與發票表本身。

對於一對多關係,請保留另一個映射表。

你的表結構應該是

Users 
---------- 
id | xxx | ..... 

-

Invoices 
------------ 
id | user_id | ..... 
在上述情況下USER_ID

是所有者。

shared_invoices 
------------------- 
id | user_id | invoice_id