我目前正在通过MS Access 2003开发数据库,并陷入循环引用问题。基本上,它归结为下列关系三角形(这是我的关系表的简化形式):数据库设计中的循环引用 - 是否应该避免?
Positions
oo oo
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
oo oo
Employees oo -------------------- oo Software,
其中位置,员工和软件是表,并"oo-------...-------oo"
显示器之间的多对多的关系他们。
简而言之,公司中的所有员工都被分配到特定职位(其中一些员工被分配到多个员工),并且有权根据他们的职位使用特定的软件(或多个) 。然而,也有例外情况,除了根据其职位允许的内容之外,还允许一些员工使用少数其他软件包。
问题是,在这种数据库中允许循环关系可以吗?是否有任何解决方法不需要非规范化?
在此先感谢, VS.
谢谢,伙计们。但是,我的初始结构中的循环关系在这里确实是一个问题?拥有它有什么可能的后果?有没有任何算法来分析可能的错误/怪异行为? – user459459 2010-09-27 14:22:40
允许您选择对数据库执行任何操作(在您的情况下为循环引用)“OK”。有没有任何解决方法?...取决于。你是否看过视图?......也许你可以用一些视图来按照你选择的方式来构造数据。 – 2010-09-27 15:26:50
如果您在思考得足够远以便担心糟糕的设计决策带来的后果,那么为什么您仍在使用Access? – Sorpigal 2010-09-27 18:17:17