第11章 关系数据库基本原理.ppt_第1页
第11章 关系数据库基本原理.ppt_第2页
第11章 关系数据库基本原理.ppt_第3页
第11章 关系数据库基本原理.ppt_第4页
第11章 关系数据库基本原理.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1,11章关系数据库基本原理,第2章的内容,11.1关系运算11.2关系规范化11.3数据库设计方法,3,11.1关系运算,定义关系数据库基本概念:关系数据库是相关二维表和其他数据库对象的集合。在此定义中,关系数据库中的所有信息都存储在二维表中。关系数据库可以包含多个表。除此二维表外,关系数据库还包含其他对象,例如视图。关系模型的基本概念: 1关系是二维表,通常将没有重复行和重复列的二维表视为一个关系,每个关系都有关系名称。4,2元组二维表中的每一行在关系中称为元组。一行描述了现实世界中的实体或徐璐其他实体之间的关系。3属性二维表格中的每个列在关系中称为属性,每个属性都有一个属性名称,每个属

2、性的值称为属性值。每个属性都有一个值范围,称为值范围。4在关键字关系中,徐璐区分和标识不同元组的属性或属性组合称为该关系的关键字。关键字也称为键或键(键)。如果在5,5外部关键字关系中,一个属性或属性组合不是关键字,但它是另一个关系的主键,则此属性或属性组合称为关系的外部关键字或外键。关系数据库中两个表之间的连接用外部关键字表示。6,关系模型的完整性约束,实体完整性称为实体完整性。也就是说,一个关系模型中的所有元组都是唯一的,没有两个相同的元组。也就是说,二维表没有两个相同的行。也称为行完整性。域完整性域完整性是表中列数据的规范,也称为列完整性,它限制了列的数据类型、格式和范围。引用完整性如果

3、一个数据表包含外部关键字(即该列是另一个表的关键字),则外部关键字列中的所有值都必须出现在该表中。这就是引用完整性的含义。自定义完整性,7,关系的数学定义1集合没有严格的格式定义。集合通常是与研究过程(称为集合的元素)相关联的类对象的整体。由2元组组中的多个元素组成的有序组称为元组,通常由括号括起来的一些元素表示,元素之间用逗号分隔。例如,(3,5,6)和(E001,钱,男人,东风路78号)就是元组的例子。在关系数据库中,可以将表中的每一行视为元组。8,3集的笛卡尔乘积设置为任意集合A1,a2,An,A1,A2,An的笛卡尔乘积记录为A1A2An,并定义了D=A1A2An=(a1,A2,An)

4、例如a=14关系关系是构成元组的元素,而不是组件构成元组的元素。9,关系运算计算二维表的机制。如果将1 A,B设置为N圆关系,则A,B也以N圆关系记录为AB。如果2交集A,B是N圆关系,则A,B的交集也以N圆关系记录为AB。AB包含属于A,B的所有元组。如果三次集A,B是N圆关系,那么A,B的差也是N圆关系,它被记录为A-B。A-B包含属于a但不属于B的所有元组。,10,传统集合运算,和广义笛卡尔乘积,11,1。(Union)、R和S从同一域RS中获取具有相同属性数的相应属性。由属于R或S的元组组成的RS=t|t Rt S、12和R和S具有相同的属性数。该属性来自同一域。RS由同时属于R和S的

5、元组组成。RS=t|t Rt S,14,交点(续),R,S,RS,R S,交点,15,3。差异R和S具有相同的属性数。其属性来自同一个域R-S。由属于R而不是s的所有元组组成。R -S=t|tRtS,16,difference(续),R,S,R -S,R-S,R-S,17,4。广义笛卡尔乘积K2元组RS列:(n m)列的元组集元组的前n列是关系r的元组之一的m列是关系s的元组行。k1k2元组RS=tr ts |tr R tsS,18,广义笛卡尔乘积(续),R,S,例如,通过使用选择运算符(),您可以选择学生关系S中年龄大于19岁的学生。此查询将Sage19(S)查询表达式中的下标 Sage19

6、 提供选择条件,结果可能仅返回满足该条件的元组。21,1。选择(续),22,1。选取(继续),选取运算子指定选取条件来检视关系时,查询结果会建立新关系。这两种关系具有相同的关系模式。新关系是在操纵的关系中满足条件的元组,是操纵的关系的子集。23,1。选择(继续),记录关系R的选择操作:F(R)=t|tRF(t)=true其中F表示选择条件,使用逻辑值“true”或“false”的逻辑表达式选择操作实际上是关系R中的逻辑表达式F,24,2。“投影”(Projection)、“投影”操作()意味着在关系中选取多个列。例如,可以使用投影运算符()查找学生关系S中所有学生的姓名和年龄。此查询可以表示为

7、Sname,Sage(S)查询表达式中下标 Sname,Sage 表示要返回的列的名称,其他列可以表示为从结果关系中删除的表达式。25,2。投影(续),26,2。投影(续),关系r的投影操作记录如下:A(R)=tA | t R其中,a是必须在R中保留的属性组,tA是从元组t生成的新元组。27,2。投影(继续),关系代数表达式的运算结果始终是一种关系。因此,可以合并各种关系表达式以定义新关系。例如,如果要查找19岁以上学生的姓名和年龄,可以合并前面两个查询。表达式如下所示:Sname,Sage(Sage19(S)此查询首先从关系S中选择,然后执行投影。28,3 .连接,连接操作的语义从两个关系的

8、笛卡尔乘积中选择属性之间符合特定条件的元组R S。条件的一般形式为AB、=、=、=、a是关系r的属性或常数,b是关系s的属性或常数,a是逻辑运算符,以及上述一般形式,也可以构成更复杂的条件。29,3。连接(继续),两个公共连接操作(1)对等连接(equijoin)为对等连接时,条件AB中的“”连接操作称为对等连接对等连接。从关系R和S的宽笛卡尔乘积中选择具有相同A,B属性值的元组。什么是自然连接(Natural join)自然连接?自然连接是一种特殊的等效连接。关系R的属性A和关系S的属性B名称必须相同。从结果中删除重复属性列的含义R和S具有相同的属性组B,31,3。具有连接(继续),常规连接

9、操作在行角度执行。自然连接还需要删除列迭代,因此在行和列中都进行了运算。32,3。连接(续),对等连接示例,33,3。连接(续),34,3。要解决连接(继续)、自然连接示例、35,11.2关系标准化、示例插入异常例外数据重复和更新异常、表2-2不良关系模式、36、以上三个问题,必须分解表2-2。表的前三列独立创建表,将提供程序代码指定为关键字,并删除同一行。最后3列独立地引入供应商代码列作为外键,并添加订单日期列。供应商代码和订单日期的组合用作第二个表的关键字。这样处理后,上述异常问题完全解决了。37,函数相关基本概念定义1设置RR(A1、A2、An)记录为关系模式(A1、A2、An是R的属性

10、)、X A1、A2、An、Y A1、A2 XY,38,定义2 R,X,Y设定为定义1。XY为真,但对于X的实际子集X1,X1Y不成立。y整个函数依赖于X。否则,Y部分函数依赖于X。定义3 x、y、z是关系模式r的徐璐另一组属性。XY(如果YX不成立),YZ,x传递决定z,或者z传递函数依赖于x。39,1。主要与非主要属性候选索引属性与索引属性定义4设定关系模式R(A1、A2、AN)、A1、A2、An是R的属性,X是R的属性集。如果X (A1,A2,关系模式R只有一个候选关键字属性,则此唯一候选关键字属性称为关键字属性。否则,必须将多个候选密钥属性之一指定为密钥属性。习惯性地将候选密钥属性称为候

11、选关键字,将密钥属性称为关键字。设置主属性和非主属性定义5设置Ai是关系模式R的属性,如果Ai属于R的候选密钥属性之一,则Ai称为R的主要属性。否则,Ai称为非主属性。40,2。对1范式的关系模式的规范化要求分别从1范式、2范式、3范式、Boyce-Codd范式、4范式、5范式的低级到高级。定义6如果关系模式R的所有属性不能分解为更基本的数据单元,则R满足1范式,简称为1NF。例如,如果员工的关系具有付款属性,薪金由两个更基本的数据要素基本薪金和职位薪金组成,则此员工的关系模式不符合1NF。41,3。2范式定义7如果关系模式R满足1范式,R的所有非主属性完全依赖R的每个候选主属性,那么如果R满

12、足2范式,则简单地表示为2NF。4.3范式定义8是满足1范式条件的关系模式,x是r的所有属性集,如果x不传递依赖于r的候选关键字之一,则r满足3范式,并简要显示为3NF。如果清理关系模式R满足3NF条件,则R必须满足2NF条件。42,5。Boyce-Codd范式定义9将r设置为关系模式,如果r的每个函数依赖项的左侧部分是r的候选关键字,则r满足Boyce-Codd范式,简称为BCNF。BCNF可以证明是比3NF更强大的规格(证明)。也就是说,满足BCNF条件的关系模式必须满足3NF条件,反之则不成立。43,关系分解1。关系模式分解的常见问题,关系模式的分解,是将现有关系徐璐投影到其他属性上,将

13、现有关系分解为两个或多个属性较少的多个关系。2.如果3NF分解(1) R不符合1NF条件,则先分解,以满足1NF。分解r的方法不是使用投影,而是直接分解复合属性,将原始属性替换为分解的基本属性集,从而得到1NF。44,范例2-3分割R(员工编号、姓名、薪资)以符合1NF条件。假设R的薪金属性由基本薪金和职务薪金组成,直接将付款属性替换为属性集(基本薪金、职务薪金),新关系R_NEW(员工编号、姓名、基本薪金、职务薪金),R_NEW满足1NF。(2)如果R符合1NF条件,但不符合2NF条件,则分解R以满足2NF。45,11.3数据库设计方法,数据库设计过程数据库设计过程通常包括:(1)需求分析(2)概念设计(3)逻辑设计(4)物理设计(5)实施和裴珉姬管理,以及将1独立实体转换为关系模型独立实体根据实际对象属性上下文确定关系属性的范围。47,例如,对于图2-3所示的学生实体,学生(学号、名字、民族、国籍)中带下划线的属性表示关键字。图2-3学生实体的E-R图,48,21:1关系模型的转换,图2-4 1:1关系模型的转换,将49,图2-4模型转换为关系模型:经理(名称、民族、地址名称),其中名称和名称分别为“,图2-6M3360N与关系模式的转换有关,图2-6中描述的学生和课程的联系是m:n联系,将E-R图片转换为学生(学编号、名字、民族、出生日期)课程(课程编号)的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论