第2章关系数据库基本原理_第1页
第2章关系数据库基本原理_第2页
第2章关系数据库基本原理_第3页
第2章关系数据库基本原理_第4页
第2章关系数据库基本原理_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

第2章关系数据库基本原理

《数据库技术与应用-SQLServer2008》2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.1关系数据库概述2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法关系数据模型就是采用二维表来描述实体及其相互联系的模型,它可能含有很多二维表,它是目前应用最为广泛的一种数据模型。它包括如下三个方面的内容(三要素):数据结构-用二维表数据操作-增、删、改、查完整性约束-规则、默认值、约束、存储过程、触发器。2.1.1关系数据模型关系模式就是一个关系(即二维表)的框架结构,它由关系名和属性名表所组成。例如上面关系的关系模式为:员工表(编号,姓名,性别,婚否,出生日期,职称,基本工资,简历)编号姓名性别婚否出生日期职称基本工资简历23101张伶俐女已婚09/24/56教授138023102罗稼宛男已婚11/27/73讲师56023103黎达仁男未婚12/23/81助教45023104顾高粲男已婚01/27/63副教授97023105黄丹秋女未婚07/15/79助教480员工表2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.1关系数据库概述

2.1关系数据库概述2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法关系数据库就是一些相关的二维表和其他数据库对象的集合,也即是由关系模型所创建的数据库。1.关系一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。2.1.2关系数据库基本概念

2.1关系数据库概述2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法2.元组二维表的每一行在关系中称为元组(Tuple)。一行描述了现实世界中的一个实体,或者描述了不同实体间的一种联系。3.属性二维表的每一列在关系中称为属性(Attribute),每个属性都有一个属性名,各个属性的取值称为属性值。每个属性有一定的取值范围,称为值域。4.关键字关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。关键字又称为键或码(Key)。关键字又分为候选关键字、主关键字(主键)

2.1关系数据库概述2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法5.外部关键字如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,则称此属性或属性组合为本关系的外部关键字或外键(ForeignKey)。在关系数据库中,用外部关键字表示两个表间的联系。

2.1关系数据库概述2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法有坚实的理论基础数据结构简单、易于理解对用户提供了较全面的操作支持得到了众多开发商的支持2.1.3关系数据库基本特征

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法1.集合集合没有严格的形式定义,一般说来,集合是与某一研究过程相关的一类对象的整体,这些对象称为集合的元素。2.元组几个元素组成的一个有序组称为一个元组,通常元组用圆括号括起来的一些元素表示,元素间使用逗号分隔。例如(3,5,6)和(E001,钱达理,男,东风路78号)都是元组。在关系数据库中,可以把一个表的每一行看作一个元组。2.2.1关系的数学定义

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法3.关系设A1、A2、…、An为任意集合,设R={(a1,a2,…,an)|ai∈Ai,i=1,2,…,n},即R是由n维元组组成的集合,其中每个元组的第i个元素ai取自集合Ai,称R为定义在A1、A2、…、An上的一个n元关系,A1、A2、…、An称为R的属性,(a1,a2,…,an)称为R的一个元组。关系是一个集合,其每个元素是一个元组。

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法1.并设A、B同为n元关系,则A、B的并也是一个n元关系,其元组或属于A,或属于B,或既属于A同时也属于B,记作A∪B。2.交设A、B同为n元关系,则A、B的交也是一个n元关系,其元组既属于A同时也属于B,记作A∩B。3.差设A、B同为n元关系,则A、B的差也是一个n元关系,其元组属于A但不属于B,记作A-B。2.2.2关系运算

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法例2-1设A={(湖南,长沙),(河北,石家庄),(陕西,西安)}B={(湖北,武汉),(广东,广州),(广东,深圳),(陕西,西安)}求A∪B、A∩B、A-B。A∪B= {(湖南,长沙),(河北,石家庄),(陕西,西安),(湖北,武汉),(广东,广州),(广东,深圳)}A∩B= {(陕西,西安)}A-B= {(湖南,长沙),(河北,石家庄)}

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法4.集合的笛卡尔乘积设A1、A2、…、An为任意集合,A1、A2、…、An的笛卡尔乘积记做:A1×A2×…×An,并且定义D=A1×A2×…×An={(a1,a2,…,an)|ai∈Ai,i=1,2,…,n},其中(a1,a2,…,an)是一个元组,它的每个元素ai取自对应的集合Ai。例如,设A={1,2},B={a,b},则A×B={(1,a),(1,b),(2,a),(2,b)}。

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法5.连接设A是一个包含m个元组的k1元关系,B是一个包含n个元组的k2元关系,则A、B的连接是一个包含m×n个元组的k1+k2元关系,记作A×B。ABC111222333444555666DEFGaaabbbcccdddeeefffggghhhiiijjjkkkmmmABCDEFG111222333aaabbbcccddd111222333eeefffggghhh111222333iiijjjkkkmmm444555666aaabbbcccddd444555666eeefffggghhh444555666iiijjjkkkmmm关系A关系B关系A×B

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法6.投影设R=R(A1,A2,…,An)是一个n元关系,{i1,i2,…,im}是{1,2,…,n}的一个子集,并且i1<i2<…<im,定义:πA(R)=(Ai1,Ai2,……,Aim)称πA(R)是R在A上的一个投影。ABCDEFG111222333aaabbbcccddd111222333eeefffggghhh111222333iiijjjkkkmmm444555666aaabbbcccddd444555666eeefffggghhh444555666iiijjjkkkmmm关系RABEG111222bbbddd111222fffhhh111222jjjmmm444555bbbddd444555fffhhh444555jjjmmmΠ(A,B,E,G)(R)

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法7.选择设R={(a1,a2,…,an)}是一个n元关系,S是关于(a1,a2,…,an)的一个条件,R中所有满足S条件的元组组成的子关系σS(R),称为R的一个选择。ABEG111222bbbddd222222fffhhh333222jjjmmm444555bbbddd555555fffhhh666555jjjmmm关系RσA>='333'andA<='555'(R)ABEG333222jjjmmm444555bbbddd555555fffhhh

2.2关系代数的基本原理2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法8.除法给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须取自相同的集合。R与S的除法运算的结果是一个只含属性组X的新的关系。定义:R÷S={t|t∈πX(R)且t×πY(S)≤RR}2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法例2-3设关系R和S,表中的第一行是关系名,R、S中的属性组(B,C)取自相同的集合,求R÷S。

关系RABCa1b1c2a2b2c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1关系SBCDb1c2d1b2c1d1b2c3d2

2.2关系代数的基本原理1.先做R在A上的投影,得{a1,a2,a3,a4}2.在做第1步所得的各元素在B,C的像集 a1的像集{(b1,c2),(b2,c3),(b2,c1)} a2的像集{(b2,c7),(b2,c3)} a3的像集{(b4,c6)} a4的像集{(b6,c6)}3.做S在B,C上的投影,得 {(b1,c2),(b2,c1),(b2,c3)}只有a1的像集包含S在B,C上的投影,所以R÷S={(a1)}2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.2关系代数的基本原理

2.4关系模型的完整性约束2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法1.实体完整性所谓实体完整性,就是一个关系模型中的所有元组都是惟一的,没有两个完全相同的元组,也就是一个二维表中没有两个完全相同行,也称为行完整性。2.参照完整性当一个数据表中有外部关键字(即该列是另外一个表的关键字)时,外部关键字列的所有值,都必须出现在其所对应的表中,这就是参照完整性的含义。3.用户定义完整性一是针对关系的一个属性列的,二是针对多个属性的。

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法数据库设计过程一般包括:(1)需求分析(2)概念设计(3)逻辑设计(4)物理设计(5)实施与维护2.5.1数据库设计过程

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法2.5.2E-R模型及其到关系模型的转化

E-R模型关系模型对问题进行分析转化1.独立实体到关系模型的转化一个独立实体转化为一个关系模式(即一张关系表),实体码转化为关系表的关键属性,其他属性转化为关系表的属性,注意根据实际对象属性情况确定关系属性的取值域。

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法学生学号民族籍贯姓名学生(学号,姓名,民族,籍贯)其中下划线标注的属性表示关键字。此联系可以转换为一个独立的关系模式,与该联系相连的各实体的码以及该联系本身的属性均转换为关系的属性,各实体的码均为该关系的侯选码。也可以和任一端对应的关系模式合并,此时在该关系模式中加入另一关系模式的码和联系本身的属性即可。2.联系的转化(1)1:1联系到关系模型的转化2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法经理(姓名,民族,住址,出生年月,电话,名称)公司(名称,注册地,类型,电话,姓名)11经理公司领导姓名住址出生年月电话民族名称电话类型注册地2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法(2)1:n联系到关系模型的转化此联系可以转换为一个独立的关系模式,与该联系相连的各实体的码以及该联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。也可以和n端对应的关系模式合并,将1端的关键字加入作为外部关键字处理即可。2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法1n学生班级属于姓名学号民族出生年月名称班号系年级专业学生(学号,姓名,民族,出生年月,班号)班级(班号,名称,年级,系,专业)2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法(3)m:n联系到关系模型的转化此联系可以转换为一个独立的关系模式,与该联系相连的各实体的码以及该联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法学习mn学生学号姓名出生年月民族课程号课程名学时数课程成绩学生(学号,姓名,民族,出生年月)课程(课程号,课程名,学时数)学习(学号,课程号,成绩)2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法(4)多元联系到关系模型的转化所谓多元联系,即是说该联系涉及两个以上的实体。例如一个课程表,涉及班级、课程、教师、教室等4个实体。例如一个课程表,涉及班级、课程、教师、教室等4个实体。转化时,应建立一个单独的关系表,将该联系所涉及的全部实体的关键字作为该关系表的外部关键字,再加上适当的其他属性,得到关系模式如下:课程表(班号,课程号,教师号,教室号,周次)。(5)自联系到关系模型的转化自联系指同一个实体类中实体间的联系。例如一个公司的所有员工组成的实体类中,员工中存在领导与被领导这样的联系,只要分清两部分实体在联系中的身份,其余的情况与一般二元关系相同。2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法姓名员工号民族基本工资职务住址领导员工员工(员工号,姓名,住址,民族,基本工资,职务)领导(领导员工号,被领导员工号)在领导关系表中,是只反映直接领导关系,还是把非直接领导关系也进行反映,由应用系统的要求确定。2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法

2.5数据库的设计方法

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法1.问题概述2.5.3数据库设计实例

销售公司商品供应商客户采购订单销售订单库存文件

某销售公司业务流程图

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法该系统数据模型包含的数据实体有:(1)供应商(Supplier):为该公司提供商品的公司。(2)商品(Goods):该公司经营的商品。(3)客户(Customer):该公司提供服务的厂家。(4)员工(Employee):该公司的员工。(5)运输商(Transporter):为该公司提供运输服务的公司。(6)销售订单(Sell_Order):该公司与用户签定的销售合同。(7)采购订单(Purchase_Order):该公司与供应商签定的采购合同。

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法员工销售订单商品采购订单供应商运输商客户数据实体之间的关系

2.5数据库的设计方法2.1关系数据库概述2.2关系代数的基本原理2.3关系的规范化理论2.4关系模型的完整性约束2.5数据库的设计方法2.数据实体的E-R图这个实例包含的数据实体较多,联系较复杂,如果用一般的E-R图描述,幅面会比较大,对于这种问题,常常用一种E-R图的变形图来描述。在这种变形图中,实体及其属性用一个矩形框描述,实体名称标注在矩形框的顶部,实体关键字用*标出,并紧跟在实体名称后面,实体属性依次标注。实体间的联系省略菱形框,只用连线,并在连线的两端标注联系类型。

2.5数据

温馨提示

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

评论

0/150

提交评论