《数据库设计中的误区——连接陷阱》由会员分享,可在线阅读,更多相关《数据库设计中的误区——连接陷阱(6页珍藏版)》请在金锄头文库上搜索。
1、 所谓连接陷阱就是误认为不存在联系的两个实体间存在联系,从而通过这种“联系”获取错误的信息。在实际操作中,关联的设计常常会进入误区。下面介绍两种比较著名的扇形陷阱(Fan Traps)和断层陷阱(Chasm Traps)。 连接陷阱( connection trap )扇形陷阱扇形陷阱:当用模型来表示实体间的联系时 ,某些特殊实体的实例出现间的通路( pathway)是不明确的。 当一个实体与其他实体之间存在二个或更多 的一对多联系时,可能存在扇形陷阱。扇形陷阱instructor, student, course这 三个实体。其中一个 instructor有多个 student,一个 stu
2、dent有多个 course,一个 instructor也有多个 course。这时如果把 关联设计为扇形陷阱 假如我们试图回答这个问题:哪名学生学习了课程 CS101?用当前的结构是不可能给出一个明确的答 案的。不能回答这个问题是因为扇形陷阱的缘故。 通过给ER模型的student实体与course实体间增加 一个study关系,我们可以解决这个问题。断层陷阱定义:实体间应该 存在的关系根本不存在 ,两个实体间并没有办 法找到一条路径来连接 。student, textbook, course三个实体。其中 一个student有多个 textbook,一个student 也有多个course。如果 把关联设计为断层陷阱这就产生了断层陷阱:由于student可 以没有textbook, textbook就不知道是属于哪 个course的了 。