我正在使用以下设计的数据库。我认为在数据库设计中封闭循环并不是一个好习惯,而且我有不止一个。但我不记得为什么。所以不知道这可能会如何影响我。任何例子这可能是危险的?sql闭环关系;会出现什么问题?
编辑:通过我的电子书去了,发现我正在读为开始数据库设计从入门到精通,出版商:A按。
他们只是警告这一点,但给出一个模糊的原因。不,我们没有使用触发器。任何人有更清楚的解释?
感谢 摘录,第109页:
一个小公司的员工谁了许多不同的 小项目组的每一个工作 。每 所有员工都装在一个 特别是房间较大的房间 住房若干组groups.We可能需要 信息,如每个 员工所在,特定 员工的电话号码,在哪里可以找到 特定组,其中员工 在每个组中工作,谁在每个 房间中,等等。一个可能的数据 模型如图5-7所示。以 时刻为例,了解数据模型 及其包含的信息约 房间中的组数,因此 针对此特定问题。 模型有冗余信息。你可以看到 是什么?
对于例5-3,如果我们 经常要找出雇员 电话号码,我们可能会认为,在图5-7 员工之间的 顶部关系和房间将是一个有用的 直接路线。然而,通过Group的替代路线,这个相同的 信息很容易得到 。 我们可以找到该员工的(仅限一个) 组,然后找到该组的(仅限一个 )空间。这是一个非常简单的 检索(它并不涉及所有 复杂的日期,困扰 例5-2的小宿舍)。 但是,额外的关系不是 只是不必要的,这是危险的。 对于相同的 信息有两条路线,我们冒险得到两个不同的答案 ,除非数据是非常仔细维护的 。每当 员工更改组或 班次时,将会有两个 关系实例进行更新。 不小心更新 程序,我们可以最终不得不 吉姆是在A组,这是在12 室,而其他途径可能 已经吉姆直接与房有关的 15冗余信息,很容易出现矛盾和应该始终将 删除。
你的图片无效。 – 2010-01-11 08:23:37
看不到“以下设计”。你的意思是TableA有FK参考TableB有FK参考TableC有FK参考TableA? – 2010-01-11 08:48:24
固定链接设计URL – devio 2010-01-11 13:22:51