一、在关系模型中,字段称为属性,字段值为属性值,记录类型称为关系模式,记录称为元组,元组的集合称为关系或实例,关系中属性的个数称为“元数”,元组的个数称为“基数”。
二、关键码由一个或多个属性组成
1、超键:在关系中能唯一标识元组的属性集称为关系模式的超键。
2、候选键:不含有多余属性的超键称为候选键。
3、主键:用户选作元组标识的候选键称为主键。
4、外键:如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键。
三、关系的定义和性质
关系:是一个属性数目相同的元组的集合。
1、关系中每一个属性值都是不可分解的。
2、关系中不允许出现重复的元组。
3、由于关系是一个集合,因此不考虑元组间的顺序。
4、元组的属性在理论上是无序的。
四、三类完整性规则
1、实体完整性规则:要求关系中元组在组成的主键上不允许空值。
2、参照完整性规则:K是R1中的主键,也是R2中的外键,则K在R2中的取值只能是空值或者R1中的某个主键值,具体取值视情况而定。
3、用户定义的完整性规则:用户可以根据具体的数据约束,设置完整性规则,由系统来检验实施,不再有应用程序承担这份工作。
五、ER模型转换成关系模式算法
1、实体类型的转换:将每个实体类型转换成一个关系模式,实体属性为关系模式的属性,实体标志符为关系模式的键。
2、二元联系类型的转换
①如实体之间的联系为1:1,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。
②如实体间的联系为1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。
③若实体间的联系为M:N,则联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)和联系类型的属性,而键为两段实体键的组合。
3、三元联系类型的转换
①如实体之间的联系为1:1:1,可在三个实体类型转换成关系模式中的任意一个关系模式的属性中加入另外两个关系模式的键(作为外键)和联系类型的属性。
②如实体之间的联系为1:1:N,则在N端实体类型转换成的关系模式中加入两个1端的键(作为外键)和联系的属性。
③如实体之间的联系为1:M:N,则将联系类型也转换成关系模式,其属性为N端和M端的键(作为外键)和联系的属性,而键为M端和N端的组合。
④如实体之间的联系为P:M:N,则将联系类型也转换成关系模式,起属性为三端的键(作为外键)和联系的属性,而键为三端的键的组合。
六、关系数据库的逻辑设计
1、导出初始关系模式集
2、规范化处理
3、模式评价
4、模式修正
5、设计子模式
七、ER模型各种表示方法
1、矩形:实体集
2、双边矩形:弱实体集
3、菱形:联系集
4、双边菱形:弱实体集对应的标识性联系
5、椭圆:属性
6、线段:将属性和实体集连接,或将实体集与联系集连接
7、双椭圆:多值属性
8、虚椭圆:派生属性
9、双线段:表示一个实体全部到联系集中
八、增强型ER模型
1、弱实体:一个实体对另外一个实体具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体中获得,则称该实体为“弱实体”。
2、超类型:当较低层次上实体类型表达了与之联系的较高层次上的实体类型的特殊情况时,就称较高层次上实体类型为超类型,反之为子类型。子类到超类的过程为概化,超类到子类的过程为特化。
①子类与超类之间具有继承特点,即子类包含了超类的所有属性,并且可以比超类拥有更多的属性。
②这种继承性是通过子类实体和超类实体有相同的实体标识符实现的。
3、不相交约束(不相交):约束规定了在特化过程中,子类必须是不相交的,意味着一个实体至多是特化中一个子类的成员,d表示不相交。
重叠:约束规定了在特化的过程中,子类是可以相交的,意味着一个实体可出现在特化的多个子类中,o表示重叠
4、整体特化:约束指定超类中的每个实体必须是特化中的某个子类的一个成员。
部分特化:约束允许超类中的实体可以不属于任意一个子类。
5、对于子类及超类的插入和删除操作
①、从超类删除一个实体意味着该实体被自动的从它隶属于的子类中删除。
②、向超类中插入一个实体意味着该实体被强制地插入到满足这两种约束的子类中。
③、向一个整体特化的超类中插入一个实体,意味着实体被强制地插入到至少一个特化的子类中。