MySQL中的分层关系数据库设计

时间:2014-01-28 00:50:12

标签: mysql sql database relational

我是SQL和MySQL的新手。我正在MySQL中设计一个关系数据库来存储我在网络活动中遇到的各种人的联系信息。我想尽可能地使数据库标准化,但在设计公司,部门和工作标题之间的层次关系时遇到了困难。我仍然只在纸上设计这个数据库。

例如在财务方面,您可以在其投资银行部门为J.P. Morgan工作。这个部门有几个子部门,如ECM。在ECM内部还有其他子部门。因此,一个人可能是J.P.摩根>投资银行业务> ECM>销售>投资银行,ECM和销售的分析师都是彼此的子部门,J.P。Morgan是公司,分析师是工作。

然而,对于其他职业,例如自雇,工作可能不属于任何分工。因此,SelfEmployedBiz>自雇人士。

显然,我的问题是一些工作属于几个细分,而其他工作属于零细分。

我的问题:我如何设计数据库的这一部分?我唯一能想到的就是添加几个分区表(TopDivision,SecondDivision,ThirdDivision等),但这看起来既麻烦又笨拙。还有更好的方法吗?

如何设计

1 个答案:

答案 0 :(得分:1)

您可以在divisions表中拥有自引用关系。像这样:http://schemadeck.com/c3uuhb

parent_division_id引用同一表中的另一行。