第2章关系数据库

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.域完整性(Domain Integrity)约束 域完整性是指给定列的输入有效性。 控制域有效性的方法有:限制数据类型(通过数据类型定
义)、格式(通过 CHECK 约束和规则)、可能值的范围。 2.实体完整性(Entity Integrity)约束 若属性A是关系R的主属性,则属性A不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,
候选关键字的各个属性称为主属性。不包含在任何候选关键字 中的属性称为非主属性(非码属性)。最简单的情况是,主码只 有一个属性。在最极端的情况下,由关系模式中的所有属性构 成主码,称为全码(All-Key)。例如,学生关系: student(stuno, stuname, birthday, sex, class),其中的 stuno(学号)就是主码。再比如,导师指导学生的关系 sap(thno, stuno)的主码就是一个全码。
且主属性整体不能取空值。例如,在关系“学生成绩关系 SC(学号, 课程号, 成绩)”中,“学号”和“课程号”为主属 性,则都不能取空值。
2.2 关系模型的完整性
3.参照完整性(Referential Integrity)约束 这条规则要求“不引用不存在的实体”,考虑的是
不同关系之间或同一关系的不同元组之间的制约。参照 完整性的形式定义如下:
如果属性集K是关系模式R的主关键字,K也是关系 模式S的外关键字(关系R和S不一定是不同的关系),那 么在S的关系中,K的取值只有两种可能,或者为空值, 或者等于R关系中某个主关键字的值。
在上述形式定义中,关系模式R称为“参照关系”模 式,关系模式S称为“依赖关系”模式。
2.2 关系模型的完整性
例2-2:学生实体和专业实体可以用下面的关系表示,其 中主码用下划线标识。 学生(学号, 姓名, 性别, 专业号, 年龄) 专业(专业号, 专业名)
本章内容
1Fra Baidu bibliotek
2.1 关系模型
2
2.2 关系模型完整性
3
2.3 关系代数
4
2.4 关系数据库规范化理论
45
2.5 小结
2.1 关系模型
2.1.1 关系模型的基本概念
1.关系及基本术语 在关系模型中,将表格的头一行称为关系框架:是属性
A1,A2,…,AK的有限集合。每个属性Ai对应一个值
Di=d(i=1,2,…,k), 值域可以是任意的非空有限集合或无限 集合。
不同的属性要给予不同的属性名。 列与列之间可以互换位置。 任意两个元组不能完全相同。 行的次序可以任意交换。 分量必需取原子值,即每一个分量都必需是不可分的数据
项。
2.1 关系模型
2.域 域(Domain)指一组具有相同数据类型的值的集合。 如: D1 = {1, 2, 3, 4, 5, 6, …}表示自然数集合; D2 = {男, 女}表示性别集合。 域中数据的个数称为域的基数。所以,D2的 基数为2,D1的基数为无穷。
2.1 关系模型
3.关键字(码)
超关键字(Super Key):在关系中能唯一标识元组的属性集合 称为超关键字,显然,一个关系所有属性的集合为该关系本身 的超关键字。
候选关键字(Candidate Key):如某一属性集合是超关键字, 但去掉其中任一属性后就不再是超关键字了,这样的属性称为 候选关键字。
2.2 关系模型的完整性
为了维护数据库中数据与现实世界的一致性,在关系 模型中加入完整性规则,其中可以有4类完整性约束: 域完整性约束、 实体完整性约束、 参照完整性约束 用户定义完整性约束。
其中域完整性、实体完整性和参照完整性是关系模型 必须满足的约束条件,由关系系统自动支持。
2.2 关系模型的完整性
2.1 关系模型
关系包含以下类型。 (1) 基本表:它是实际存在的表,是实际存
储数据的逻辑表示。 (2) 查询表:它是查询结果对应的表,是一
个虚表,是数据库管理系统执行了查询语 句之后得到的虚关系。 (3) 视图表:它是由基本表或其它视图表导 出的表,是一个虚表。
基本关系的性质 列是同质的,即每一列中的分量是同一类型的数据。 不同的列可出自同一个域,称其中的每一列为一个属性,
每一张表称为该关系框架上的一个具体关系:关系框架R 上的一个关系r[R]是它的属性Ai (j=1,2,…,k)对应的域d(Aj)构
成的笛卡儿空间d(A1)× d(A2)×… d(Ak)中的一个子集。 表中的每一行称为关系的一个元组;每一列称为属性,它
在某个值域上的取值,不同的属性可以在相同的值域上取值。 关系中的属性个数称为“元数”(Arity),元组个数称为“基 数”(Cardinality)。
主关键字(primary key):如果关系中存在多个候选关 键字,用户选作元组标识的一个候选关键字为主关键字。 通常在关系操作时,选用一个主关键字作为插入、删除、 检索元组的操作变量。
合成关键字(composite key):当某个候选关键字包含多 个属性时,则称该候选关键字为合成关键字。
外部关键字(foreign key):如果关系R的某一(些)属 性K不是R的候选关键字,而是另一关系S的候选关键字, 则称K为R的外部关键字。它是两个关系联系的一种非常 重要的方法。
2.1 关系模型
2.1.2 关系模式 定义2.1 关系的描述称为关系模式,形式化表示: R(U, D, dom, F ) 其中R为关系名,U是组成该关系的属性名集合, D是属性组U中属性所来自的域,dom为属性到域的 映像集合,F为属性间数据的依赖关系集合。 通常将关系模式简记为R(A1,A2,…,AK),R为关 系名,A1,A2,…,AK为属性名,并指出主关键码。
2.1 关系模型
例2-1:在学校教学模型中,如果学生的属性S#、SNAME、 AGE、SEX分别表示学生的学号、姓名、年龄和性别;课程 的属性C#、CNAME、TEACHER分别表示课程号、课程名和 任课教师姓名。给出它们的关系模式。
学生关系模式S(S#, SNAME, AGE, SEX) 课程关系模式C(C#, CNAME, TEACHER) 关系模式中带有下划线的属性集为主关键字。
相关文档
最新文档