数据库表关系设计

时间:2014-12-02 01:21:22

标签: mysql sql database ms-access

我正在尝试写出一个包含以下关系的数据库设计,我试图从上到下,层次结构地进行它们,但是关系似乎更好地连接另一种方式,我只是看不到,或者表达如何。

(这来自工作中的FOUO系统,因此名称已更改以反映该分类,这就是名称可能看起来很奇怪的原因。)

每个分支 1:n 功能区

每个建筑 1:n 群组

每个 1:n 单位

每个 FunctionalArea 1:n 核对清单

每个核对表 1:n 项目

每个单元 1:n 核对清单

通过重新评估关系来解决这个问题,而不用考虑它们将持有的大小或数据类型。 1:n关系用于代替n:n。

2 个答案:

答案 0 :(得分:0)

我使用过的一种简单方法就是为每个配对提供表:分支功能,构建功能,构建组,组单元,单元核对表,核对表项,保持对象和关系分开。

它基本上是元组汤,但保持排序是关系数据库擅长的。访问将在多个表上进行主键连接。您希望数据集增长多大?

限制(100个清单等)是政策。为简单性和性能设计模式,在应用层实现策略。

答案 1 :(得分:0)

在设计数据库时,您需要具体了解关系。例如,您需要提及类似"功能区域只能属于一个分支"。这些将有助于确定我们将要有1:1关系还是1:n或其他。

然而,我想出了一个答案。 see the image