若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个 一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计 工具不能识别多对多的关系,但能处理多对多的关系。
在数据库学习中也学到了许多的数据库的规则。一般而言,一个实体不能既无主键又无外键。处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。 主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也 没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体 之间的连接。
主键与外键在多表中的重复出现,不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现,才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。
在进行数据库设计时,都要考虑数据的完整性,一般用约束或者商务规则来实现。约束是数据库设计中使用的概念,它涉及字段的唯一性、关系等等,而商规则则是实际编程中在代码里对能输入的内容进行限制以达到相应的目的。
原文地址:https://www.cnblogs.com/lijunjia/p/9993173.html
时间: 2024-10-10 04:13:49