我是一个新的数据库设计和学习如何设计一个好的数据库。我对下面的场景有点困惑。
现在,我有一个包含客户信息的Excel平面表,如下所示。
一个客户来自一家公司,只属于行业和子行业。我还有一个预定义的Industry
和SubIndustry
表,customer表中记录的值只能从这两个表中获取。
我想把这些表分成三个部分,分别是customer_table
、Industry_table
和Subindustry_table
。显然,Industry_table
和Subindustry_table
具有一对多的关系,即一个行业有多个子行业。就像这样:
但是我不知道如何处理客户、行业和子行业之间的关系。例如,如果我想在系统中添加一个新客户,我可以从industry_table
和subindustry_table
中选择他的行业和子行业,并将它们一起存储到数据库中,如果我搜索一个客户,也可以选择相应的行业和子行业信息。
我的问题是如何设计他们之间的这种关系。
我设计了一个这样的ER图,但很明显,这将失去客户和子行业之间的联系。
发布于 2016-08-30 15:44:01
由于一个SubIndustry
只能是1个行业的一部分,因此在customer
表中添加SubIndustry_id
代替Industry_id
(创建从SubIndustry
到Customer
的1对多,而不是从Industry
到customer
的1对多)更有效,因为它包括行业和子行业
https://stackoverflow.com/questions/39221257
复制相似问题