数据库系统的数据模型幻灯片.ppt

上传人:石*** 文档编号:87563282 上传时间:2023-04-16 格式:PPT 页数:67 大小:6.02MB
返回 下载 相关 举报
数据库系统的数据模型幻灯片.ppt_第1页
第1页 / 共67页
数据库系统的数据模型幻灯片.ppt_第2页
第2页 / 共67页
点击查看更多>>
资源描述

《数据库系统的数据模型幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库系统的数据模型幻灯片.ppt(67页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库系统的数据模型第1页,共67页,编辑于2022年,星期六 本章主要内容本章将着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。(1)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。(2)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。第2页,共67页,编辑于2022年,星期六数据库系统的数据模型1.1 数据模型概述1.2 概念模型 1.3 层

2、次数据模型 1.4 网状数据模型 1.5 关系数据模型 1.6 面向对象数据模型本章小结 第3页,共67页,编辑于2022年,星期六1.1数据模型概述 数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。现实世界中的客观对象抽象为概念模型;然后把概念模型转换为DBMS支持的数据模型。其转换过程如右图。数据模型的分类:概念数据模型(又称概念模型)逻辑数据模型(又称数据模型)现实世界现实世界概念数据模型:信息世界概念数据模型:信息世界逻辑数据模型:逻辑数据模型:DBMS支持的数据模型支持的数据模型认识抽象认识抽象转换转换第4页,共67页,编辑于2022年,星

3、期六1.2 概念模型 1.2.1 基本概念1.2.2 ER图 1.2.3 扩充ER数据模型第5页,共67页,编辑于2022年,星期六1.2.1基本概念ER数据模型(即Entity-Relationship data model,实体联系数据模型)是P.Chen(Peter Pin-Shan Chen)于1976年提出的一种语义数据模型。E-R数据模型不同于传统数据模型,它不是面向实现,而是面向现实世界。1)实体(Entity)实体是客观存在的且可以区别的事物。2)联系(Relationship)实体与实体间的关系抽象为联系。(1)二元联系只有两个实体参与的联系称为二元联系。在二元联系中,ER数

4、据模型又把联系区分为一对一(1:1)、一对多(1:n)、和多对多(m:n)三种。第6页,共67页,编辑于2022年,星期六数据联系的描述(1:1)联系实实体集体集E1 实实体集体集E2座位座位E1乘客乘客E2 实实体集体集E1 实实体集体集E2E1E2车间车间工人工人实实体集体集E1 实实体集体集E2E1E2学生学生课课程程(1:n)联系(m:n)联系第7页,共67页,编辑于2022年,星期六多元联系与自反联系(2)多元联系 在ER数据模型中,二元联系这种表示方法还可推广到多元联系,即参与联系的实体个数n3。例如,三元联系也可区分1:1:1、1:1:p、1:n:p、m:n:p等联系。(3)自反

5、联系表示同一个实体集两部分实体之间的联系,是一种特殊的二元联系。这两部分实体之间的联系也可以区分为1:1、1:n和m:n三种。例如,在“人”这个实体集中存在夫妻之间的1:1联系;教师实体集中为了描述领导与被领导关系,可用1:n联系描述;在课程实体集中存在一门课程与另外一门或几门课程之间的预选课联系。第8页,共67页,编辑于2022年,星期六3)属性实体或联系所具有的特征称为属性。实体是由特征来表征和区分的,通常一个实体可以由多个属性来描述。例如,学生具有姓名、学号等属性。n一个实体可以有若干个属性,但在数据库设计中通常只选择部分数据管理需要的属性。n属性往往是不可再细分的原子属性,如姓名、性别

6、等。n属性有型和值的区别。例 如,学 生 实 体 中 的 学 号、姓 名 等 属 性 名 是 属 性 型,而“021231142”、“李定”等具体数据称为属性值。n每个属性值都有一定的变化范围,通常称属性取值的变化范围为属性值的域。例如,性别属性域是男、女,年龄属性域是1200。n能唯一标识实体集中某一实体的属性或属性组称为实体集的标识关键字或称关键字。第9页,共67页,编辑于2022年,星期六1.2.2ER图 ER图是ER数据模型的图形表示法,是一种直观表示现实世界的有力工具,目前E-R图已用于数据库的概念设计。ER图的表示方法实体集名实体集名联系联系属性属性上述提到的几种联系的ER简图如下

7、:系部系部聘任聘任教师教师1n教师教师教学教学学生学生mn教师教师领导领导1n课程课程预选预选mn校长校长负责负责学校学校11二元联系ER简图人人夫妻夫妻11自反联系ER简图第10页,共67页,编辑于2022年,星期六(2)画出实体集及联系的属性 用无向边把属性框连向与其相关的实体集或联系。例如学校和教师实体集间存在聘任联系,联系有“聘任日期”属性,则一个描述学校和教师实体集及其联系的ER图如下图所示。学校学校聘任聘任学校代码学校代码学校名称学校名称地址地址聘任日期聘任日期教师教师教师代码教师代码教师姓名教师姓名性别性别职称职称1n第11页,共67页,编辑于2022年,星期六1.2.3 扩充E

8、R数据模型1)依赖联系和弱实体集 在现实世界中,某些实体集间还存在一种特殊的联系依赖联系。例如,在人事管理数据库中存放的职工实体集及其家庭成员实体集,前者以后者的存在为前提,家庭成员实体集依赖于职工实体集。这种依赖另一个实体集的存在而存在的实体集称为弱实体集,它们与其他实体集间的联系称为依赖联系,如右图所示。职工职工成员成员家庭情况家庭情况1n第12页,共67页,编辑于2022年,星期六2)子类和超类 为了进一步描述一个实体集中某些实体的不同特征,从该实体集中取出一部分实体构成一个(或多个)新的实体集,称这个新实体集是原实体集的子类,而原实体集是新实体集的超类。例如,一个系部的职工实体集,为区

9、分他们不同的工作特点,可分为教师、教辅人员及管理人员三个子类实体集。其EER数据模型实例如下图所示。职工职工职工代码职工代码职工姓名职工姓名性别性别教师教师学校团体学校团体行政级别行政级别年龄年龄教辅人员教辅人员管理人员管理人员第13页,共67页,编辑于2022年,星期六3)聚集 在EER数据模型中,将联系视为参与联系的实体集组合而成新实体集,其属性为参与联系的实体的属性和联系的属性的并。这种新实体集称为聚集。这样联系也能以聚集的形式参与联系。下图是应用聚集的例子。科研项目科研项目单位编码单位编码教师代码教师代码系名系名教师教师合同号合同号聘任日期聘任日期姓名姓名系部系部聘任聘任承担承担聚聚集

10、集第14页,共67页,编辑于2022年,星期六4)范畴 在描述现实世界时,有时要用到不同类型的实体组成的实体集,引入了范畴这一抽象概念。设E1、E2、En是n个不同类型的实体集,则范畴T可定义为:其中:E1、E2、En称为T的超实体集。例如,“银行账户”这个实体集的成员可能是单位,也可能是个人。单位名单位名姓名姓名法人代表法人代表个人个人身份证号身份证号单位单位地点地点地址地址银行银行账号账号开户开户账户账户mn第15页,共67页,编辑于2022年,星期六几个ER事例部门ER 第16页,共67页,编辑于2022年,星期六医院病房管理ER 第17页,共67页,编辑于2022年,星期六图1学生选课

11、的局部ER图图2教师任课的局部ER图系系第18页,共67页,编辑于2022年,星期六教师教师属于属于讲授讲授1mnm图3合并的全局ER图系系学生学生课程课程开课开课选修选修拥有拥有1mmn1m第19页,共67页,编辑于2022年,星期六1.3 层次数据模型 层次模型是按照层次结构的形式组织数据库数据的数据模型,即用树型结构表示实体集与实体集之间的联系。其中用结点表示实体集,结点之间联系的基本方式是1:n。1)记录和字段 记录是用来描述某个事物或事物间关系的命名的数据单位,也是存储的数据单位。它包含若干字段。每个字段也是命名的,字段只能是简单的数据类型,例如整数、实数、字符串等。计算机系计算机系

12、9李远李远科技大楼科技大楼系系系名系名系号系号系主任名系主任名地点地点图(a)记录的型图(b)记录的一个实例例如:图(a)是一个名为系的记录。图(b)是其一个实例。第20页,共67页,编辑于2022年,星期六2)双亲子女关系(简称PCR)这是层次数据模型中最基本的数据关系。它代表了两个记录型之间一对多关系(1:n)。例如,一个系有多个班,就构成了如图(a)所示的双亲子女关系(即PCR型),在“1”方的记录型称为双亲记录,在“n”方的记录型称为子女记录。图(b)是其一个实例。计算机系计算机系计科计科0201班班计科计科0202班班计教计教0201班班系系班班1n(a)PCR型 (b)一个PCR实

13、例第21页,共67页,编辑于2022年,星期六3)层次数据模式 利用PCR可以构成层次数据模式。右图是一个层次数据模式的例子。下图是层次数据模式的一个实例。系系班班教研室教研室学生学生教师教师 计算机系计算机系计科计科0201班班计科计科0202班班张三张三李四李四王五王五李定李定计教计教0201班班赵山赵山周英周英硬件教研室硬件教研室孙立孙立钱敏钱敏软件教研室软件教研室胡恒胡恒丁伟丁伟层次数据模式是一棵树,其数据结构特点为:在每棵树仅有根结点无双亲。除根结点外的任何结点有且有一个双亲结点,但可以有任意个子女结点。树中无子女的结点称为叶结点。第22页,共67页,编辑于2022年,星期六4)层次

14、序列和层次路径(1)层次序列由于存储器是线性的,层次数据模型采用树的先序遍历的次序(即从上向下、自左到右)作为存储次序。这样所生成的序列称为层次序列。上例中的层次数据模式的实例的层次序列如下图所示。计计算算机机系系计计科科0201班班张张三三李李四四计计科科0202班班王王五五计计教教0201班班周周英英硬硬件件教教研研室室孙孙立立钱钱敏敏软软件件教教研研室室胡胡恒恒丁丁伟伟(2)层次路径层次路径是用来指明从层次数据模式的根结点到目标结点的一条查询路径,通常用从根结点到目标结点路径上每个记录值的排序关键字表示。计算机系计算机系计科计科0201班班计科计科0202班班张三张三李四李四王五王五李定

15、李定计教计教0201班班赵山赵山周英周英硬件教研室硬件教研室孙立孙立钱敏钱敏软件教研室软件教研室胡恒胡恒丁伟丁伟第23页,共67页,编辑于2022年,星期六1.4 网状数据模型为了克服层次模型结构描述非层次型事物的局限,20世纪60年代末美国CODASYL委员会提出了网状数据模型。1)记录与数据项(DataItems)与层次数据模型类似,在网状数据模型中,也是以记录为数据的存储单位。记录包含若干数据项,数据项相当于字段。但与层次数据模型中的字段不同,网状数据模型中的数据项不一定是简单的数据类型,也可以是多值的和复合的数据。2)系(Set)在网状数据模型中,数据间的联系用系表示。系代表了两记录之

16、间的1:n联系,系用一条弧表示,箭头指向“n”方。“1”方的记录称首记录,“n”方的记录称属记录。右图是简单网状结构的例子。简单的网状结构简单的网状结构班级班级学生学生1社团社团nS11S2n第24页,共67页,编辑于2022年,星期六3)系型(1)单属系型由主记录型和单一的属记录组成。例如班级记录型和学生记录型组成的班级学生系是单属系型。班级班级学生学生计科计科0201班班张三张三李四李四王杰王杰例如,在学校中有教师和职工,他们有不同的记录结构可形成两个记录类型。当建立一个学校教职工系型时,可将教师记录型和职工记录型作为学校的两个属记录型。如右图。多属系型多属系型教师教师学校学校职工职工(2

17、)多属系型该系型中包含三个以上记录型,其中一个为首记录型,其余为属记录型。(3)奇异系型这是一种只有属记录型而无首记录型的一种特殊系型。一个单位的所有部门可以组成一个无首记录型的奇异系型。部门部门第25页,共67页,编辑于2022年,星期六4)联系记录 但对于二元m:n联系、和多元m:n:p联系也不能直接用系来表示,而是采用联系记录这个辅助数据结构,来将实体集间的m:n联系转换成两个1:n联系。例如学生记录与课程记录之间的m:n联系可通过引入联系记录学生选课记录,将其转换为两个1:n联系。如下图所示。学生学生课程课程1m学生选课学生选课SL1nCL张三张三李四李四C语言语言网络安全网络安全选课

18、选课1选课选课2选课选课3选课选课4SL数据库数据库SLCLCLCL学生学生课程课程mnm:n联系 型 值第26页,共67页,编辑于2022年,星期六 由于网状数据模型中规定,一个记录型不能在一个系中既作为系的首记录又作为系的属记录,即系不能直接用来表示一个记录型的自身联系。我们通常可采用增加联系记录的方法来解决。例如,职工间的领导关系可以表示成一个环,如图(a)所示,增加一个联系记录型领导记录,该记录存放领导职务等信息,从而形成两个系类型S1、S2,如图(b)所示。(a)(b)环结构的表示环结构的表示职工职工1:n领导领导1:1职工职工领导领导1:nS1S2第27页,共67页,编辑于2022

19、年,星期六1.5 关系数据模型 1.5.1基本概念1.5.2关系数据模型的数据结构1.5.3数据操作1.5.4数据约束1.5.5关系数据模型的优缺点第28页,共67页,编辑于2022年,星期六1.5.1 基本概念 1)属性和域在现实世界中,要描述一个事物,常常取其若干特征来表示。这些特征称为属性。例如,大学生可用姓名、学号、性别、系别等属性来描述。每个属性对应一个值的集合,作为其可以取值的范围,称为属性的域。例如姓名的域是所有合法姓名的集合;性别的域是男,女等。2)关系和元组一个对象可以用一个或多个关系来表示。关系就是定义在它的所有属性域上的多元关系。设为R,它有属性A1、A2、An,其对应的

20、域分别为D1、D2、Dn,则关系R可表示为:R(A1/D1,A2/D2,An/Dn)或R(A1,A2,An)元组是关系中各个属性的一个取值的集合。3)键关系中的某一属性或属性组的值唯一地决定其他所有属性的值,也就是唯一决定一个元组,而其任何真子集无此性质,则称这个属性或属性组为该关系的候选键,简称键。第29页,共67页,编辑于2022年,星期六1.5.2 关系数据模型的数据结构 1)关系数据模型的描述功能(1)用二维表格表示实体集及其属性设实体集R有属性A1、A2、An,实体集的型可用一个二维表的框架表示。见表(a)。表中每一元组表示实体集的值,见表(b)A1A2A3Ana11am1a12am

21、2a13am3a1namnA1A2A3An(a)关系R的型(b)关系R的值学号学号姓名姓名年龄年龄性别性别系部号系部号S1程宏程宏19男男9S2王盟王盟20女女9S3刘莎莎刘莎莎18女女10学生情况表第30页,共67页,编辑于2022年,星期六(2)用二维表描述实体集间的联系 关系模型不仅可用二维表表示实体集,而且可用二维表描述实体集间的联系。例如,在图书管理中经常用“借书人统计表”和“图书登记表”如下表所示。姓名姓名借书证号借书证号单位单位张三张三1000110001计算机系计算机系刘一刘一1000210002自动化系自动化系总编号总编号分类号分类号书名书名作者作者200001200001T

22、P101TP101数据库导论数据库导论C.J.DATEC.J.DATE400002400002TP102TP102自动化系自动化系周明德周明德借书证号借书证号总编号总编号借阅日期借阅日期10001100012000012000012003.9.12003.9.110001100014000024000022003.9.12003.9.110002100024000024000022003.10.92003.10.9由于借书人与图书之间是m:n联系,在前面用层次模型或网状模型将是一项复杂的事情。在这里用二维表“借书登记表”来表示借书人和图书两个实体集之间的联系则十分简便,如下表所示。第31页,共

23、67页,编辑于2022年,星期六2)关系的性质关系是一个二维表,表中的每一行对应一个元组,表中的每一列有一个属性名且对应一个域。列是同质的,即每一列的值来自同一域。关系中的每一个属性是不可再分解,即所有域都应是原子数据的集合。关系中任意两个元组不能完全相同。关系中行的排列顺序、列的排列顺序是无关紧要的。每个关系都有关键字的属性集唯一标识各个元组。学号学号姓名姓名年龄年龄性别性别系部号系部号S1程宏程宏19男男9 9S2王盟王盟20女女9 9S4李李刚刚 20男男1010关系是一个简单的二维表,其主要性质为:第32页,共67页,编辑于2022年,星期六3)关系模式关系模式是关系中信息内容结构的描

24、述。它包括关系名、属性名、每个属性列的取值集合、数据完整性约束条件以及各属性间固有的数据依赖关系等。可以表示为:R(U,D,DOM,I,)其中:R为关系名;U为组成关系的全部属性的集合;D是U中属性取值的值域;DOM是属性列到域的映射,即DOM:UD;I是一组完整性约束条件;是属性集间的一组数据依赖。通常,可用R(U)来简化地表示关系模式。例如,描述大学生的关系模式表示为:STUDENT(学号,姓名,性别,年龄,所在系,籍贯,入学年份)第33页,共67页,编辑于2022年,星期六1.5.3 数据操作1)关系代数关系代数是由一组以关系作为运算对象的特定的关系运算所组成,用户通过这组运算对一个或多

25、个关系进行“组合”与“分割”,从而得到所需要的新关系。关系代数又分为传统的集合运算和专门的关系运算。(1)传统的集合运算主要包括并运算、差运算、交运算和笛卡儿乘积运算等。(2)专门的关系运算包括选择运算、投影运算、连接运算、自然连接运算、半连接运算、自然半连接运算和除运算等。其中:,五种运算为关系代数的基本运算,组成了一个完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。2)关系演算除了用关系代数表示关系操作外,还可以用谓词演算来表达关系的操作,称为关系演算。关系演算又可分为元组关系演算和域关系演算。第34页,共67页,编辑于2022年,星期六1.5.3.1 关系代数的基本操作 关系

26、代数操作集,是个完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。商品编号商品编号品名品名数量数量2008230冰箱冰箱19192008234彩电彩电50502007156空调空调2020(a(a)库存关系)库存关系R R设关系R和S具有相同结构的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义如下:RSt|tRtS,t是元组变量,R和S的元数相同。例如:有库存和进货两个表(见下表),要将两个表合并为一个表,可利用并运算来实现。商品编号商品编号品名品名数量数量2008214电熨斗电熨斗30302008310微波炉微波炉1818(b b)进货进货关系关系S S

27、商品编号商品编号品名品名数量数量2008230冰箱冰箱19192008234彩电彩电50502007156空调空调20202008214电熨斗电熨斗30302008310微波炉微波炉1818(c c)并运算)并运算RS结果结果1)并(Union)第35页,共67页,编辑于2022年,星期六2)差(Difference)设关系R和S具有相同结构的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下:RSt|tRtS,R和S的元数相同。考生号考生号2001321120011231200171562001812420013610(a)(a)成绩合格考生号成绩合格考生号R

28、R例如:有考生成绩合格者名单和身体不合格名单两个关系,按录取条件将成绩合格且身体健康的考生中产生录取名单关系。考生号考生号200132112001715620013610(b)(b)身体不合格考生号身体不合格考生号S S考生号考生号2001123120018124(c)(c)差运算差运算RS结果结果第36页,共67页,编辑于2022年,星期六例12 表表15(a)WORKER(职工职工)ENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明李明25002500311 1263刘英明刘英明21002100302 2068王飞王飞27002700452 2表表1

29、5(b)MANAGER(经理)(经理)ENAMESALARYAGEDEPT068王飞王飞27002700452 2059曾富曾富32003200511 1表表15(c)WORKERMANAGERENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明李明25002500311 1263刘英明刘英明21002100302 2068王飞王飞27002700452 2059曾富曾富32003200511 1表表15(d)WORKER-MANAGERENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明李明25002500311 1

30、263刘英明刘英明21002100302 2第37页,共67页,编辑于2022年,星期六表表1-7 MANAGER DEPTINFOE#NAMESALARYAGEM.DEPTD.DEPTDNAMEDTASK068王飞王飞27004521技术部技术部产品设计产品设计068王飞王飞27004522市场部市场部产品销售产品销售059曾富曾富32005111技术部技术部产品设计产品设计059曾富曾富32005112市场部市场部产品销售产品销售3)笛卡儿积(CartesianProduct)表表1-6 DEPTINFO(部门信息)(部门信息)DEPTDNAMEDTASK1技术部技术部产品设计产品设计2市

31、场部市场部产品销售产品销售表表15(b)MANAGER(经理)(经理)ENAMESALARYAGEDEPT068王飞王飞27002700452 2059曾富曾富32003200511 1例13:假定部门信息存放在表DEPTINFO中(见表16),则表MANAGER与表DEPTINFO的笛卡儿积如表17所示。第38页,共67页,编辑于2022年,星期六笛卡儿积定义设有关系R和S,它们分别是n目和m目关系(即它们的属性个数分别为n和m),分别有p和q个元组。则关系R,S经笛卡儿积运算的结果T是一个nm目关系,共有pq个元组,这些元组是由R与S的元组组合而成的。关系R与S的笛卡儿积记为RS,形式定义

32、如下:第39页,共67页,编辑于2022年,星期六4)选择运算(Selection)这个操作是根据某些条件对关系做水平分割,即在一个关系内选择符合条件的元组称为选择运算。选择运算可表示为:C(R)ttRCt=TrueC表示逻辑条件表达式。这个表达式按以下规则组成:,其中、是属性名或常量,但、不能同为常量。是比较运算符,它可以是、或。称为基本逻辑条件。由若干基本逻辑条件经过逻辑运算(与)、(或)、(非)构成复合逻辑条件。第40页,共67页,编辑于2022年,星期六选择运算事例表15(a)WORKER(职工)ENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明

33、李明25002500311 1263刘英明刘英明21002100302 2068王飞王飞27002700452 2表1-8ENAMESALARYAGEDEPT462李明李明25002500311 1对表WORKER执行下列选择运算:第41页,共67页,编辑于2022年,星期六5)投影(Project)这个操作是对一个关系进行垂直分割,即对一个关系内属性的指定称为投影运算。设关系R有n个属性:A1,A2,An,则对R上属性Ai1,i2,,Aim(AijA1,A2,An投影的结果记为:对例12中的表WORKER执行下列投影运算:NAME,AGE(WORKER)、DEPT(WORKER)其结果如表所

34、示。第42页,共67页,编辑于2022年,星期六投影运算事例表表15(a)WORKER(职工职工)ENAMESALARYAGEDEPT123张国华张国华1800251462李明李明2500311263刘英明刘英明2100302068王飞王飞2700452表表1-9 NAME,AGE(WORKER)NAMEAGE张国华张国华25李明李明31刘英明刘英明30王飞王飞45表表1-9 DEPT(WORKER)DEPT12第43页,共67页,编辑于2022年,星期六1.5.3.2.3.2 关系代数的组合操作1)交(intersection)设关系R和S具有相同的元数n,相应的属性取自同一个域,则关系R和

35、S的交记为RS,由既属于R又属于S的元组组成,其结果仍然一个n元关系。形式定义如下:RSttRtS,t是元组变量。关系的交可以由关系的差来表示,即:RSR(RS)或RSS(SR)例如:以上例中的WORKER和MANAGER为例,其交运算WORKERMANAGER的结果表15(E)所示。可以其按差运算WORKER(WORKERMANAGER)来计算,其结果分别如表15(E1)、表15(E2)所示。第44页,共67页,编辑于2022年,星期六交操作事例表表15(a)WORKER(职工职工)ENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明李明25002500

36、311 1263刘英明刘英明21002100302 2068王飞王飞27002700452 2表表15(b)MANAGER(经理)(经理)ENAMESALARYAGEDEPT068王飞王飞27002700452 2059曾富曾富32003200511 1表表1 1(E E)WORKERMANAGER ENAMESALARYAGEDEPT068王飞王飞27002700452 2ENAMESALARYAGEDEPT123张国华张国华18001800251 1462李明李明25002500311 1263刘英明刘英明21002100302 2表表1 1(E1E1)WORKER-MANAGER ENA

37、MESALARYAGEDEPT068王飞王飞27002700452 2表表1 1(E2E2)WORKER-(WORKER-MANAGER)第45页,共67页,编辑于2022年,星期六2)连接(Join)运算就是说,连接操作是笛卡儿积和选择操作的组合。(1)条件连接条件连接运算又可称连接,这是一个二目运算,通过它将两个关系合并成一个关系。设有关系S和n目关系R以及比较表达式ij,其中i是R中的属性,j是S的属性,含义同前(比较运算符)。形式定义如下:【例18】设关系EMP表112表示职工的年龄和工龄情况,关系ELIT表113表示一个职工工作年限和可以享受的福利级别。使用下列连接:第46页,共67

38、页,编辑于2022年,星期六连接运算事例表1-12 关系EMPNAMEAGEYEARS李亚当李亚当262 2王明王明303 3赵亮赵亮349 9陈宾陈宾431818表1-13 关系ELITYEARSLEVEL1 1A3 3B5 5C1010D表1-13 每个职工享有的全部福利(例18结果)NAMEAGEEMP.YEARSELIT.YEARSLEVEL李亚当李亚当262 21 1A A王明王明303 31 1A A王明王明303 33 3B B赵亮赵亮349 91 1A A赵亮赵亮349 93 3B B赵亮赵亮349 95 5C C陈宾陈宾4318181 1A A陈宾陈宾4318183 3B B

39、陈宾陈宾4318185 5C C陈宾陈宾4318181010D D第47页,共67页,编辑于2022年,星期六EMP ELIT表1-13(E)EMP ELITNAMEAGEEMP.YEARSELIT.YEARSLEVEL李亚当李亚当262 21 1A A李亚当李亚当262 23 3B B李亚当李亚当262 25 5C C李亚当李亚当262 21010D D王明王明303 31 1A A王明王明303 33 3B B王明王明303 35 5C C王明王明303 31010D D赵亮赵亮349 91 1A A赵亮赵亮349 93 3B B赵亮赵亮349 95 5C C赵亮赵亮349 91010D

40、D陈宾陈宾4318181 1A A陈宾陈宾4318183 3B B陈宾陈宾4318185 5C C陈宾陈宾4318181010D D第48页,共67页,编辑于2022年,星期六(2)自然连接(NaturalJoin)RS最常用的是连接的一种特例,可以定义为:RSRS计算的具体过程为:计算RS;设R和S的公共属性是B1,B2,Bn,挑选RS中满足R.B1S.B1,R.BnS.Bn的那些元组;去掉S.B1,S.Bn这些列(保留R.B1,R.Bn)。【例19】查询各部门经理及他们所在部门的信息。该查询可用一个自然连接运算实现:MANAGERDEPTINFO,其查询结果如表所示。第49页,共67页,编

41、辑于2022年,星期六自然连接事例表表1-7 MANAGER DEPTINFOE#NAMESALARYAGEM.DEPTD.DEPTDNAMEDTASK068王飞王飞27004521技术部技术部产品设计产品设计068王飞王飞27004522市场部市场部产品销售产品销售059曾富曾富32005111技术部技术部产品设计产品设计059曾富曾富32005112市场部市场部产品销售产品销售表表1-6 DEPTINFO(部门信息)(部门信息)DEPTDNAMEDTASK1技术部技术部产品设计产品设计2市场部市场部产品销售产品销售表表15(b)MANAGER(经理)(经理)ENAMESALARYAGEDE

42、PT068王飞王飞27002700452 2059曾富曾富32003200511 1表表1-15 MANAGER DEPTINFOE#NAMESALARYAGEDEPTDNAMEDTASK068王飞王飞2700452市场部市场部产品销售产品销售059曾富曾富3200511技术部技术部产品设计产品设计第50页,共67页,编辑于2022年,星期六(3)半连接(SemiJoin)两个关系R和S的半连接运算定义为:表1-12 关系EMPNAMEAGEYEARS李亚当李亚当262 2王明王明303 3赵亮赵亮349 9陈宾陈宾431818表1-13 关系ELITYEARSLEVEL1 1A3 3B5 5

43、C1010D表1-16NAMEAGEYEARS王明王明303 3第51页,共67页,编辑于2022年,星期六3)除法运算(Division)有关系R和S,R能被S除的条件有两个:一是R中的属性包含S中的属性;二是R中的有些属性不出现在S中。R除以S表示为R/S或RS。RS是由R中那些不出现在S中的属性组成,其元组则是S中所有元组在R中对应值相同的那些元组值。表1-17 SCSCS1C1S1C2S2C1S2C2S2C3S3C2表1-18 CCC1C2C3表1-19 SCCSS2第52页,共67页,编辑于2022年,星期六除法运算计算过程设有关系R和S的元数分别为r和s,则RS是一个(rs)元的元

44、组集合,其计算过程如下:(a)T1,2,rs(R)(b)W(TS)R(c)V1,2,rs(W)(d)RSTV即RS1,2,rs(R)1,2,rs(TS)R)除法运算不是基本运算,它可由其他基本运算推出。第53页,共67页,编辑于2022年,星期六除法运算计算事例(SCC)(a)T1,2,r-s(SC)SS1S2S3(TC)SC#S1C1S1C2S1C3S2C1S2C2S2C3S3C1S3C2S3C3SCSCS1C1S1C2S2C1S2C2S2C3S3C2(b)W(TC)SCSC#S1C3S3C1S3C3(c)V1,2,r-s(W)SS1S3(d)RSTV SS2表1-17 SCSCS1C1S1

45、C2S2C1S2C2S2C3S3C2表1-18 CCC1C2C3第54页,共67页,编辑于2022年,星期六1.5.4数据约束1)域完整性约束域完整性约束限定了属性值的取值范围,并由语义决定一个属性值是否允许为空值NULL。学号学号姓名姓名年龄年龄性别性别系部号系部号S1程宏程宏19男男9 9S2王盟王盟20女女9 9S4李李刚刚 20男男1111学生情况表系部号系部号系名系名系主任系主任地点地点9计算机系计算机系李远李远科技大楼科技大楼10电子系电子系张立张立电子大楼电子大楼院系情况2)实体完整性约束每个关系应有一个主键,每个元组的主键的值应是唯一的。主键的值不能为NULL,否则无法区分和识

46、别元组。3)参照完整性约束参照完整性约束是不同关系间的约束,当存在关系间的引用时,要求不能引用不存在的元组。第55页,共67页,编辑于2022年,星期六1.5.5关系数据模型的优缺点1)关系数据模型的优点 n关系模型有坚实的理论基础。n在关系模型中,二维表不仅能表示实体集,而且能方便地表示实体集间的联系。n关系数据模型中数据的表示方法统一、简单,便于计算机实现,使用用户使用。n 数据独立性高。2)关系数据模型的缺点:n关系数据模型的主要缺点是查询效率常常不如非关系数据模型。n关系数据模型等传统数据模型还存在不能以自然的方式表示实体集间的联系、语义信息不足、数据类型过少等弱点。因此自20世纪80

47、年代后期以来,陆续出现了以面向对象数据模型为代表的新的数据模型。第56页,共67页,编辑于2022年,星期六1.6 面向对象数据模型 面向对象数据模型(ObjectOrientedDataModel,简称OO数据模型)是面向对象程序设计方法与数据库技术相结合的产物,用以支持非传统应用领域对数据模型提出的新需求。2.6.1对象和对象标识符2.6.2属性和方法2.6.3封装和消息传递2.6.4类和实例2.6.5类层次结构和继承2.6.6持久性和版本2.6.7多态、重载、重定义与动态联编2.6.8与关系数据模型的比较第57页,共67页,编辑于2022年,星期六1.6.1 对象和对象标识符 1)对象在

48、面向对象数据模型中,所有现实世界中的实体都模拟为对象,小至一个整数、字符串,大至一个公司、一部电影,都可以看成对象。2)对象标识符在OO数据模型中,每个对象都有一个系统内唯一不变的标识符,称为对象标识符(OID)。OID一般是由系统产生,用户不得修改。OID是区别对象的唯一标志,与对象的属性值无关。n如果两对象的属性值和方法一样,但OID不同,则仍认为是两个“相等”而不同的对象。n如果一个对象的属性值修改了,只要其标识符不变,则仍认为是同一对象。因此,OID可看成是对象的替身,以构造更复杂的对象。第58页,共67页,编辑于2022年,星期六1.6.2 属性和方法 1)属性每个对象包含若干属性,

49、用以描述对象的状态、组成和特性。2)方法除了属性外,对象还包含若干方法,用以描述对象的行为特性。方法又称为操作,它可以改变对象的状态,对对象进行各种数据库操作。方法的定义与表示包含两个部分:一是方法的接口,说明方法的名称、参数和结果的类型;二是方法的实现部分,是用程序编写的一个过程,以实现方法的功能。一个对象一般是由一组属性、一组方法,再冠以一个OID组成。CPU主板主板计算机计算机AA属性也是对象,它又可能包含其他对象作为其属性。这种递归引用对象的过程可以继续下去,从而组成各种复杂的对象。右图是一个事例:学生学生学号学号班级班级专业专业选课选课第59页,共67页,编辑于2022年,星期六1.

50、6.3 封装和消息传递 1)封装在OO数据模型中,系统把一个对象的属性和方法封装成一个整体。对象的封装性体现在以下几个方面:n对象具有清晰的边界;n对象具有统一的外部接口;n对象的内部实现是不公开的。对象对象i属性属性1属性属性n方法方法1方法方法m对象对象j属性属性1属性属性n方法方法1方法方法m消息(调用)消息(调用)消息(结果)消息(结果)消息一般由操作者、接收者、操作参数三个部分组成。对象、消息之间的关系如右图所示。2)消息传递对象是封装的,对象与外界、对象之间的通信一般只能借助于消息。消息传送给对象,调用对象的相应方法,进行相应的操作,再以消息形式返回操作的结果。这种通信机制称为消息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com