(
课件网) 关系数据库 第2章 目录 01 关系模型 02 关系的码 03 关系的完整性 04 关系代数 本章主要内容 本章主要介绍关系模型及其关系数据库的基本概念,研究关系数据库的一些理论问题,包括关系的完整性与关系运算问题。 关系的码 第2章 02 2.2 关系的码 在特定的关系中,不同属性的地位也不同,有些属性能够唯一地标识关系中的元组,而有些属性则不具备这种功能,能唯一标识元组的属性或属性组称为码,同时,为了更方便地描述关系及关系的操作,关系中又定义了候选码、主码、全码和外码的概念。 2.2.1 候选码 定义:设关系R有n个属性A1,A2,…,An,其属性集K=(Ai,Aj,…,Ak),当且仅当满足唯一性和最小性两个特性时,K被称为候选码(Candidate Key),又称为候选键。 唯一性:关系R的任意两个不同元组,其属性集K的值是不同的。 最小性:组成关系候选码的属性集中,任意一个属性都不能从属性集K中删掉,否则将破坏唯一性的性质。 2.2.2 主码 定义:从多个候选码中选择其中一个作为查询、插入、删除元素的操作变量,被选中的候选码称为主码(Primary Key),又称为主键或主属性。 2.2.3 全码 定义:若关系中所有属性组合在一起才能唯一地标识一个元组,则称该关系的码为全码(All Key)。 2.2.4 外码 定义:给定关系R2的一个或者一组属性X,X不是R2的主码,而是另一个关系R1的主码,则X为关系R2的外码(Foreign Key),又称外键。 此时称R2为参照关系,R1为被参照关系。由外码的定义可知,被参照关系上的主码和参照关系上的外码,其属性值来自同一个域,因此必须定义在同一个域上。 关系的完整性 第2章 03 2.3 关系的完整性 关系的完整性是关系中数据遵循的某种约束规则,也是关系数据库反映现实世界中数据正确语义的要求。在数据库系统整个生命周期中,进行插入、删除和更新等操作时,必须满足完整性约束规则,否则关系数据库中数据的正确性、有效性和一致性将无法得到保证。 关系模型中的完整性主要包含三类:实体完整性、参照完整性和用户自定义完整性。 2.3.1 实体完整性 定义:假设给定关系R,则关系R中必须有主码K,其值必唯一且不能为空。当主码K由多个属性A1,A2,…,An组成时,组成主码K的所有属性均不能部分为空,也不能每个属性均取空。 现实世界中的实体是可区分的,即每个实体都具有唯一标识,这就要求关系中的主码值必须唯一 主码值不能取空,如若主码取空,则说明存在某个不可标识的实体,这与现实世界中实体的可区分性相矛盾。 2.3.2 参照完整性 定义:假设给定属性X2是基本关系R2的外码,它与基本关系R1的主码X1相对应(基本关系R1和R2可以为同一个关系),则R2中每个元组在X2上的取值必须满足以下条件:要么取空值(X2的每个属性值均为空值,不能部分为空);要么取值与关系R1中某个元组的主码的取值相等。 参照完整性就是定义外码和主码之间引用时遵循的约束规则的。 2.3.3 用户自定义完整性 实体完整性和参照完整性是关系模型的内在要求,任何关系数据库都必须支持,而用户自定义完整性是针对具体应用领域的,根据用户的需求来定义的约束条件,它反映了某一具体应用所涉及的数据必须满足的语义要求。 ... ...