文档介绍:第二章 关系数据库
目录
上一页
下一页
退出
1
本章要点
关系模型概述
关系数据结构及其形式化定义
关系代数
关系演算
思考题
2
关系模型概述
关系数据库是应用数学方法处理数据,实体和实体之间的联系都用“关系”来描述。关系数据库系统是近年来发展最快,应用得也最广泛的数据库系统。
要点
关系数据结构:二维表(逻辑结构)
关系操作:集合操作,非过程化语言
关系代数
关系演算元组
完整性约束: 域
实体完整性
参照完整性
用户定义完整性
3
关系操作
关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式,而非关系型的数据操作方式是一次一记录(Record-at-a-time)
关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的
如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等
要点
4
关系数据语言的特点
一体化
一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。
非过程化
用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成
面向集合的存取方式
操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式
要点
5
抽象的查询语言
关系代数
用对关系的运算来表达查询,需要指明所用操作
关系演算
用谓词来表达查询,只需描述所需信息的特性
元组关系演算
谓词变元的基本对象是元组变量
域关系演算
谓词变元的基本对象是域变量
要点
6
具体系统中的实际语言
SQL
介于关系代数和关系演算之间,由IBM公司在研制System R时提出
QUEL
基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现
QBE
基于域关系演算,由IBM公司研制
要点
7
关系数据结构及形式化定义
域(Domain)
一组值的集合,这组值具有相同的数据类型
如整数的集合、字符串的集合、全体学生的集合
笛卡尔积(Cartesian Product)
一组域D1 , D2 ,…, Dn的笛卡尔积为:
D1×D2×…×Dn = {(d1 , d2 , …, dn) | di∈Di , i=1,…,n}
笛卡尔积的每个元素(d1 , d2 , …, dn)称作一个n-元组(n-tuple)
ponent)
要点
8
笛卡儿积举例
例:设
D1为教师集合(T)= {t1,t2}
D2为学生集合(S)= {s1,s2 ,s3}
D3为课程集合(C)= {c1,c2}
则D1×D2×D3是个三元组集合,元组个数为2×3×2,是所有可能的(教师,学生,课程)元组集合
笛卡尔积可表为二维表的形式
要点
9
元组有序性和基数的计算
元组不是di 的集合,元组中分量是按序排列的,集合中是无序的。
如(a,b,c)(b,c,a)(c,a,b),但{a,b,c}={b,c,a}={c,a,b}
基数:域的可取值个数
如{男,女}这个域的基数是2
若Di的基数为mi,则笛卡尔积的基数为
要点
10