下面给出候选键的形式化定义 设关系R有属性A1,A2,……An,其属性集K=(Ai, A Ak),当且仅当满足下列条件时,K被称为 候选键: 唯一性( Uniqueness:关系R的任意两个不同元组,其属 性集K的值是不同的 2.最小性( Minimally):组成关系键的属性集(Ai, Aj,……Ak)中,任一属性都不能从属性集K中删掉,否则将 破坏唯一性的性质 例如:“学生关系”中的每个学生的学号是唯一的,“选课关 系”中“学号+课程号”的组合也是唯一的。对于属性集“学 号课程号”去掉任一属性,都无法唯一标识选课记录
返回 21 下面给出候选键的形式化定义: ➢ 设关系R有属性A1,A2,……An,其属性集K=(Ai, Aj,……Ak),当且仅当满足下列条件时,K被称为 候选键: 1. 唯一性(Uniqueness):关系R的任意两个不同元组,其属 性集K的值是不同的。 2. 最 小 性 ( Minimally ) : 组 成 关 系 键 的 属 性 集 ( Ai , Aj,……Ak)中,任一属性都不能从属性集K中删掉,否则将 破坏唯一性的性质 ➢ 例如:“学生关系”中的每个学生的学号是唯一的, “选课关 系”中“学号+课程号” 的组合也是唯一的。对于属性集“学 号+课程号” 去掉任一属性,都无法唯一标识选课记录
>如果一个关系中有多个候选键,可以从中选择→个作 为査询、插入或删除元组的操作变量,被选用的候选 键称为主关系键( Primary Key),或简称为主键、主码、 关系键、关键字。 例如,假设在学生关系中没有重名的学生,则“学号”和 “姓名”都可作为学生关系的候选键。如果选定“学号”作 为数据操作的依据,则“学号”为主关系键 主关系键是关系模型中的一个重要概念。每个关系必 需选择一个主关系键,选定以后,不能随意改变。每 个关系必定有且仅有一个主关系键,因为关系的元组 无重复,至少关系的所有属性的组合可作为主关系键, 通常用较小的属性组合作为主关系键
返回 22 ➢ 如果一个关系中有多个候选键,可以从中选择一个作 为查询、插入或删除元组的操作变量,被选用的候选 键称为主关系键(Primary Key),或简称为主键、主码、 关系键、关键字。 ➢ 例如,假设在学生关系中没有重名的学生,则“学号”和 “姓名”都可作为学生关系的候选键。如果选定“学号”作 为数据操作的依据,则“学号”为主关系键。 ➢ 主关系键是关系模型中的一个重要概念。每个关系必 需选择一个主关系键,选定以后,不能随意改变。每 个关系必定有且仅有一个主关系键,因为关系的元组 无重复,至少关系的所有属性的组合可作为主关系键, 通常用较小的属性组合作为主关系键
24.2主属性与非码属性 主属性( Prime Attribute):包含在主码中的的各属 性称为主属性。 非码属性( Non-Prime Attribute):不包含在任何候 选码中的属性称为非码属性。 在最简单的情况下,一个候选码只包含一个属性,如 学生关系中的“学号”,教师关系中的“教师号”。 在最极终端的情况下,所有属性的组合是关系的候选 码,这时称为全码(a-key)
返回 23 2.4.2 主属性与非码属性 ➢ 主属性(Prime Attribute):包含在主码中的的各属 性称为主属性。 ➢ 非码属性(Non-Prime Attribute):不包含在任何候 选码中的属性称为非码属性。 ➢ 在最简单的情况下,一个候选码只包含一个属性,如 学生关系中的“学号” ,教师关系中的“教师号” 。 ➢ 在最极终端的情况下,所有属性的组合是关系的候选 码,这时称为全码(all-key)
下面是一个全码的例子: 假设有教师授课关系TCS,分别有三个属性教师(T)、课程 (C)和学生(S)。一个教师可以讲授多门课程,一门课程可 以为多个教师讲授,同样一个学生可以选听多门课程,一门课 程可以为多个学生选听。 在这种情况下,T,C,S三者之间是多对多关系,(TC,S)三个 属性的组合是关系TCS的候选码,称为全码,T,C,S都是主属性
返回 24 ➢ 下面是一个全码的例子: ➢ 假设有教师授课关系TCS,分别有三个属性教师(T)、课程 (C)和学生(S)。一个教师可以讲授多门课程,一门课程可 以为多个教师讲授,同样一个学生可以选听多门课程,一门课 程可以为多个学生选听。 ➢ 在这种情况下,T,C,S三者之间是多对多关系,(T,C,S)三个 属性的组合是关系TCS的候选码,称为全码,T,C,S都是主属性
243外部关系键 如果关系R2的一个或一组属性X不是R2的主码,而是 另一关系R的主码,则该属性或属性组X称为关系R2 的外部关系键或外码( Foreign key)。并称关系R2为 参照关系( referencing relation,关系R1为被参照关系 (referenced relation) 例2.1假设在图1.12所示的教学数据库中增加一个系别 关系D,包含两个属性系别(DEPT)和地址 (ADDR),“系别”是此关系的主码,而“系别” 并不是学生关系和教师关系的主码,所以“系别”是 学生关系和教师关系的外部关系键
返回 25 2.4.3 外部关系键 ➢ 如果关系R2的一个或一组属性X不是R2的主码,而是 另一关系R1的主码,则该属性或属性组X称为关系R2 的外部关系键或外码(Foreign key)。并称关系R2为 参照关系(referencing relation),关系R1为被参照关系 (referenced relation)。 ➢ 例2.1 假设在图1.12所示的教学数据库中增加一个系别 关 系 D , 包 含 两 个 属 性 系 别 ( DEPT ) 和 地 址 (ADDR), “系别”是此关系的主码,而“系别” 并不是学生关系和教师关系的主码,所以“系别”是 学生关系和教师关系的外部关系键