




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,关 系 数 据 库,人民银行郑州培训学院 信息部 潘汉杰 2005.10.22,2,关系数据库,关系数据库应用数学方法来处理数据库中的数据。最早将这类方法用于数据处理的是1962年CODASYL发表的“信息代数”,之后在1968年David Child在7090机器上实现的集合论数据结构,但系统地、严格地提出关系模型的是美国IBM公司的E.F.Codd。 关系模型概述 关系数据库系统是支持关系模型的数据库系统。 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。,3,关系数据库,单一的数据结构 关系 在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。 关系操作 关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查询操作和插入(Insert)、删除(Delete)、修改(Update)操作两大部分。 关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a -time)的方式。,4,关系数据库,目前在关系数据库中完成这些操作基本上都是用SQL(Structure Query Language,结构化查询语言)语言完成的。 SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。,5,关系数据库,关系的三类完整性约束 实体完整性 参照完整性 用户定义的完整性 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,由关系数据库系统自动支持。 用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的主义约束。,6,关系数据库,关系数据结构及形式化定义 在关系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关系(表)来表示的。关系模型是建立在集合代数的基础上的,下面从集合论角度给出关系数据结构的形式化定义。 关系 (1)域(Domain) 定义1:域是一组具有相同数据类型的值的集合。,7,关系数据库,(2)笛卡尔积(Cartesian Product) 定义2:给定一组域D1,D2, ,Dn,这些域中可以有相同的。 D1,D2, ,Dn的笛卡尔积为: D1 D2 Dn = (d1,d2, ,dn) | di Di, i=1,2, , n 其中每一个元素(d1,d2, ,dn) 叫作一个n元组或简称元组。 元素中的每一个值di叫作一个分量。 若Di(i=1,2, , n)为有限集,其基数为mi (i=1,2, , n), 则 D1 D2 Dn 的基数M为: 笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。,8,关系数据库,例1:给出三个域: D1=导师集合SUPERVISOR=张清玫,刘逸 D2=专业集合SPECIALITY=计算机,信息 D3=研究生集合POSTGRADUATE=李勇,刘晨,王敏 则D1,D2,D3的笛卡尔积为: D1 D2 D3=(张清玫,计算机,李勇),(张清玫,计算机,刘晨), (张清玫,计算机,王敏), (张清玫,信息,李勇), (张清玫,信息,刘晨), (张清玫,信息,王敏), (刘逸,计算机,李勇),(刘逸,计算机,刘晨), (刘逸,计算机,王敏), (刘逸,信息,李勇), (刘逸,信息,刘晨), (刘逸,信息,王敏) ,9,关系数据库,其中: (张清玫,计算机,李勇),(张清玫,计算机,刘晨)等都 是元组。张清玫,计算机,李勇,刘晨等都是分量。 该笛卡尔积的基数为:2 2 3=12 也就是说, D1 D2 D3一共有 2 2 3=12个元组。 这12个元组可列成一张二维表,如表1所示:,10,表1,11,关系数据库,(3)关系(Relation) 定义3: D1 D2 Dn 的子集叫作在域D1,D2,Dn上的关系,表示为:R( D1,D2,Dn ) 这里R表示关系的名字,n是关系的目或度。 “基数”表示二维表的行数,“目或度”表示二维表的列数。 关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。n目关系必有n个属性。,12,关系数据库,若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。 若一个关系有多个候选码,则选定其中一个为主码(Primary key)。主码的诸属性称为主属性。不包含在任何候选码中的属性称为非码属性。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码。 例如在表1的笛卡尔积中取出一个子集来构造一个关系。由于一个研究生只师从于一个导师,学习某一个专业,所以笛卡尔积中的许多元组是无实际意义的,从中取出有实际意义的元组来构造关系。该关系的名字为SAP,属性名取域名, 即:SUPERVISOR,SPECIALITY,POSTGRADUATE,,13,则这个关系可表示为: SAP( SUPERVISOR , SPECIALITY , POSTGRADUATE ) 假设导师与专业是一对一的,即一个导师只有一个专业;导师与研究生是一对多的,即一个导师可以带多名研究生,而一名研究生只有一个导师。这样SAP关系可以包含三个元组,如表2示:,假设研究生不会重名,则POSTGRADUATE属性的每个值都唯一地标识了一个元素,因此可以作为SAP关系的主码。,14,关系数据库,关系可以有三种类型:基本关系(通常称为基本表或基表) 、查询表和视图。基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。 按照定义2,关系可以是一个无限集合。由于笛卡尔积不满足交换律,所以按照数学定义,( d1,d2, ,dn ) ( d2, d1, ,dn )。当关系作为关系数据模型的数据结构时,需要给予如下的限定和扩充: (1)无限关系在数据库系统中是无意义的。因此,限定关系数据模型中的关系必须是有限集合。,15,(2)通过为关系的每个列附加一个属性名的方法取消关系元组的有序性,即: ( d1,d2, ,dn ) = ( d2, d1, ,dn ) 因此基本关系具有以下六条性质: 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 列的顺序无所谓,即列的次序可以任意交换。 任意两个元组不能完全相同。 行的顺序无所谓,即行的次序可以任意交换。 分量必须取原子值,即每一个分量都必须是不可分的数据项。,16,关系数据库,在许多实际关系数据库产品中,基本表并不完全具有这六条性质,如:Oracle等,允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。 关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件。这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项。规范化的关系简称为范式(Normal Form , NF)。,非规范化关系,张三,计算机,李四,王五,17,关系数据库,关系模式 在数据库中要区分型和值。关系模式是型,关系是值。关系模式是对关系的描述。 关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。 现实世界随着时间在不断变化,因而在不同的时刻,关系模式的关系也会有所变化。但是,现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。这些约束或者通过对属性取值范围的限定,或者通过属性值间的相互关连反映出来。关系模式应当刻划出这些完整性约束条件。,18,关系数据库,定义4:关系的描述称为关系模式,它可以形式化地表示为: R(U,D,dom,F) 其中 R 为关系名,U为组成该关系的属性集合,D为属性组U中属性所来自的域 dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。 关系模式通常记为: R(U) 或 R(A1,A2,An) R为关系名, A1,A2,An为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。,19,关系数据库,关系数据库 在关系模型中,实体以及实体间的联系都是用关系来表示的。在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。 关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。,20,关系数据库,关系的完整性 关系模型的完性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整约束条件,被称作是关系的两个不变性,由关系系统自动支持。 实体完整性(Intity Integrity) 规则1 实体完整性 若属性A是基本关系R的主属性,则属性A不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。,21,关系数据库,对实体完整规则的说明: 实体完整性规则是针对基本关系而言的。 现实世界中的实体是可区分的,即它们具有某种唯一性标识。 相应地,关系模型中以主码作为唯一性标识。 主码中的属性即主属性不能取空值。(空值就是“不知道”或“无意义”) 参照完整性 在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。,22,关系数据库,定义5:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(Foreign key),并称基本关系R为参照关系(Referencing Relation),基本关系S为被参照关系( Referenced Relation )或目标关系。关系R和S不一定是不同的关系。 目标关系S的主码Ks和参照关系的外码F必须定义在同一个域上。 规则2:参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: a)或者取空值(F的每个属性值均为空值); b)或者等于S中某个元组的主码值。,23,关系数据库,参照完整性规则中,R与S可以是同一个关系。 用户定义的完整性 用户定义的完整性就是针对某一具体关系数据库 的约束条件。 关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。 关系代数的运算对象是关系,运算结果亦为关系。,24,关系数据库,专门的关系运算 专门的关系运算包括选择、投影、连接、除等。为了叙述上的方便,先引入几个记号。 设关系模式为 R(A1,A2,An)。它的一个关系设为R, tR 表示t是R的一个元组。tAi则表示元组t中相应属性Ai的一个分量。 若A=Ai1,Ai2, ,Aik,其中Ai1,Ai2, ,Aik 是A1,A2,An中的一部分,则A称为属性列或域列。 R为n目关系,S为m目关系。 trR, tsS, 称为元组的连接。它是一个 n+m 列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。 给定一个关系R(X,Z) , X和Z为属性组。 定义,当tX=x时,x在R中的象集(Images Set)为: Zx = tZ tR , tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。,25,关系数据库,几个常用关系运算的定义: 选择(Selection) 它是在关系R中选择满足条件的诸元组,记作: f(R) = t|tRF(t)=真 其中,F表示选择条件,它是一个逻辑表达式,取逻辑值“真” 或 “假”。 例:设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC,如表3、表4、表5所示:,26,表3 Student,表4 Course,27,表5 SC,例1:查询信息系(IS系)全体学生 Sdept =IS(Student) 或 5 =IS(Student) 其中下标“5”为Sdept的属性号。结果如表6所示。,28,表6,例2:查询年龄小于20岁的学生 Sage 20(Student) 或 4 20(Student) 结果如表7所示。,表7,29,关系数据库, 投影(Projection) 关系R上的投影是从R中选择出若干属性组成新的关系。记作: A(R)= tA|tR 其中A为R中的属性列。 投影操作是从列的角度进行运算。 例3:查询学生的姓名和所在系,即求Student关系在学生姓名和所在系两个属性上的投影。 Sname,sdept(Student) 或 2 , 5(Student) 结果如表8所示,30,表8,例4 查询学生关系Student中都有哪些系,即查询关系 Student在系属性上的投影。 sdept(Student) 结果如表9所示。,表9,Student关系原来有四个元组,而投 影结果取消了重复的IS元组,因此 只有三个元组。,31,关系数据库, 连接(Join) 连接也称为(theta)连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:,其中A和B分别为R和S上度数相等且可比的属性组。 是比较运算符。连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系) 在B属性组上值满足比较关系的元组。,32,关系数据库,连接运算中有两种最为重要也最为常用的连接,一种是等值连接,另一种是自然连接。 为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为:,33,关系数据库,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。即若R和S具有相同的属性组B,则自然连接可记作:,一般的连接操作是从行的角度进行运算。但自然连 接还需要取消重复列,所以是同时从行和列的角度进行 运算。,34,例5 设表10(a)和(b)分别为关系R和关系S, 表10(c)为 的结果。 表10(d)为等值连接 的结果。 表10(e)为自然连接 的结果。,RS CE,R S R.B=S.B,R S,表10 连接运算举例,35,(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁培训课件命题
- 金溪县物业管理办法
- 银行印章章管理办法
- 2025年河南省郑州市第十九中学物理高三第一学期期末联考试题
- 2025年乡镇村干部考试题及答案
- 企业管理安全生产培训班课件
- 特殊教师案件管理办法
- 纪检案件举报管理办法
- 演出经纪公司管理办法
- 特殊兵种枪支管理办法
- 2025年巴州库尔勒市社区工作者招聘笔试试卷
- 农村拆迁转让协议书
- 原发性醛固酮增多症诊断治疗的专家共识(2024版)解读课件
- 新商标法修订解读:知识产权课件-商标法更新
- 钢厂脱硫脱硝工艺流程图
- 2025年五四制部编版道德与法治五年级上册教学计划(含进度表)
- 食品行业标准化管理体系
- 2025年度国家广播电视总局直属事业单位公开招聘310人笔试带答案
- 初中历年会考试卷及答案
- T-CNAS 18-2020 成人住院患者跌倒风险评估及预防
- 系统功能使用说明及教程
评论
0/150
提交评论