我有桌上的顾客,有桌子的卖家,每个顾客都有许多电话号码,卖家也一样。我决定做一个新的表:电话,有IdTelephone,前缀,号码,IdCustomer或IdSeller,我不知道如何识别它,因为IdCustomer可能与IdSeller相同,如何解决这个问题?Mysql...
发布于 2012-03-16 17:42:10
您可以这样做,其中TelephonePerson包含用于customerId和TelephoneId的可能为空的列;
Customer Table:
Id
*whatever customer details exist*
Seller Table:
ID
*whatever seller details exist*
TelephonePerson:
SellerId
CustomerId
TelephoneId
Telephone:
ID
Phone Number或者,为了避免额外的表,你可以这样做,在你的电话桌上有linkId和PersonTypeId。PersonTypeId指的是卖家或客户,根据这一点,您可以加入到linkId上相应的表中;
Customer Table:
Id
*whatever customer details exist*
Seller Table:
ID
*whatever seller details exist*
Telephone:
ID
Phone Number
LinkId
PersonTypeId发布于 2012-03-16 17:40:15
布尔列卖家或非卖家
发布于 2012-03-16 21:31:02
您使用一个普通的person表对其进行建模,如果该person既是一个客户又是一个卖家,那么他将在这两个表中使用相同的id。他也将仅在与personID关联的电话、地址等中。
Person:
PersonID
*Details common to all people
Customer:
PersonID
*whatever customer details exist*
Sellere:
PersonID
*whatever seller details exist*
TelephonePerson:
PersonId
TelephoneId
Telephone:
PersonID
Phone Number https://stackoverflow.com/questions/9734838
复制相似问题