首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何规划可能具有相同id的数据库?

如何规划可能具有相同id的数据库?
EN

Stack Overflow用户
提问于 2012-03-16 17:38:07
回答 4查看 54关注 0票数 0

我有桌上的顾客,有桌子的卖家,每个顾客都有许多电话号码,卖家也一样。我决定做一个新的表:电话,有IdTelephone,前缀,号码,IdCustomer或IdSeller,我不知道如何识别它,因为IdCustomer可能与IdSeller相同,如何解决这个问题?Mysql...

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-16 17:42:10

您可以这样做,其中TelephonePerson包含用于customerId和TelephoneId的可能为空的列;

代码语言:javascript
复制
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上相应的表中;

代码语言:javascript
复制
Customer Table:
    Id
    *whatever customer details exist*

Seller Table:
    ID
    *whatever seller details exist*

Telephone:
    ID
    Phone Number
    LinkId
    PersonTypeId
票数 1
EN

Stack Overflow用户

发布于 2012-03-16 17:40:15

布尔列卖家或非卖家

票数 1
EN

Stack Overflow用户

发布于 2012-03-16 21:31:02

您使用一个普通的person表对其进行建模,如果该person既是一个客户又是一个卖家,那么他将在这两个表中使用相同的id。他也将仅在与personID关联的电话、地址等中。

代码语言:javascript
复制
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 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9734838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档