我想创建一个数据库。现在我的表中有3列:问题,主题和关键字。 questiosn可以与多个主题和关键字相关联。 这两个中哪一个是正确的ER?
ER 1
ER 2
答案 0 :(得分:1)
第一个毫无疑问,你在第二个中有一些异常。 看着这个可以帮到你:wikipedia - database normalization
答案 1 :(得分:0)
如您的模型所示,ER 2中的属性名称存在问题。Contains.SubjectID
如果要链接到Contains.sID
实体,则应为Subject
。
假设这只是一个错字,并没有立即取消ER 2,这是“正确的”模型?归一化当然很重要,但并不是全部而是最终。正确的数据模型取决于系统要求。例如,使用ER 1,不能在不创建引用那些主题/关键字的问题的情况下将主题链接到一个或多个关键字。有了ER 2,就有可能。
也许ER 1是正确的,因为它更规范,也许ER 2是正确的,因为它更灵活?在不知道要求的情况下,没有尺度可以衡量两种模型,因此没有真正的“正确”模型。