目录
前言
关系数据库简介:
1970年,IBM公司的E.F.Codd提出关系数据模式
1972年,提出了关系的第一、第二、第三范式
1974年,提出了关系的BC范式
80年代后,关系数据库系统成为最重要、最流行的数据库系统
典型实验系统:System R、University INGRES
典型商用下系统:OPACLE、DB2、SYBASE、INGRES
1. 关系
① 单一的数据结构 -- 关系
现实世界的实体以及实体间的各种联系均用关系来表示
② 逻辑结构 -- 二维表
从用户角度,关系模型中数据的逻辑结构是一张二维表
③ 关系模型是建立在集合代数的基础上
(1)域
① 域(Domain)
【定义】域是一组具有相同数据类型的值的集合
【例】整数、实数、介于某个取值范围的整数指定长度的字符串集合:(“男”,“女”)等
(2)笛卡尔积
① 笛卡尔积(Cartesian Product)
【定义】给定一组域 D1,D2,...,Dn,这些域可以是相同的
D1,D2 ,... ,Dn的笛卡尔积为:
D1 x D2 x ... x Dn = {(d1,d2,... ,dn)| d1∈ D1,i = 1,2,...,n}
所有域的所有取值都是一个组合
② 元祖(Tuple)
笛卡尔积中每个元素(d1,d2,...,dn)乘坐一个n元组(n-tuple)或简称元组
③ 分量(component)
笛卡尔积元素(d1,d2,... ,dn)中的每一个值 di 称作一个分量
【例】张清玫、计算机专业、李勇、刘晨等都是分量
④ 基数(Cardina number)
若Di (i = 1,2,... ,n)为有限集,其基数为mi(i = 1,2,... ,n),则 D1 x D2 x Dn 的基数为:
⑤ 笛卡尔积的表示方法:
笛卡尔积可以表示为一个二维表
每一行对应一个元组,每一列对应一个域
【例】 D1 = 导师集合SUPERVISOR = {张清玫,刘逸}
D2 = 专业集合SPECIALITY = {计算机专业,信息专业}
D3 = 研究生集合POSTGRADUATE = {李勇,刘晨,王敏}
D1,D2,Dn的笛卡尔积表示为:
(3) 关系(Relation)
① 关系
D1 x D2 x ... x Dn的子集称做正在域 D1 , D2,... ,Dn上面的关系
表示为R(D1,D2,... ,Dn)
R表示关系名,n表示关系的目或者度(Degree)
② 元组
关系中的每个元素是关系中的元组,通常用 t 来表示
③ 单元关系与二元关系
当 n = 1时,称该关系为单元关系(Unary relation),称为一元关系
当 n = 2时,称该关系为二元关系(Binary relation)
④ 关系的表示
关系也是一个二维表,表中的每行对应一个元组,表的每列对应一个域,一个属性
⑤ 属性
关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(Attribute)
n目关系必有n个属性
⑥ 码
• 候选码(Candiadte key)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
最简单的情况:候选码只包含一个属性
• 全码(All - key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码
• 主码
若一个关系有多个候选码,则选定其中一个为主码
• 主属性
候选码的诸属性称为主属性
• 非主属性
不包含在任何时候候选码中的属性(Non - Prinme attribute)或非码属性(Non - key attribute)
【说明】D1,D2,…,Dn的笛卡尔积的子集不是都有实际含义,只有某个子集才有实际含义
【例】上图中 导师、专业、研究员 的笛卡尔积就没有什么实际意义
取出有实际意义的元组拉构造关系
关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设:导师与专业:1:1, 导师与研究生:1:n
主码:POSTGRADUATE(假设研究生不会重名)
SAP关系可以包含三个元组:{ (张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨),(刘逸,信息专业,王敏) }
⑦ 三类关系
• 基本关系(基本表或基表):实际存在的表,实际存取数据的逻辑表示
• 查询表:查询结果对应的表
• 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存取的数据
⑧ 基本关系的性质
• 列是同质的(Homogeneous)
• 不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名
• 列的顺序无所谓,列的次序可以任意交换
• 任意两个元组的候选码不能相同
• 行的顺序无所谓,行的次序可以任意交换
• 分量必须取原子值,这是规范条件中的最基本的一条
2. 关系模式
(1)什么是关系模式
① 关系模式(Relation Schema)是对关系的描述:关系模式是型,关系是值
② 元组集合的结构:属性构成、属性来自的域、属性与域之间的映象关系
③ 一个关系通常由赋予它的元组语义确定
④ 现实的世界中还存在着完整性约束
(2)定义关系模式
关系模式可以形式化地表示为:R(U,D,DOM,F)
R:关系名
U:组成该关系的属性名集合
D:属性组U中属性所自的域
DOM:属性向域的映象集合
F:属性间的数据依赖】
【例】导师和研究生出自同一个域一人,因此取不同的属性名
并在模式中定义属性向域的映象,既说明它们分别出自那个域
DOM(SUPERVISOR) = DOM(POSTGRADUATE — PERSON = PERSON
(3)关系模式与关系
① 关系模式是静态的、稳定的
② 关系是动态的、随时间不断变化的
③ 关系是关系模式在某一时刻的状态或内容,在实际工作中关系模式和关系往往统称为关系,需 要通过上下文加以区别
3. 关系数据库
(1)关系数据库
在一个给定的应用领域中,所有关系的集合构成一个关系数据库
(2)关系数据库的型与值
① 关系数据库的型:关系数据库模式,对关系数据库的
② 关系数据库模式:若干域的定义,在这些域上定义的若干关系模式
③ 关系数据库的值:关系模式在某一时刻对应关系的集合,简称为关系数据库
4. 关系模式的存储结构
① 有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
② 有的关系数据库管理系统从操作系统那里申请若干个的文件,自己划分文件空间、组织表、索 引等存储结构管理