![第二章 关系数据库_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/37b9c517-baf7-4e6d-a725-eebae28ba389/37b9c517-baf7-4e6d-a725-eebae28ba3891.gif)
![第二章 关系数据库_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/37b9c517-baf7-4e6d-a725-eebae28ba389/37b9c517-baf7-4e6d-a725-eebae28ba3892.gif)
![第二章 关系数据库_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/37b9c517-baf7-4e6d-a725-eebae28ba389/37b9c517-baf7-4e6d-a725-eebae28ba3893.gif)
![第二章 关系数据库_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/37b9c517-baf7-4e6d-a725-eebae28ba389/37b9c517-baf7-4e6d-a725-eebae28ba3894.gif)
![第二章 关系数据库_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-7/6/37b9c517-baf7-4e6d-a725-eebae28ba389/37b9c517-baf7-4e6d-a725-eebae28ba3895.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关系数据库关系数据库 1.3.1 关系数据模型1.3.2 关系运算1.3.3 关系完整性1.3.4 规范化理论1.1.关系模型的组成:关系模型的组成: 关系数据结构关系数据结构:用单一的二维表结构来表示实体及实体间的联系。 关系操作结合:关系操作结合:选择,投影,连接,并,交,差等,及查询和插入,更新等。 关系的完整性约束:关系的完整性约束:完整性规则是对关系的某种约束,以保证数据库中数据的完整性。 完整性是指数据库中数据的正确性,相容性和一致性。2.2.基本术语基本术语1.关系:二维表2.元组:记录3.属性:字段4.域:属性取值范围5.码:实体间相互区别的唯一标识。一个实体中至少存在一个码,
2、也可以存在两个或多个码。如:实体中能作为码的属性可能是一个属性,也可能是一组属性。(联系实体)6.主属性:在实体中能作为码的属性称为主属性,否则称为非主属性。7.候选码:若关系中的一个属性组的值能够唯一地标识一个元组,则称做候选码。8.主码:一个关系中往往有多个候选码,若选定其中一个用来唯一标识该关系的元组,则称这个被指定的候选码为主码。6.外码:在本表不是关键字,但是在另外表中是关键字或者候选关键字。3.关系中不能有完全相同的元组2.同一个关系不能有相同的属性名4.关系中元组和属性的排列次序无关紧要 职称职称教师编号教师编号教师信息表教师信息表教师工资表教师工资表津贴津贴奖金奖金基本基本工资
3、工资教师教师编号编号1.关系必须规范化二.关系的特点1.3.2 1.3.2 关关系运算系运算传统的集合运算传统的集合运算 并(Union) 交(Intersection) 差(Difference) 广义笛卡尔积(Extended Cartesian Product) 专门的关系运算专门的关系运算 选择(Select) 投影(Project) 连接(Join) 除(Divide)有关的数据操作有关的数据操作 查询(Query) 插入(Insert) 删除(Delete) 修改(Update) 一.传统的集合运算 进行并并、差差、交交集合运算的两个关系必须具有相同的关系模式,即相同结构RSRS
4、1.1.并集:并集:RS2.2.差集:差集:R-S RS3.3.交集:交集:RS 1.3.2 1.3.2 关系运算关系运算笛卡儿积定义:设D1,D2,Dn为任意集合,定义D1,D2,Dn的笛卡儿积为:其中每一个元素(d1,d2,dn)叫作一个n元组,简称元组,元组中每一个di叫作元组的一个分量。关系的形式定义:笛卡儿积D1D2 Dn的任意一个子集称为D1,D2, Dn上的一个n元关系。, 1,| ),(2121niDddddDDDiinn4.4.笛卡尔积笛卡尔积集合的广义笛卡尔积运算集合的广义笛卡尔积运算设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积
5、RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作: ,|SsRrrsSR例如:假设集合R=a,b,集合S=0,1,2,则两个集合的笛卡尔积为:(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)。二.专门的关系运算1.选择:从一个关系中找出满足给定条件的元组(记录)的操作成为选择2.投影:从一个关系中指定若干属性(字段)组成新的关系称为投影3.联接:将两个关系拼接成一个更宽的关系,生成的新关系中包含满足联接条件的元组。4.自然联接:去掉重复属性的等值联接。按照字段值对应相等为条件进行的联接操作称为等值联接。v选择运算选择运算是从行的角度进行的运算,是从行的角度进行
6、的运算,即从指定的关系即从指定的关系R R中选取满足某个逻中选取满足某个逻辑条件辑条件F F的元组,这些元组再组成一的元组,这些元组再组成一个新的关系。个新的关系。v 选择运算表示为:其中R是关系名,是选择运算符,F是逻辑表达式。|)(FRrrRF选择运算举例:选择运算举例:职工号职工号=E3=E3( (订购单订购单) )订购单关系订购单关系 从订购单关系中选择职工号为从订购单关系中选择职工号为“E3”E3”的元组构成新的关系的元组构成新的关系v投影操作主要是从列列的角度进行运算,该关系分两步产生一个新关系:1)选择指定的属性,形成一个可能含有重复行的表格;2)删除重复行,形成新的关系。投影运
7、算表示为投影运算表示为|.)(RrArRA 其中R是关系名,是投影运算符,A是被投影的属性或属性集。投影运算举例:投影运算举例:订购单关系订购单关系 选取职工号和供应商选取职工号和供应商号两列构成新的关系号两列构成新的关系职工号,供应商号职工号,供应商号(订购单订购单)选择和投影运算举例:选择和投影运算举例: 从订购单关系中,选取出从订购单关系中,选取出职工号为职工号为E3E3的所经手的订购的所经手的订购单号和与之相关的供应商号。单号和与之相关的供应商号。订购单关系订购单关系供应商号,订购单号供应商号,订购单号( (职工号职工号=E3=E3( (订购单订购单) 连接运算连接运算是两个表之间的运
8、算,这两个表通常是具有一对是两个表之间的运算,这两个表通常是具有一对多联系的父子关系。所以连接过程一般是由参照关系的外多联系的父子关系。所以连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为通常也称为连接属性连接属性。 v自然连接还需要取消重复列,所以是同时从行和列的角度自然连接还需要取消重复列,所以是同时从行和列的角度进行运算进行运算 ABRS连接运算的概念连接运算的概念连接运算是将满足两个表之间运算关系的记录连接成一条记录,所有这样的记录构成新的表(连接运算的结果)。连接运算可以表示为:|jijiBjA
9、iBASBRArsSR 这里Ai是R中的属性,Bj是S中的属性,是关系(比较)运算符,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。 自然连接自然连接 在连接运算中最常用的连接是自然连接。自然连接运算一般表示为 : | 中全体不重复的属性是rsXBsArXrsSRji 其中其中A Ai i和和B Bj j要出自同一个值域,并且在实际应用中这两个属要出自同一个值域,并且在实际应用中这两个属性往往具有相同的属性名。性往往具有相同的属性名。 自然连接做了三件事:自然连接做了三件事:计算广义笛卡尔积RS ;选择满足条件r
10、Ai=sBj的所有元组;去掉重复的属性。自然连接的例子自然连接的例子仓库号城市面积WH1北京370WH2上海500WH3广州200WH5合肥130仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E61230WH1E71250仓库号城市面积职工号工资WH2上海500E11220WH1北京370E31210WH2上海500E41250WH3广州200E61230WH1北京370E71250注意:注意:为了使一个关系中的任一元组都参加自然连接,该元组的连接属性(字段)值必须出现在另一个参加连接的关系中;连接陷阱问题;一般在实际应用中可以父无子,而不可以子无父,否则将破坏参
11、照数据完整性。注意注意 自然连接和等值连接很相象,但它们不同,自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。综合运算实例综合运算实例 根据以上关系求出在上海工作的职工的工资值都有哪些根据以上关系求出在上海工作的职工的工资值都有哪些? ?仓库号城市面积WH1北京370WH2上海500WH3广州200WH5合肥130仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E61230WH1E71250仓库职工(仓库)上海城市1R职工12RR)(工资23RR关系代数语句为:关系代数语句为:查询过程示意查询过程示意选择运算选择运算自然连接运算自然连接运算投影投影运算运
12、算1.3.3 1.3.3 关系模型的完整性约束关系模型的完整性约束 实体完整性规则参照完整性规则用户定义完整性完整性约束的作用 关系的两个不变性关系的两个不变性实体完整性规则实体完整性规则 实体完整性规则的具体内容是:若属性A是关系R的主属性,则属性A不可以为空值。 实体完整性是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。 现实世界的实体是可区分的,它们具有某种唯一性标识。 关系模型中的以主码作为唯一标识。 主属性不能取空值。 参照完整性规则参照完整性规则参照完整性规则就是定义外码与主码之间的引用规则。参照完整性也是关系模型必须满足的完整性约束条件,是关系的另一个不变性。通过一
13、个例子来说明什么是参照完整性 参照关系和被参照关系的定义参照关系和被参照关系的定义 设F是关系R的一个属性或属性组,但不是关系R的关键字,另外有主关键字为K的关系S。如果关系R的属性或属性组F与关系S的主关键字K相对应,则称F是关系R的外部关键字,并称关系R是参照关系、S是被参照关系(或目标关系)。关系R和S可以是同一个关系。 例P4参照完整性规则参照完整性规则 如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为: 或者取空值(F的每个属性均为空值); 或者等于S中某个元组的主关键字的值。用户定义完整性用户定义完整性
14、 一种与应用密切相关的数据完整性约束,如 某个属性的值必须唯一 某个属性的取值必须在某个范围内 某些属性值之间应该满足一定的函数关系等 类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,所以在用户定义完整性中最常见的是域完整性约束。 完整性约束的作用完整性约束的作用 执行插入操作时检查完整性 执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。 执行删除操作时检查完整性 执行删除操作时一般只需要检查参照完整性规则。 执行更新操作时检查完整性 执行更新操作可以看作是先删除旧的
15、元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。 1.3.4 1.3.4 规范化理论规范化理论范式的概念:规范化是数据库设计中的一个重要过程:一个低一个低级范式的关系模式通过分解(投影)方法可以转换成多个高级范式的关系模式通过分解(投影)方法可以转换成多个高一级范式的关系模式的集合一级范式的关系模式的集合。E.F.Codd在1971年系统的提出了规范化理论,他和后来的研究人员为数据库结构定义了五种规范化模式,简称范式。规范化的优点: 大大减少了数据冗余 改进了数据库整体组织 增强了数据的一致性 增加了数据库设计的灵活性前面讲过的完整性约束主要对域值域值(关系表中列值
16、)进行限制和规范,现在要讲的范式,主要是对域(列)之间的关系域(列)之间的关系,特别是非主键与主键之间的依赖关系进行约束、规范。本书中只介绍第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)。这4种范式,这对于绝大多数数据库来说已经足够了。1.3.4 1.3.4 规范化理论规范化理论 第一范式第一范式(1NF1NF) 第一范式规定表的每个列(属性)都是不可再分的最小数据单位。这一属性是由基本数据类型构成的,包括整型,字符串,浮点型等。换句话说第一范式要求数据库中所有表都是二维表。在任何一个数据库中,第一范式都是一个最基本的要求。1.3.4 1.3.4 规范化理论规范
17、化理论第二范式第二范式(2NF2NF)定义:数据库表中不存在非关键字段对任)定义:数据库表中不存在非关键字段对任一候选字段部分函数依赖一候选字段部分函数依赖部分函数依赖是指存在着组合关键字中的某一关键字决定部分函数依赖是指存在着组合关键字中的某一关键字决定非关键之段的情况非关键之段的情况 第二范式有两项要求: (1)所有表必须符合第一范式; (2)表中每一个非主键列都必须完全函数完全函数依赖于任意一个候选码。 1.3.4 1.3.4 规范化理论规范化理论1.3.4 1.3.4 规范化理论规范化理论1.3.4 1.3.4 规范化理论规范化理论1.3.4 1.3.4 规范化理论规范化理论第三范式第
18、三范式是在第二范式的基础之上定义的,如果数据表中不是在第二范式的基础之上定义的,如果数据表中不存在存在非关键字段对任意候选关键字段的传递函数依赖非关键字段对任意候选关键字段的传递函数依赖则符合则符合第三范式。第三范式。第三范式有两项要求:(1)所有表必须符合第二范式。(2)表中每一个非主键列对主键都不存在传递依赖,而应是直接依赖。传递依赖的存在与违背第二范式一样,也将会导致插入、删除、更新、冗余等问题。表中出现上述问题的原因是对主键依赖的传递。解决的方法同样是在遵守无损分解的条件下,将表分解成多个表,从而消除传递依赖的情况。1.3.4 1.3.4 规范化理论规范化理论1.3.4 1.3.4 规范化理论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商场泔水清运专项服务合同
- 二零二五年度宝石匠人珠宝店珠宝行业法律咨询合同
- 厨卫改造工程合同样本
- 旅游规划与设计行业智能化旅游目的地打造方案
- 电子通讯网络工程指南
- 职业病诊断与鉴定作业指导书
- 三农产品流通体系国际化与走出去战略作业指导书
- 三农田灌溉管理方案
- 多应用临时借款合同常用
- 房产归男方无债务离婚协议书
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 2024年认证行业法律法规及认证基础知识 CCAA年度确认 试题与答案
- 2022届“一本、二本临界生”动员大会(2023.5)
- 肝脏炎性假瘤的影像学表现培训课件
- 国家行政机关公文格式课件
- 耐压绝缘硅橡胶涂料喷涂作业指导书
- 小学《体育与健康》 人教版 三年级 乒乓球运动 -乒乓球介绍与球性教学 第一节课PPT 课件
- 急性心梗的护理业务学习课件
- 导向标识系统设计(二)课件
- 聚焦:如何推进教育治理体系和治理能力现代化
- 化工仪表自动化【第四章】自动控制仪表
评论
0/150
提交评论