Sql 关系数据库:重复键有什么问题吗?
我有一张这样的桌子: ID Prerequisites BCOR100 None BCOR150 BCOR110 BCOR150 BCOR220 BCOR200 None BCOR210 BCOR200 BCOR210 BCOR120 ID先决条件 BCOR100无 BCOR150 BCOR110 BCOR150 BCOR220 BCOR200无 BCOR210 BCOR200 BCOR210 BCOR120 正如您所注意到的,键BCOR150和BCOR210是重复的,这与数据建模原则不一致。我是这个领域的新手,刚刚学习了数据规范化。非常感谢您提供任何额外的提示和信息。除了名为Sql 关系数据库:重复键有什么问题吗?,sql,database,data-modeling,Sql,Database,Data Modeling,我有一张这样的桌子: ID Prerequisites BCOR100 None BCOR150 BCOR110 BCOR150 BCOR220 BCOR200 None BCOR210 BCOR200 BCOR210 BCOR120 ID先决条件 BCOR100无 BCOR150 BCOR110 BCOR150 BCOR220 BCOR200无 BCOR210 BCOR200 BCOR210 BCOR120 正如您所注意到的,键BCOR150和BCOR210是重复的,这与数据建模
id
的列之外,您的数据结构没有任何先验错误
您似乎已经实现了一个连接/关联表。每行定义一个id
的先决条件
因为id
是一个相当模糊的术语,我建议给它一个更容易理解的定义,比如CourseId
。事实上,作为一般规则,我给我的表命名为复数(courses
),主键是单数,附加了id
(courseid
)。如果在表中的行之间重复该值,而它可能是复合键的一部分,根据定义,它不是键
键唯一地标识所涉及的行(实体)。这取决于。如果您的目的是让行的唯一标识符同时包含这两个字段,那么就可以了,因为该集中没有两个字段出现两次。这还取决于此表是否包含定义ID列标识的对象的任何其他属性的数据。如果答案是肯定的,则将该数据集放入自己的表中,在自己的表中定义ID对象,并从新表中引用该表。b或200:MIS简介(3学分)