我想写出一个数据库设计包括以下关系,我试图将其从顶部工作了下来,分层,但彼此的关系似乎是更好的连接的另一种方式,我做不到看,或表达如何。数据库表关系的设计
(这是来自一个FOUO系统的工作,所以名称已被更改,以反映分类,这就是为什么名称可能看起来很奇怪。)
每个分公司 1:N 功能区,
每个大厦1:N 组,
每个组1:N 单位,
每个FunctionalArea 1:n的清单,
每个清单 1:n的项目,和
每个单位 1:n的清单和
这可以通过重新评估关系来解决,而不必考虑它们可以容纳的大小或数据类型。 1:n关系被用来代替n:n。
是。如果多对多然后需要'桥接'表 – Strawberry 2014-12-02 01:26:20
如果您不限于关系数据库,像Neo4j这样的图形数据库可以轻松处理。如果您仅限于关系数据库,Strawberry的评论是您的最佳选择。 – JRLambert 2014-12-02 01:31:59
每个功能区域是特定于分支的,还是可以属于多个分支?如果它可以属于多个分支,那么它是一个多对多的分支,你需要一个桥接表。但是,如果某个功能区属于特定分支,则所有需要的都是BranchID作为功能区域表中的外键。通过回答相同问题的每个关系来解决问题,并选择合适的结构。 – Dijkgraaf 2014-12-02 01:59:07