数据库及其应用数据库2课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库及其应用数据库2课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 及其 应用 课件
- 资源描述:
-
1、2022-12-22喻晓和主讲12022-12-22喻晓和主讲2本章要求本章要求了解关系理论的基本知识。包括:了解关系理论的基本知识。包括:三种常见数据模型名称:三种常见数据模型名称:层次模型、网状层次模型、网状模型、关系模型模型、关系模型。关系数据模型的三个要。关系数据模型的三个要素。素。关系运算关系运算(要求了解投影、选择、一般连(要求了解投影、选择、一般连接和自然连接的含义,对写法不作考试要接和自然连接的含义,对写法不作考试要求)。求)。理解数据完整性的概念,掌握理解数据完整性的概念,掌握三类完整性三类完整性规则规则:实体完整性、参照完整性、用户定:实体完整性、参照完整性、用户定义的完整
2、性(包括域完整性)的定义。义的完整性(包括域完整性)的定义。其他内容不作考试要求。其他内容不作考试要求。2022-12-22喻晓和主讲32.1 数据模型概述数据模型概述数据模型是数据库技术中的重要内容,是DBMS的基础。2.1.1 三种数据模型三种数据模型2022-12-22喻晓和主讲4ABCD哥尼斯堡七桥示意图哥尼斯堡七桥示意图2022-12-22喻晓和主讲51 1。层次模型与网状模型。层次模型与网状模型在E-R模型向层次和网状模型转换时,实体型对应于记录型,实体集对应记录结点。实体间的联系通过复杂的链连接起来。2022-12-22喻晓和主讲62022-12-22喻晓和主讲72022-12-
3、22喻晓和主讲82.2 关系运算关系运算2022-12-22喻晓和主讲92022-12-22喻晓和主讲102022-12-22喻晓和主讲11RS RS RS 图2-1 关系的并、交、差示意图 ABCa1b1c1a2b3c2a2b2c1ABCa2b1c2a1b1c1a2b3c1a1b2c2表表2.12.1:关系:关系R R 表表2.22.2:关系:关系S S 2022-12-22喻晓和主讲12表2.3:RS 表2.4:RS 表2.5:RS ABCa1b1c1a2b3c2a2b2c1a2b1c2a2b3c1a1b2c2ABCa1b1c1ABCa2b3c2a2b2c1【例2-2】若关系SP1、SP2
4、分别是2000年上半年和下半年已销售的商品清单,它们具有相同的关系模式,即(商品编号,商品名,型号,单位,厂家),则:运算 意指全年已销售的商品清单;运算 意指上下半年都有销售的商品清单;运算 意指只在上半年有销售而下半年没有销售的商品清单。2022-12-22喻晓和主讲132.1.2 2.1.2 关系笛卡儿积(关系笛卡儿积(Cartesian ProductCartesian Product)传统的集合运算还包括笛卡儿积运算。关系的笛卡儿积将传统集合运算用在关系中。设有关系R关系的笛卡儿积(Cartesian Product)运算记为,运算结果关系的模式是而。若R的基数为M1,S的基数为M2
5、,则RS基数为M1M2。2022-12-22喻晓和主讲14A1A21123XYZx2y1z2x1y1z1x2y3z3A1A2XYZ11x2y1z211x1y1z111x2y3z323x2y1z223x1y1z123x2y3z32022-12-22喻晓和主讲152.2.3 2.2.3 选择(选择(SelectionSelection)这个运算只有一个运算对象,运算的结果和原关系具有相同的关系模式。在选择运算式中,应首先了解单个条件的基本表示方法是:其中是以下运算符中之一:,。2022-12-22喻晓和主讲162022-12-22喻晓和主讲172022-12-22喻晓和主讲18表2.9:逻辑运算结
6、果图XYNOT XX AND YX OR YTRUETRUEFALSETRUETRUETRUEFALSEFALSEFALSETRUEFALSETRUETRUEFALSETRUEFALSEFALSETRUEFALSEFALSE经验方法经验方法TURE=1 FALSE=0 TURE=1 FALSE=0 AND=AND=OR=+OR=+1+1=1 1 1+1=1 1 1=1 0 1=1 0 1=0 0+1=11=0 0+1=12022-12-22喻晓和主讲19选择运算的表示方法是:选择运算的表示方法是:条件表达式条件表达式(关系名)(关系名)【例2-4】对于关系R(表2.10),求A=“a1”AND
7、 B=1结果见表2.11。表2.10:关系R 表2.11:A=“a1”AND B=1(R)ABCa11c1a23c2a22c1a21c2a23c1a11c2ABCa11c1a11c22022-12-22喻晓和主讲20【例2-5】查询员工关系中工号为“0404”的学习情况,查询所有女业务员的数据。查询运算式分别是:”(员工)2022-12-22喻晓和主讲212022-12-22喻晓和主讲222.2.4 投影(投影(Project)投影投影(Project)运算是在给定关系中指指定若干属性(列)定若干属性(列)。结果关系的属性由投影运算式指定,结果关系中的元组是由原关系中的元组去掉没有指定的属性的
8、分量值后剩下的值组成。2022-12-22喻晓和主讲23由于去掉了一些属性,结果中可能出现相同的元由于去掉了一些属性,结果中可能出现相同的元组,投影运算会去掉结果关系中相重复的元组,组,投影运算会去掉结果关系中相重复的元组,所以所以。运算式中的(属性表)即是投影运算指定的要保留的属性。2022-12-22喻晓和主讲242022-12-22喻晓和主讲25ABCa11c1a23c2a22c1a21c2a23c1a11c2ACa1c1a2c2a2c1a1c2 2022-12-22喻晓和主讲262022-12-22喻晓和主讲272.1.5 2.1.5 连接(连接(JoinJoin)关系的笛卡儿积笛卡儿
9、积可以将两个关系拼接成为一个关系,但将两个关系所有记录不加区分的拼接起来,这样拼接是无意义的,应在拼接时有所选择。于是有了连接运算。连接(连接(JoinJoin)运算是根据给定的连接条件将两个关系中的)运算是根据给定的连接条件将两个关系中的所有元组一一进行比较,所有元组一一进行比较,符合连接条件的元组符合连接条件的元组()组成结果关系。)组成结果关系。结果关系包括两个关系的所有属性。连接的表示方法:关系1 关系2连接条件的方法:其中是关系运算符:,。当有多个连接条件时用逻辑运算符或者连接。2022-12-22喻晓和主讲28【例2-8】对于关系R(表2.14),S(表2.15),求:。ABCa1
10、1c1a23c2a32c1a24c2a13c3BD2d13d24d1AC Da23c22d1a24c22d1a24c23d2a13c32d1表表2.142.14:R R 表表2.152.15:S S 表表2.162.16 2022-12-22喻晓和主讲29由于由于一个关系中不允许属性名相同一个关系中不允许属性名相同,所以在,所以在结果关系中针对相同的属性,在其前面加上结果关系中针对相同的属性,在其前面加上原关系名原关系名前缀前缀“关系名关系名.”.”。在连接条件中使用在连接条件中使用“=”进行相等比较,进行相等比较,这样的连接称为这样的连接称为等值连接等值连接。2022-12-22喻晓和主讲3
11、02.1.6 2.1.6 自然连接(自然连接(Natural JoinNatural Join)等值连接中进行比较的属性是可是不同的属性,但要两个属性可比即可(),等值连接是连接运算中最常见的,然而。自然连接有两个特点:自然连接是将两个关系中相同的属性进行相等比较;结果关系中。自然连接的表示方法:关系1 关系22022-12-22喻晓和主讲31【例2-10】对于关系R(表2.14),S(表2.15),求:R S。结果见表2.17。A AB BC CD Da23c2d2a32c1d1a24c2d1a13c3d2表2.17:R 2022-12-22喻晓和主讲322.3 2.3 数据完整性数据完整性
12、在一个数据库中可包括多多个表个表。一般而言,关系的结构会保持稳定,但关系中的却是的。某些,当一个表的数据进行,是否能则很关键。由于数据是信息系统中最重要的资源,保证数据库中,对数据库而言是的。在数据库输入和存放数据时,要满足三类数据完整性约束规则:实体完整性、参照完整性和用户定义的完实体完整性、参照完整性和用户定义的完整性整性。2022-12-22喻晓和主讲332.2.1 2.2.1 实体完整性规则实体完整性规则主码,能够确定唯一的元组。如表2.18所示学生关系,学号是主码,其中第2个元组的学号为空值(NULL),这样在关系数据库使用时存在问题:由于主码是唯一标识各元组的属性,因此没有学号值意
13、味着存在不可识别的学生元组(实体),这是不允许的。实体完整性规则:定义了主码的关系中,不允许任何元组的主码属性实体完整性规则:定义了主码的关系中,不允许任何元组的主码属性值为空值。值为空值。学号姓名性别生日学院号05102001范小默男82.04.10102nullnull叶盛佳男82.12.0210205204009吴敏女83.04.2020405307021王景男83.11.2330705307025马汉生男82.08.032022-12-22喻晓和主讲34实体完整性规则保证数据库中关系的每个元组(即实体)都是实体完整性规则保证数据库中关系的每个元组(即实体)都是可以区分的可以区分的。2.
14、2.2 2.2.2 参照完整性规则参照完整性规则在的学生关系中,学院号属性存放的是学生所在学院的编号,对应的学院信息存放在学院关系中(表表2.192.19)。学院号为学院关系的主码。,即另一个关系的主码。在学生关系中,对学院号的取值有何要求呢?学院号学院院长102工商管理张建204人文李龙307信息管理杨一飞 2022-12-22喻晓和主讲35这里,。R R和和S S可以是同一个关可以是同一个关系。特殊情况主键和外键在同一表中。系。特殊情况主键和外键在同一表中。已经在某学院注册的学生的学院号的取值一定能在学院号属性找到。2022-12-22喻晓和主讲362022-12-22喻晓和主讲37域完整
15、性规则:用户对于关系中单个属性取值范围定域完整性规则:用户对于关系中单个属性取值范围定义的约束条件。义的约束条件。2022-12-22喻晓和主讲382022-12-22喻晓和主讲392.4 关系规范化关系规范化在数据库中,有多个表,表与表之间关联。常常一个对象的数据分别放在几个表中。若要了解完整的信息就必须对有关联的关系进行自然连接。为何不将这些相关的数据一开始就存放在同表表中呢?答答:将一个系统中的所有数据根据情况存放在不同的关系:将一个系统中的所有数据根据情况存放在不同的关系表中,这是表中,这是关系规范化关系规范化的要求。的要求。在关系规范化理论中,将关系划分为不同的规范层级,并对每一级别
16、规定了不同的判别标准。用来衡量这些层级的概念叫)。级别最低的层级为第一范式,记为1NF。如果有关系R满足1NF的要求,记为。2022-12-22喻晓和主讲402022-12-22喻晓和主讲412022-12-22喻晓和主讲42直接说就是:对于一个直接说就是:对于一个关系关系S,X、Y是是S上的上的两个属性或属性组两个属性或属性组,如果对于,如果对于X的每一个取值,的每一个取值,都有唯一一个确定的都有唯一一个确定的Y值与之对应,则称属性值与之对应,则称属性(组)(组)X函数决定属性(组)函数决定属性(组)Y,或称属性(组),或称属性(组)Y函数依赖于属性(组)函数依赖于属性(组)X。这里,。这里
17、,X是函数依是函数依赖的左部,称为决定因素,赖的左部,称为决定因素,Y是函数依赖的右是函数依赖的右部,称为依赖因素。部,称为依赖因素。2022-12-22喻晓和主讲432022-12-22喻晓和主讲44学号姓名性别生日所在学院院长课程号课程名学分学分成绩01102001范小默男82.04.10工商管理张建102004管理学概论29001102003曾晓女83.10.18 工商管理张建102004管理学概论28001102003曾晓女83.10.18 工商管理张建204002英语67501102003曾晓女83.10.18 工商管理张建307101高等数学59101204009吴敏女83.04.
18、20人文李龙204002英语69501307010张宁女83.04.03信息管理杨一飞307101高等数学58801307010张宁女83.04.03信息管理杨一飞307010程序设计48401307021王景男83.11.23信息管理杨一飞307001计算机原理38601307021王景男83.11.23信息管理杨一飞307010程序设计48201307021王景男83.11.23信息管理杨一飞307101高等数学592 2022-12-22喻晓和主讲452022-12-22喻晓和主讲46说明:根据表2.20的数据可知,学号和学生姓名、所在学院和院长是对应的。但该表的姓名不一定是不同名的,所
19、以,不能得出不能得出,院长院长所在学院所在学院的结论的结论。另外,由于课程名是人们规定的,如果明确规定不同的课程一定不同名,则如果明确规定不同的课程一定不同名,则可以得出:可以得出:课程名课程名课程号课程号。但实际中一般不考。但实际中一般不考虑这样的函数依赖,虑这样的函数依赖,这也是为什么信息处理中要使用编号的主要原因。2022-12-22喻晓和主讲472022-12-22喻晓和主讲48学号学号 姓名姓名 生日生日 所在学院所在学院 院长院长 课程号课程号 课程名课程名 学分学分 成绩成绩2022-12-22喻晓和主讲493函数依赖的分类函数依赖的分类通过分析,()是关系的键键。即由学号和课程
20、号组合后可决定其它的属性。但是,对所有非主属性而言,它们,象姓名、性别等;。这种只依赖于属性组合中的部分属性的情形被称为称为部分函数依赖部分函数依赖。但成绩成绩属性属性则则必须由学号和课程号加在一起必须由学号和课程号加在一起才可以才可以决定决定,这种情形被称为完全函数依赖完全函数依赖。2022-12-22喻晓和主讲50部分函数依赖的定义部分函数依赖的定义:设S是关系模式R(U)上的关系,若在S中有XY,并且有X是X的真子集,XY也成立(即Y只由X中的部分属性决定),则称Y部分函数依赖于X,记为X Y。完全函数依赖的定义完全函数依赖的定义:设S是关系模式R(U)上的关系,若在S中有XY,并且对于
21、X的任意真子集X,XY都不成立(即Y不能由X中的任意的部分属性决定),则称Y完全函数依赖于X,记为X Y。可以看出,如果。2022-12-22喻晓和主讲51再分析学生信息表的依赖情况,可以知道,院长属性实际上并不直接依赖于学号院长属性实际上并不直接依赖于学号,因为一个学院的院长是在学院任职,当一个学生在该学院注册,函数依赖的意思是通过该学生的学号,可以确定他的所在学院的值,从而可以确定院长的值。而假如这个学生不是在这个学院注册,并不影响通过该学院来确定院长的值。因此,说学号决定院长,其实是通过学号确定,通过,这种函数依赖被称为传传递的函数依赖递的函数依赖。2022-12-22喻晓和主讲52传递
22、函数依赖的定义:设传递函数依赖的定义:设S S是关系模式是关系模式R R(U U)上的关系,若在)上的关系,若在S S中有中有XYXY,YZ(YZ(不能是平凡的函数依赖不能是平凡的函数依赖),则,则XZXZ成立,这种函数依赖成立,这种函数依赖被称为传递的函数依赖,记为被称为传递的函数依赖,记为X ZX Z。在学生信息关系中,可以将各种情形的函数依赖表述如下:(学号、课程号)成绩;(学号,课程号)(姓名,性别,生日,所在学院);(学号,课程号)(课程名,学分);所在学院 院长;学号 院 长。当关系中存在非主属性部分或传递依赖于键键时,这样的关系在信息存贮和关系操作中存在许多问题,规范化程规范化程
23、度低。关系规范化就是度低。关系规范化就是通过消去关系中的部分和传递函通过消去关系中的部分和传递函数依赖,来提高关系的范式层级。数依赖,来提高关系的范式层级。2022-12-22喻晓和主讲532.4.2 关系范式关系范式 第一范式(第一范式(1NF1NF)二维表只有符合了。这是二维表称为关系的基本条件,也是的基本要求。定义:如果一个关系定义:如果一个关系R R(U U)的所有属性都是不可分的)的所有属性都是不可分的原子属性,则原子属性,则R1NFR1NF。在任何一个数据库中,不满足1NF的数据库就不是关系数据库,每一列不可再分是必须完成的。同一列中,如有多值,可以通过拆分的方法,将其变成多个单值
24、的属性。2022-12-22喻晓和主讲542022-12-22喻晓和主讲55。如果某个学院刚成立,还没有学生,也就没有学号、课程号等数据,那么在学生信息关系中,该学院的信息不能存入(因为学院信息是附属于学生信息的)。一个关系中,发生应该存入的数据而不能存入,称为数据插入异常。2022-12-22喻晓和主讲562022-12-22喻晓和主讲572.第二范式(第二范式(2NF)要解决只属于1NF的关系的缺陷必须提高关系规范化的程度。要使关系,就要消去1NF关系中非主属性对键的部分函数依赖。采用关系分解的采用关系分解的方法方法,即将一个1NF关系通过通过投影投影运算分解为多运算分解为多个个2NF及以
展开阅读全文