数据库系统的数据模型幻灯片.ppt
《数据库系统的数据模型幻灯片.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 关系代数的基本操作 关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 数据模型 幻灯片
限制150内