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

MySQL中的分层关系数据库设计,mysql,sql,database,relational,Mysql,Sql,Database,Relational,我对SQL和MySQL相当陌生。我正在MySQL中设计一个关系数据库来存储我在网络活动中遇到的各种人的联系信息。我希望使数据库尽可能规范化,但在设计公司、部门和职务之间的层次关系时,我遇到了困难。我仍然只是在纸上设计这个数据库 例如,在金融领域,你可以在摩根大通的投资银行部门工作。该部门有几个子部门,如ECM。ECM内部还有其他子部门。因此,一个人可能是摩根大通>投资银行>ECM>销售>分析师,投资银行、ECM和销售都是彼此的子部门,摩根大通是公司,分析师是工作 但是,对于其他职业,例如自营职业

我对SQL和MySQL相当陌生。我正在MySQL中设计一个关系数据库来存储我在网络活动中遇到的各种人的联系信息。我希望使数据库尽可能规范化,但在设计公司、部门和职务之间的层次关系时,我遇到了困难。我仍然只是在纸上设计这个数据库

例如,在金融领域,你可以在摩根大通的投资银行部门工作。该部门有几个子部门,如ECM。ECM内部还有其他子部门。因此,一个人可能是摩根大通>投资银行>ECM>销售>分析师,投资银行、ECM和销售都是彼此的子部门,摩根大通是公司,分析师是工作

但是,对于其他职业,例如自营职业,工作可能不属于任何部门。因此,自雇业务>自雇业务

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

我的问题是:如何设计数据库的这一部分?我唯一能想到的就是添加几个除法表(TopDivision、SecondDivision、ThirdDivision等),但这看起来既混乱又尴尬。有更好的办法吗


如何设计一个

您可以在divisions表中拥有自引用关系。像这样:

parent\u division\u id
引用了同一表格中的另一行。

Google“非常感谢”