当前位置:文档之家› 第三章关系数据库

第三章关系数据库

例如: 学生(学号,姓名,性别,专业号,年龄)
7
(3)参照完整性
例1:学生(学号,姓名,性别,专业号,年龄) 参照关系
专业(专业号,专业名) 被参照关系
例2:学生(学号,姓名,性别,专业号,年龄) 被参照关系
课程(课程号,课程名,学分) 被参照关系
选修(学号,课程号,成绩) 参照关系
例3:学生2(学号,姓名,性别,专业号,年龄,班长)
例如:有如下两个域:
人(person)=张清玫,刘逸,李勇,刘晨,王名
3、完整性约束
关系的完整性,即关系中的数据及具有关联
关系的数据间必须遵循的制约和依存关系,以保
证数据的正确性、有效性和相容性。
关系的完整性主要包括域完整性、实体完整 性和参照完整性三种。
(1)域完整性
又称“用户自定义的完整性”,是针对某一
具体关系数据库的约束条件,它反映某一具体应 用所涉及的数据必满足的语义要求。比如对数
定或属性值间的相互关联)。关系模式应当刻画出 这些完整性约束条件。
15
定义4:关系的描述称为关系模式(relation schema)。它可以形式化地表示为R(U,D,DOM,F)其中 R为关系名,U为组成该关系的属性名集合,D为属性 组U中属性所来自的域,DOM为属性向域的映象集合, F为属性间数据的依赖关系集合。
关系模式是对关系的描述。
一个关系需要描述哪些方面呢?
关系模式必须指出这个元组集合的结构,即它由 哪些属性构成,这些属性来自哪些域,以及属性与 域之间的映象关系。
现实世界随着时间在不断地变化,因而在不同的 时刻,关系模式中的关系也会有所变化。但是,现 实世界的许多已有事实限定了关系模式所有可能的 关系必须满足一定的完整性约束条件(属性值的限
2、关系操作
关系操作采用集合操作方式,即操作的对象 和结果都是集合。这种操作方式也称一次一集合
(set-at-a-time)的方式。相反地,非关系数据 模型的数据操作方式则为一次一记录(recordat-a-time)的方式。
关系模型中常用的关系操作包括:选择、投 影、连接、除、并、交、差等查询操作和增、删、
第三章 关 系 数 据 库
数据库原理与应用
1
教学内容
关系数据库目前是各类数据库中最重要、最 流行的数据库。20世纪80年代以来,计算机厂商 推出的数据库管理系统几乎都是关系型数据库, 非关系系统的产品也大都加上了关系接口。
一 关系数据库概述 二 关系数据结构
三 关系代数
四 关系演算
2
一 关系数据库概述
被参照关系
参照关系
定义:设F是关系R的一个或一组属性,但不是关
系R的码(键),如果F与关系S的主码(主键)相对 应,则称F是关系R的外码(外键),并称关系R为参
照关系,关系S为被参照关系。关系R和S不一定是不
同的关系。
8
参照完整性规则:若属性(或属性组)F是 基本关系R的外码,它与基本关系S的主码相对 应,则对于R中每个元组在F上的值必须为:
关系数据库系统是支持关系模型的数据库系
统。关系模型由关系数据结构、关系操作集合和 完整性约束三部分组成。
1、关系数据结构
关系模型的数据结构非常单一,在用户看 来,关系模型中数据的逻辑结构是一张二维表。 但关系模型的这种简单的数据结构能够表达丰富 的语义,描述出现实世界的实体以及实体间的各 种联系。
3
12
例如 设有值域D1(姓名)=[王洪,张江,吴南], D2(性别)=[男,女],D3(年龄)=[28,30], 由这三个值域构成的笛卡尔积D为:
王洪 张江 吴南
13
新关系的势为: M = 3×2×2 = 12 即D有12个元组,从其中取出任意一个子集D’ 就构成了一个关系R:
14
2、关系模式
1、关系
定义1:域(domain)是一组具有相同数据类 型的值的集合。
例如:整数,大于0小于100的整数,实数,长 度小于25字节的字符串集合。
10
定义2:笛卡尔积(cartesian product)给定一组 域D1 ,D2 ,…,Dn , 这些域可以完全不同,也可以部分 或全部相同。 D1 ,D2 ,…,Dn 的笛卡尔积为:
D1 ×D2 ×…×Dn={(d1,d2,…dn)| di∈ Dj,i=1,2, …,n} 其中每一个元素(d1,d2,…dn)叫做一个n元组(ntuple),或简称为元组(tuple)。元素中的每一个 值di叫做一个分量(component)。
11
定义3:关系 D1 ×D2 ×…×Dn 的子集叫作在域 D1 ,D2 ,…,Dn 上的关系,用R(D1 ,D2 ,…,Dn )表示。R表 示关系的名字,n是关系的目或度(degree) 。关系中 的每个元素是关系中的元组,通常用t表示。关系 是笛卡尔积的子集,也是一个二维表,表的每行对 应一个元组,表的每列对应一个域。由于域可以相 同,为了加以区分,必须对每列起一个名字,称为 属性(attribute)。
改操作两大部分。
4
用对关系的运算来表 达查询要求的方式
关系操作
代数方式: 关系代数
SQL
逻辑方式: 关系演算
用谓词来表达查 询要求的方式
将关系看成是元组的集合, 运算从行的角度进行
传统的集合运算
运算涉及行和列
专门的关系运算
谓词变元的基本 对象是元组变量
元组关系演算
域关系演算
谓词变元的基本 对象是域变量 5
或者取空值; 或者等于S中某个元组的主码值;
参照完整性是对关系数据库中建立关联关系 的数据表间数据参照引用的约束,也就是对外键 的约束。准确地说,参照完整性是指关系中的外 键必须是另一个关系的主键有效值,或者是NULL。
9
二 关系数据结构
在关系模型中,无论是实体还是实体之间的联 系均由单一的结构类型即关系(二维表)来表示。 关系是建立在集合代数的基础上的,下面从集合 论角度给出关系数据结构的形式化定义。
据表中字段属性的约束,它包括字段的值域、字 段的类型及字段的有效规则等约束,它是由确定 关系结构时所定义的字段的属性决定的。
6
(2)实体完整性 实体完整性规则:若属性A是基本关系R
的主属性,则属性A不能取空值。 实体完整性是对关系中的记录唯一性,
也就是主键的约束。准确地说,实体完整性 是指关系中的主属性值不能为Null且不能有 相同值。
相关主题