文库网
ImageVerifierCode 换一换
首页 文库网 > 资源分类 > PPTX文档下载
分享到微信 分享到微博 分享到QQ空间

数据库应用与开发课件第2章.pptx

  • 资源ID:19622078       资源大小:411KB        全文页数:72页
  • 资源格式: PPTX        下载积分:10文币
微信登录下载
快捷下载 游客一键下载
账号登录下载
三方登录下载: QQ登录 微博登录
二维码
扫码关注公众号登录
下载资源需要10文币
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

数据库应用与开发课件第2章.pptx

1、 第第2章章 关系数据库数学模型关系数据库数学模型 主要内容2.1关系数据模型2.2 EER模型到关系模式的转换2.3关系代数2.4关系演算*学习目标 了解关系数据库模型掌握EER模型到关系模式的转换了解关系代数的概念熟练掌握关系演算 导入案例导入案例 关系模型是当前数据库厂商最广泛采用的数据库系统模型,是相对高关系模型是当前数据库厂商最广泛采用的数据库系统模型,是相对高效和安全的。层次模型和网状模型都有各自的缺点。效和安全的。层次模型和网状模型都有各自的缺点。关系模型采取二维表来表示一切实体及其关系,二维表是一个关系集关系模型采取二维表来表示一切实体及其关系,二维表是一个关系集合,以代数的关

2、系运算为理论基础,二维表上的数据操作及完整性约合,以代数的关系运算为理论基础,二维表上的数据操作及完整性约束都可以使用关系代数上的关系运算来描述和推理,是更加科学的,束都可以使用关系代数上的关系运算来描述和推理,是更加科学的,由此也保证了关系数据库的安全、高效、更易推广普及。相对应的关由此也保证了关系数据库的安全、高效、更易推广普及。相对应的关系代数运算还可以更加细致的用以离散数学为理论基础的关系演算来系代数运算还可以更加细致的用以离散数学为理论基础的关系演算来描述,演算语言更加接近于自然语言。接近英语母语的数据库语言描述,演算语言更加接近于自然语言。接近英语母语的数据库语言SQLSQL的设计

3、与实现是在两种语言的基础上诞生的。的设计与实现是在两种语言的基础上诞生的。本章首先介绍关系数据模型及用来描述它的数学概念,之后的本章首先介绍关系数据模型及用来描述它的数学概念,之后的EEREER模模型转化为关系模式介绍了概念模型向关系模式转化的方法,重点介绍型转化为关系模式介绍了概念模型向关系模式转化的方法,重点介绍了关系代数语言,对关系演算语言进行了简单介绍。了关系代数语言,对关系演算语言进行了简单介绍。2.1关系数据模型关系数据模型关系数据模型概述关系数据模型概述关系数据结构及形式化定义关系数据结构及形式化定义关系完整性关系完整性 2.1.1 关系数据模型概述关系数据模型概述关系数据库系统

4、是支持关系模型关系模型的数据库系统。关系数据模型(RDBMS)包含三要素:关系数据结构、关系操作集合、关系完整性约束。关系数据结构:关系数据结构:是单一的数据结构关系。关系是二维表(行列),实体及其联系都用关系表示。在用户看来关系数据的逻辑模型就是一张二维表。关系操作关系操作包括:查询:选择Select;投影Project;连接Join;除Divide;并Union;交Intersection;差Difference;编辑:增加Insert;删除Delete;修改Update;关系数据模型概述(续)关系数据模型概述(续)关系数据模型概述(续)关系数据模型概述(续)描述关系操作的语言有关系代数语

5、言和关系演算语言。关系数据模型概述(续)关系数据模型概述(续)完整性约束完整性约束包括:实体、参照、DBMS保证、用户自定义。特点特点是集合方式(操作对象和结果都是关系元组的集合关系),而非关系完整性约束特点是以记录为操作单位。2.1.2关系数据结构及形式化定义关系数据结构及形式化定义概念1域(Domain):一组具有相同数据类型的值的集合。例:自然数,实数,英文字母。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念 2笛卡尔积(Cartesian Product):给定一组域D1,D2,,Dn,这些域中可以有相同的。则D1,D2,,Dn的笛卡尔积为:D1 x D2 xx Dn

6、=(d1,d2,dn)|diDi,i=1,2,n (d1,d2,dn)-n元组(n-tuple);di-元组的每一分量(Component);Di为有限集时,其基数为mi,则卡积的基数为M=m1*m2*mn。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)【例2.1】:若 A=a,b,B=1,2,3 则A x B=(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)。卡积D1 x D2 xx Dn=(d1,d2,dn)|diDi,i=1,2,n 特性说明:特性说明:1)从每一集合中抽一个元素做组合;(有序)2)卡积没有交换率;3)亦可看成是一个二维表;基数,二维表

7、的行数,集合元素的个数。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念 3关系:D1 x D2 xx Dn的子集叫做在域D1,D2,.Dn上的关系。表示为:R(D1,D2,Dn),其中,R为关系名;n为关系的度或目。关系中的每个元素是关系中的元组,通常用t表示。n=1,单元关系(unary relation);n=2,二元关系(Binary relation)。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)关系为卡积的有限子集,也为二维表,行对应元组,列对应于域。不同的列用不同的名字来区分,称为属性。n目关系有n个属性。例如:R1=(a,1),(b,2),R2=

8、(a,1),(a,2),(b,1),(b,3)。关系是元组的集合,是笛卡尔积的子集。一般来说,一个关系只取笛卡尔积的子集才具有意义。此外,还要对关系的要求进行规范,将没有实际意义的元组排除。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念4候选玛(Candidate key):可唯一标识每一元组的属性(组)。概念5主码(Primary key):候选码中选择其一称为主码。相应属性组为主属性。概念6非码属性(Non-key attribute):不包含在任何候选码中的属性。概念7全码(All-Key):用所有属性来唯一标识表中元组时的候选码。关系性质 1)关系必须是有限集;2)卡

9、积无交换率,通过给属性命名取消元组分量的有序性;a.列同质(homogeneous)-分量同类型;b.不同列可出自同一域;c.列的顺序无所谓d.任意两个元组不能完全相同;e.行的顺序无所谓;f.分量必须取原子值。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念8关系模式(Relation schema):是对关系的描述,关系是元组的集合(属性、域及其映象关系);元组语义(使n目谓词为真的卡积中的元素的全体)。形式化定义:R(U,D,dom,F),元组包括:R,关系名;U,组成关系的属性名的集合;D,为属性组U中属性的域;Dom,为属性向域的映象集合;F,为属性间数据的依赖关系集

10、合。通常简记为:R(U)或R(A1,A2,An)。其中1,A2,An为属性名。D及Dom则直接说明为属性的类型和长度。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)关系与关系模式的关系:关系模式是关系的型,关系是值,二者有时混用,但可从上下文进行区分。关系是关系模式在某一个时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。实际当中,常把关系模式和关系都称为关系。2.1.3关系完整性关系完整性关系的完整性约束条件包括:实体完整性、参照完整性、用户自定义完整性。实体完整性实体完整性(Entity Integrity

11、):若属性A是基本关系R的主属性,则属性A不能为空值;如学生关系中的“学号”属性。参照完整性外码(Foreign key):设F是关系R的非码属性(组)。如果F与关系S的主码K相对应(定义在同一个(组)域上),则称F是关系R的外码。其中,关系R称为:参照关系(Referencing Relation),S为被参照关系(或目标关系)(Referenced Relation)。规则:定义外码与主码之间的引用规则,即外码F取值:可以是空NULL;必须是目标关系中存在的值;表内属性间的参照也要有存在的值。用户自定义完整性用户自定义完整性(User-defined Integrity):反应某一具体应用

12、所涉及的数据必须满足的语意要求。例:性别(男,女),年龄(15-25)。【例2.2】:有以下关系:学生(学号,姓名,年龄,性别,专业号),专业(专业号,专业名),课程(课程号,课程名,学分),选修(学号,课程号,成绩),找出关系完整性。划下划线的为主属性(组)。实体完整性规定基本关系的所有主属性不能取空值。参照完整性规定基本关系的外码取值。如上述学生关系的“专业号”属性与专业关系的主码“专业号”对应,因此“专业号”属性是学生关系的外码。它的取值规定如下:(1)空值:表示尚未给该学生分配专业;(2)非空值 必须是目标关系专业关系中某个元组的“专业号”值。此外,用户还须注意,外码并不一定与目标关系

13、的主码同名;参照关系与目标关系可以是同一个关系。如学生关系(学号,姓 名,性别,年龄,班长)中,“班长”属性的取值情况。2.2 EER模型到关系模式的转换模型到关系模式的转换 实体类型的转换 一对多的二元关系的转换多对多的二元关系的转换实体内部之间联系的转换 三元关系的转换 2.2.1实体类型的转换每种实体型可由一个关系模式来表示。实体类型的属性为关系的属性;实体类型的主键作为关系的主键。eg:学生(学号,姓名,性别,出生年月,入学时间,系)2.2.2 一对多的二元关系的转换一对多的二元关系的转换分析一个1:n 的二元关系 强制性成员:强制性成员:如果一种联系表示实体类型的各种各种实例必须具有

14、这种联系,则说明该实体的成员类在这种联系下是强制性的。图中1:n的“管理”联系表示了一个经理管理许多职工。如果规定每个职工必须有一个管理者,则“职工”中的成员类在联系“管理”中是强制性的。非强制性成员:非强制性成员:图中1:n的“管理”联系中,如果允许存在不用管理者的职工,则“职工”中的成员类在联系“管理”中是非强制性的。一对多的二元关系的转换一对多的二元关系的转换(续续)对于强制性成员类:对于强制性成员类:如果一个实体是某个联系的强制性成员,则在二元关系转化为关系模式的实现方案中要增加一条完整性约束。具体操作为:如果实体类型E2在实体类型E1的n:1联系中是强制性成员,则的E2关系模式中要包

15、含E1的主属性。eg:规定每一项工程必须有一个部门管理,则实体类型Project是联系”Runs”的强制性成员,因而在Project的关系模式中包含部门Department的主属性。即:Project(P#,DName,Title,Start_Date,End_Date,)这里DName既是关系Department的主属性,又是关系Project的外键。一对多的二元关系的转换一对多的二元关系的转换(续续)对于非强制性成员类:对于非强制性成员类:如果一个实体是某个联系的非强制性成员,则通常新建一个分离关系来表示这种联系和属性。具体操作为:如果实体类型E2在与实体类型E1的n:1联系中是一个非强制

16、性的成员,引入一个分离模式来表示联系和属性。分离的关系模式包含E1和E2的主属性。一对多的二元关系的转换一对多的二元关系的转换(续续)eg:图书馆数据库的E-R模型中,有两个实体类型借书者(Borrower)和书(Book)之间的联系如图 借书者和书的E-R关系图 一对多的二元关系的转换一对多的二元关系的转换(续续)分析1:可以转换为以下两个模式:Borrower(B#,Name,Address,)Book(ISBN,B#,Title,)关系Book中的外键B#表明借书者的信息,但图书馆的书很多,可能有许多书没有借出,则B#的值为空。此时,对于不能处理空值的DBMS,会出现问题!一对多的二元关

17、系的转换一对多的二元关系的转换(续续)分析2:为此,本例中引入一个分离关系On_Load(借出的书),可以避免空值的出现。这样,存在以下三个关系模式:Borrower(B#,Name,Address,)Book(ISBN,Title,)On_Load(ISBN,B#,Date1,Date2)只有借出的书才会出现在关系On_Load中,避免空值的出现,并把属性Date1和Date2加到关系On_Load中。2.2.3 多对多的二元关系的转换多对多的二元关系的转换多对多的二元关系:m:n的二元关系通常要引入一个分离关系来表示两个实体类型之间的联系,该关系由两个实体类型的主属性及其联系属性组成。如学

18、生与课程的m:n联系及学生选课的关系转换。多对多的二元关系的转换(续)多对多的二元关系的转换(续)多对多的二元关系的转换(续)多对多的二元关系的转换(续)学生和课程两个实体可以转换为以下两个关系模式:Student(Stu#,Name,Dep,)Cource(Cou#,CName,PreCou#,Tea,)多对多的二元关系的转换(续)多对多的二元关系的转换(续)可以有多个学生选修一门课程,一个学生也要选修多门课程,二者之间不存在唯一的强制关系。分离出一个关系模式On_Choose(选课),这样存在以下三个关系模式:Student(Stu#,Name,Dep,)Cource(Cou#,CName

19、,PreCou#,Tea,)On_Choose(Stu#,Cou#,Score)2.2.4 实体内部之间联系的转换实体内部之间联系的转换当实体本身是一个系统的时候,实体内部之间也是存在联系的。拥有这样实体的系统,一般情况下,将其转化为EER模型。实体内部之间的联系也分为1:1,1:n和m:n三种。实体内部之间联系的转换(续)实体内部之间联系的转换(续)实体内部之间1:1的联系:如非强制性的婚姻关系,可引入一个分离关系。实体内部之间联系的转换(续)实体内部之间联系的转换(续)因此婚姻状况可以分离为男方、女方以及结婚这三个关系模式:Man(MC#,Name,Age,FatherC#,MatherC

20、#)Womon(WC#,Name,Age,FatherC#,MatherC#)Marry(C#,MC#,WC#,)实体内部之间联系的转换(续)实体内部之间联系的转换(续)实体内部之间1:n的联系:如部门实体中职工与管理人员的联系。分强制与非强制联系。这个基本与二元实体之间的1:n关系的转换原则相同。实体内部之间m:n的联系:如某公司的图书角部门,借阅者属性和图书属性之间的关系。一般要引入分离关系。参考二元实体的m:n关系的转换原则。2.2.5 三元关系的转换三元关系的转换三个实体及以上的关系,本质上需要通过要引入多个分离关系将其转化为两两实体的联系。三元关系的转换三元关系的转换(续续)eg:公

21、司、产品和国家之间的m:n:p的三元关系及销售联系 三个实体关系图三个实体关系图 三元关系的转换三元关系的转换(续续)将公司、产品和国家系统转化为关系模式为:公司实体、产品实体、国家实体、生产关系模式和销售关系模式:Product(ProdoctC#,Name,Type,Function,)Company(CompanyC#,Name,Adress,CountryC#,)Country(CountryC#,Name,)On_Production(ProductionC#,CompanyC#,ProdoctC#,Number,ProductDate,)On_Sale(SaleC#,Product

22、C#,CountryC#,Numer,)2.3关系代数关系代数关系代数概述关系代数概述传统的集合运算传统的集合运算专门的关系运算专门的关系运算 2.3.1关系代数概述关系代数概述关系代数的运算符关系代数的运算符集合运算符集合运算符并并U 交交 差差-专门的关系运算符专门的关系运算符 笛卡尔积笛卡尔积 选择选择 投影投影 连接连接除除 算术比较符算术比较符 B根据根据的不同,又分为:的不同,又分为:等值连接:等值连接:A=B 自然连接(自然连接(NJN):):AB为相同属性组,为相同属性组,且去除重复的属性且等值。且去除重复的属性且等值。专门的关系运算(续)专门的关系运算(续)等值连接:等值连接

23、:R S=trts|tr R ts S trA=tsB,其中A和B分别为R和S上度数相等且可比(同域值)的属性组。A=B 专门的关系运算(续)专门的关系运算(续)自然连接(自然连接(National Join NJN):):用R S表示。R S=trts|tr R ts S trA=tsA 集合表示;R S=i1,i2,ip(R.A1=S.A1 R.A2=S.A1 R.AK=S.AK(R S);其中A(A1,A2,AK)是关系R和S的公共属性集;如R为m目,S为n目,公共属性有k个,则p=m+n-k。(去除重复)两个关系必须含有公共属性组A。意义:从笛卡尔积中选择出公共属性值相等的元组集合,构

24、成一个新的关系。结果中把重复的属性列(水平方向)去除。自然连接也可以用(R)NJN(S)表示。【例2.6】:如图2.7(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。专门的关系运算(续)专门的关系运算(续)左连接(左连接(Left Join LJN):):“R左连接S”的结果关系是包括所有来自R的元组和那些连接字段相等处的S的元组。表示为:(R)LJN(S)。右连接(右连接(Right Join RJN):):“R右连接S”的结果关系是包括所有来自S的元组和那些连接字

25、段相等处的R的元组。表示为:(R)RJN(S)。其中关系R和S有相同的属性集合(A1,A2,AK),R.A1=S.A1 R.A2=S.A2 R.AK=S.AK。专门的关系运算(续)专门的关系运算(续)R:A B Ca1 b1 5a1 b2 6a2 b3 8a2 b4 12 S:B Eb1 3b2 7b3 10b3 2b5 2R S:A R.B C S.B Ea1 b1 5 b2 7a1 b1 5 b3 10 a1 b2 6 b2 7a1 b2 6 b3 10a2 b3 8 b3 10 CER S:A R.B C S.B Ea1 b1 5 b1 3a1 b2 6 b2 7a2 b3 8 b3 1

26、0a2 b3 8 b3 2R.B=S.BR S:A B C Ea1 b1 5 3a1 b2 6 7a2 b3 8 10a2 b3 8 2RXS:A R.B C S.B Ea1 b1 5 b1 3a1 b1 5 b2 7a1 b1 5 b3 10a1 b1 5 b3 2a1 b1 5 b5 2a1 b2 6 b1 3a1 b2 6 b2 7a1 b2 6 b3 10a1 b2 6 b3 2a1 b2 6 b5 2a2 b3 8 b1 3a2 b3 8 b2 7a2 b3 8 b3 10 专门的关系运算(续)专门的关系运算(续)除法(除法(Division):):设有关系R(X,Y)和S(Y,Z)

27、,其中X,Y,Z为属性组。R中的Y与S中的Y可以名不同,但必须出自同一域集。R与S的除法运算表示为:W=RS。除法操作的结果产生一个新关系W。W是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记为 W=trX|tr R y(S)Yx,其中Yx为x在R中的象集,x=trX。【例2.7】:已知关系R,S,求RS。专门的关系运算(续)专门的关系运算(续)R:A B Ca1 b1 c2a2 b3 c7a3 b4 c6a1 b2 c3a4 b6 c6a2 b2 c3a1 b2 c1S:B C Db1 c2 d1b2 c1 d1b2 c3 d2R S:Aa1

28、关系R中,A取四个值a1,a2,a3,a4。其中:a1的象集为:(b1,c2),(b2,c3),(b2,c1)a2的象集为:(b3,c7),(b2,c3)a3的象集为:(b4,c6)a4的象集为:(b6,c6)S在(B,C)上的投影为(b1,c2),(b2,c1),(b2,c3),显然只有a1的象集(B,C)a1包含了S在(B,C)属性组上的投影,因此R S=a1 2.4关系演算关系演算*关系演算是关系演算是把数理逻辑中的谓词演算应用到关系的运算。关系演算语言按谓词变元不同分为:元组关系演算和域关系演算。关系演算语言的典型代表是ALPHA 语言。域关系演算语言的典型代表有QBE(Query B

29、y Example)语言。在关系演算中表达关系操纵的几个概念如下所示:谓词(谓词(Vt):例:Taller(Tom,Mike)则Taller为谓词,()中为操纵对象;表达含义Tom is taller than Mike。记号:记号:存在量词:any、存在;全称量词:every、任意,所有。主要内容元组关系演算域关系演算 2.4.1 元组关系演算元组关系演算是以元组变量作为谓词变元的基本对象。元组关系演算语言的典型代表是E.F.Codd提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。元组关系演算表达式:

30、元组关系演算表达式:t|(t)(1)t 表示元组的集合;(2)(t)元组关系演算公式(当其为真时所有元组)。元组关系演算(续)以ALPHA语言为例,元组关系演算语言的格式如下所示:操作语句 工作空间(表达式):操作条件主要语句有:主要语句有:GET,PUT,HOLD,UPDATE,DELETE和和DROP。例:GET W(SC.Cno),含义是无条件查询选修的课程号码。2.4.2域关系演算域关系演算域关系演算是关系演算的另一种形式。域关系演算是以元组变量的分量即域变量作为谓词变元的基本对象。域关系演算语言的典型代表是1975年由IBM公司约克城高级研究试验室的M.M.Zloof提出的QBE语言

31、,该语言于1978年在IBM370上实现。QBE是Query By Example的缩写,也称为示例查询,它是一种很有特色的屏幕编辑语言。域关系演算(续)域关系演算(续)域关系演算表达式:域关系演算表达式:t1 t2 tk|(t1,t2,tk)。(1)ti表示域变量;(2)(t1,t2,tk)元组关系演算公式(所有使其为真那些t1,t2,tk组成的元组集合);域关系演算(续)域关系演算(续)以QBE为例,域关系演算语言的主要操作符如下所示:P.查找、AO.升、DO.降、I.插入、U.更改和D.删除。域关系演算(续)域关系演算(续)QBE语言的特点 使用QBE语言的步骤 小小 结结关系数据库的一些基本概念,其中包括关系模型的数据结构、关系的完整性及其关系操作。EER图如何转换为关系。关系代数包括传统的关系运算和专门的关系运算。关系演算两种关系运算。


注意事项

本文(数据库应用与开发课件第2章.pptx)为本站会员(bubibi)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(点击联系客服),我们立即给予删除!




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

文库网用户QQ群:731843829  微博官方号:文库网官方   知乎号:文库网

Copyright© 2025 文库网 wenkunet.com 网站版权所有世界地图

经营许可证编号:粤ICP备2021046453号   营业执照商标

1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png