我有以下架构:
id - firstname - lastname - email - address - job
id - 姓名 - 地址 - 网站 - 电子邮件
我需要在两个表中添加电话号码,其中每个实体可以有多个电话号码,每个电话号码由(id - 号码类型 - 国家代码 - 号码)组成。
我应该使用两个表(即SINGLE_CLIENTS_PHONES,COMPANY_CLIENTS_PHONES),只使用一个表(即PHONES)还是应该将它们存储在类似于数组的字符串中?为什么??
答案 0 :(得分:0)
我会把它们放在一张桌子里。这样,只允许一个公司和个人共享的电话号码记录,或者使用您的应用程序中对客户或公司一无所知的电话号码。
使用查找表将每个客户端类型与电话号码相关联,因为这可能是多对多的关系。
答案 1 :(得分:0)
摆脱FOREIGN KEYs。摆脱“电话号码只能属于一个客户(单个客户或公司)”的限制。
但是,只要您有两种类型的客户端,就需要两个Phone表。这将允许“客户”拥有多部电话(传真,移动电话,固定电话等)。这是因为client_id需要在Phone表中,而不是相反。