




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019年7月28日星期日,攀枝花学院计算机学院,第2章 数据模型,2019年7月28日星期日,攀枝花学院计算机学院,第2章 数据模型,2.1 数据库系统的模式结构 2.2 信息世界的描述 2.3 实体联系模型 2.4 层次数据模型 2.5 网状数据模型 2.6 关系数据模型 2.7 练习题,教学内容:数据模型的分类、数据视图和数据模式、数据库系统的三级模式结构、应用程序访问数据库数据的过程、信息世界的基本概念、实体之间联系的类型、E-R模型、层次数据模型、网状数据模型、关系数据模型。 教学要求: 了解:数据模型的分类;应用程序访问数据库数据的过程;层次、网状等数据模型的数据组织和数据库数据的存储方法。 理解:数据库系统的三级模式结构;信息世界的基本概念。 掌握:实体之间联系的类型;E-R模型;关系数据模型的基本概念、数据组织、特点等。 重点:E-R模型、关系数据模型的数据组织和特点。 难点:实体联系模型(E-R模型)。,2019年7月28日星期日,攀枝花学院计算机学院,2.1 数据库系统的模式结构,2.1.1 数据模型的分类 2.1.2 数据视图 2.1.3 数据库系统的三级模式结构 2.1.4 应用程序访问数据库数据的过程,2019年7月28日星期日,攀枝花学院计算机学院,2.1.1 数据模型的分类,数据模型:是对现实世界各种事物特征的数据化的描述和抽象,是数据库系统中用于提供信息表示和操作手段的结构形式(即数据库的组织形式)。,2019年7月28日星期日,攀枝花学院计算机学院,2.1.1 数据模型的分类,对事物的数据描述通常包括静态属性描述和动态行为描述。 静态属性包括数据结构和对数据的约束。 动态特性包括对静态属性数据的操作方法。 数据模型的组成:通常由数据结构、数据操作集合和数据的完整性约束三个要素组成。,2019年7月28日星期日,攀枝花学院计算机学院,数据结构:数据库中按照什么样的结构组织数据。 分为两类:一类是与数据类型、内容、性质有关的对象;例如关系模型的属性等。另一类是与数据之间联系有关的对象。 完整性约束:是一组完整性规则的集合。实现数据库数据的完整性。 数据操作:指数据库中允许的对各种对象实例操作的集合,包括操作及有关的操作规则。数据库中主要有检索和更新(插入、删除、修改)两大类操作。,2.1.1 数据模型的分类,2019年7月28日星期日,攀枝花学院计算机学院,数据模型的任务,表示数据:什么实体 (命名)、哪些属性(属性名) 、属性排列 指出数据间联系:主要是实体间的联系 数据模型应具备的特征: (1)能比较真实地反映世界 (2)容易为人所理解 (3)便于在计算机上实现,2.1.1 数据模型的分类,2019年7月28日星期日,攀枝花学院计算机学院,数据模型的分类,根据数据模型的用途和面向的对象不同,把广泛使用的数据模型主要划分为:语义数据模型和结构化的数据模型。,1、语义数据模型,语义数据模型:指具有丰富的语义表达能力,并且包含有大量的模型描述结构的数据模型。使用它可以定义一个数据库的语义特性。它不涉及信息在计算机内如何存储,着重表示数据模拟的语义。是现实世界的第一层抽象。,2019年7月28日星期日,攀枝花学院计算机学院,1、语义数据模型,语义数据模型描述方法:利用实体、联系和约束描述现实世界的静态、动态和时态特征。可以自然地反映现实世界的事物和事物之间的联系,是便于用户理解的、用户和设计人员进行交流的数据模型。,2019年7月28日星期日,攀枝花学院计算机学院,常用的语义数据模型有:E-R模型、扩展关系模型、面向对象模型等。 它们都有以下的共同概念: 分类:根据对象的属性和行为特性划分为不同的类 概括:子类集合中的共性抽象出来形成较高级的超类。 聚合:高级类型中的实体属性是由低级类型实体的聚合形成。,1、语义数据模型,2019年7月28日星期日,攀枝花学院计算机学院,2 结构化数据模型,结构化的数据模型: 直接面向数据库的逻辑结构的,是现实世界的第二层次的抽象,这类模型涉及到计算机系统和DBMS,又称为“基本数据模型”。 常用的有层次、网状和关系数据模型等。,2019年7月28日星期日,攀枝花学院计算机学院,2.1.2 数据视图,数据库中的数据,为了满足各种用户的要求,需设计复杂的数据结构。为了给用户提供简单明了的数据界面,系统必须隐藏数据在数据库内部的结构和存储细节。 为此,数据库系统提供了三个层次屏蔽系统的复杂性,图2-1,2019年7月28日星期日,攀枝花学院计算机学院,从不同的角度观察数据,得到不同的数据视图。 数据库中的数据具有逻辑视图和物理视图两个侧面。分别称为物理数据和逻辑数据。 物理数据:存储在计算机存储设备上的数据,对它的描述是指在存储设备上的存储方式。通常用文件类型、文件记录等描述。 逻辑数据:用户或应用程序中操作的数据,是数据库抽象的逻辑结构和联系。通常用数据结构、表等描述,2019年7月28日星期日,攀枝花学院计算机学院,由于逻辑视图分为全局逻辑视图和局部逻辑视图,加上物理视图。因此,数据视图分为三个层次: 外部层(视图层):数据的局部逻辑视图,是针对局部用户描述的数据库的部分内容,是用户看到的和直接操作的数据视图,也称用户个人视图。 概念层:数据的全局逻辑视图,也称全体用户视图 物理层:是数据的物理视图,也是数据的存储层,是数据库的整体内部视图。,2019年7月28日星期日,攀枝花学院计算机学院,用户看到的数据结构和数据与数据库中存储的数据结构和数据是完全不同的。 例:教学管理系统中,从教师、选课和成绩管理三个不同的局部可以看到不同的学生信息,为局部视图。从管理员角度可以看到学生的全部数据,为全局视图。该数据在存储设备上的存储方式,如文件的结构和类型、文件记录等为物理视图。 DBMS就是完成从物理数据和逻辑数据之间的转换。,2019年7月28日星期日,攀枝花学院计算机学院,2.1.3 数据模式的结构,模式:数据库中仅仅对数据的结构进行描述,不涉及到具体的值, 用相应的模式定义语言来描述。 与三层数据视图相对应,数据模式分为三层:外层、概念层和内层。 对应的三种模式为外模式、概念模式和内模式。,2019年7月28日星期日,攀枝花学院计算机学院,外模式(子模式或用户模式): 是数据库用户能够看见的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,是保证数据库安全性的有力措施。 外模式与具体的应用程序和它使用的高级编程语言相关联,是用户与数据库系统的接口,用户使用数据操纵语言对数据库进行的操作实际上就是对外模式描述的数据进行操作。 例:学生管理中,学生的学号、姓名、性别等,是学生的部分信息,是数据的逻辑表示。,2019年7月28日星期日,攀枝花学院计算机学院,概念模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述。是所有用户的公共数据的集合,是所有外模式的集合。一个数据库只有一个概念模式。它包括概念实体的类型、实体之间的联系、数据完整性等。 概念模式既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、开发工具无关。是外模式和内模式的中间隔离层。是保证数据独立性的关键部分。 例如,整个教学管理数据库是一个概念模式,2019年7月28日星期日,攀枝花学院计算机学院,内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的数据存储和访问控制方面的细节,包括:记录类型、文件组织方式、索引组织方式等。不涉及物理记录在磁盘上的任何存储。 一个数据库只有一个内模式。内模式与数据的物理存储(操作系统)和硬件有关。,2019年7月28日星期日,攀枝花学院计算机学院,为了实现模式之间的数据转换,DBMS定义了两层映射: 外模式/概念模式映射:外模式和概念模式之间的对应关系,实现逻辑独数据立性。 概念模式/内模式两层映射:存在于概念层,由DBMS定义两者之间的逐一对应关系,实现物理数据独立性 两层模式之间的映射关系由DBMS实现。,应用1,子模式与模式的映射,概念模式,子模式a,DBMS,OS,用户级 数据库,概念级数据库,物理级数据库,-,-,用户视图,数据库管理员视 图,系统分析员视 图,应用2,应用n,子模式b,子模式m,模式与内模式的映像,存储模式,内模式,模式,外模式,2019年7月28日星期日,攀枝花学院计算机学院,三层模式结构的好处,(1)保证了数据的独立性:物理存储结构改变不用改变应用程序。 (2)简化用户接口:用户不需了解数据实际存储。 (3)有利于数据共享:所有用户使用统一概念模式导出的不同外模式或视图,减少了数据冗余。 (4)有利于数据安全保密:每个用户只能操作属于自己的外数据视图。,2019年7月28日星期日,攀枝花学院计算机学院,2.1.4 应用程序访问数据库的过程,(1) 应用程序A向DBMS发出读取记录的命令, 命令中给出所读记录的条件; (2) DBMS分析用户命令,调用应用程序A对应的外模式,从外模式中找到对应记录的数据描述,将其先读到系统缓冲区中; (3) DBMS调用概念模式,根据所读记录的外模式/模式的映射关系,决定读入模式中的哪些记录; (4) DBMS调用物理存储模式,依据概念模式/物理模式映射关系,决定从哪台设备、用何种存取方式读取哪些记录;,读取数据过程,2019年7月28日星期日,攀枝花学院计算机学院,(5)DBMS首先在缓冲区中查找记录,如果找到,转 第(9),否则转到(6) (6)DBMS向OS发出读取所需物理记录的命令; (7)OS向有关的物理设备发出调出物理记录的命令; (8)相关物理记录从数据库(硬盘)读到系统缓冲区。 (9)DBMS根据外模式/模式映射关系,导出应用程序A要读取的逻辑记录; (10)DBMS把数据从系统缓冲区填到应用程序A的用户工作区; (11)DBMS向应用程序A返回操作命令执行结果。,2019年7月28日星期日,攀枝花学院计算机学院,2.2 信息世界的描述,2.2.1 信息世界的基本概念 2.2.2 实体之间联系的类型,数据的三种范畴:数据需要认识、理解、整理、规范和加工后才能从现实生活进入到数据库中,把这个过程分为分为现实世界、信息世界和机器世界三个阶段,也把它称为数据的三种范畴。 在数据库设计时,把现实世界的事物抽象为一种信息结构(只是一种概念级的模型),然后再把概念模型转换为某一个DBMS支持的数据模型。,从图中可看出概念模型是现实世界到机器世界的一个中间层次。主要用于数据库的设计。,2019年7月28日星期日,攀枝花学院计算机学院,现实世界:存在于人们头脑之外的客观世界。教学管理工作,涉及到的教师信息、学生信息等都是原始信息,手工对这些数据的处理加工即为现实世界的管理。 信息世界: 是现实世界在人们头脑中的反映,人们用文字、图形和符号等表示它们,构成信息世界。 机器世界: 由于计算机只能处理数据化的信息,所以对信息世界中的信息必须进行数据化,数据化后的信息称为数据。,2019年7月28日星期日,攀枝花学院计算机学院,2.2.1 信息世界的基本概念,实体(Entity)一个实体可以是现实世界存在的一个具体事物,也可以是一个抽象的事件。 例如一个学生、一份合同、一种材料等都是实体。 弱实体:假如实体只能存在于与其他实体的联系中,称这些实体为弱实体。例如一个订单实体和订单明细实体 ,订单明细实体只能依赖于订单实体而存在。 强实体:独立于其他实体而存在的实体称为强实体。,2019年7月28日星期日,攀枝花学院计算机学院,实体集:结构和特征相同的实体组成的集合。 实体类型:描述实体的信息结构,通常包括实体的类型名和实体的属性名集合。 EG:学生(学号,姓名,性别,年龄,班级) 属性:描述实体或联系的特性。实体的每个特征称为一个属性。属性有属性名、属性类型、属性定义域和属性值之分。其中, 标识属性:能唯一地标识一个实体的属性或属性集。 例如,学生实体,其属性有学号、姓名、性别、班级等。其中学号是标识属性。,2019年7月28日星期日,攀枝花学院计算机学院,联系:反映实体间的相互关系。 现实世界中,事物之间的相互关系是客观存在的,联系必然要在信息世界中描述 联系集:实体间相同类型的联系也构成联系集。例如多个教师和其隶属的研究所之间形成隶属联系集。 联系类型:描述具有共同特性的实体之间联系集的信息结构。联系除用作属性外,联系本身也可以有描述属性。 记录:表示一个实体的一组属性,2019年7月28日星期日,攀枝花学院计算机学院,2.2.2 实体之间联系的类型,数据库中除了存放数据外,还要存放数据之间的联系。 实体间的联系: 不同的实体集中实体间的联系 相同的实体集内实体之间的联系两种 这两种联系都有三种不同的联系类型: 一对一联系 一对多联系 多对多联系,2019年7月28日星期日,攀枝花学院计算机学院,定义:如果实体集A中每个实体至多和实体集B中的一个实体有联系,反之亦然,就称实体集A和实体集B的联系为“一对一联系”,记为“1:1”。 例如,车间和车间主任之间:一个车间只有一个车间主任,一个车间主任只能管理一个车间。,一对一联系,车间和车间主任之间的管理联系是“一对一联系” 。,2019年7月28日星期日,攀枝花学院计算机学院,定义:如果实体集A中每个实体与实体集B中的任意多个(零个或多个)实体有联系,而B中每个实体至多与实体集A中的一个实体有联系,就称实体集A对B的联系为“一对多联系”,记为“1:N”。 例如,车间和工人之间存在着联系:一个车间可以有多个工人,一个工人只能属于一个车间,一对多联系,2019年7月28日星期日,攀枝花学院计算机学院,定义:如果实体集A中的每个实体与实体集B中的任意个(零个或多个)实体有联系,反之,实体集B中的每个实体与实体集A中的任意个(零个或多个)实体有联系,就称实体集A和B的联系为“多对多联系”,记为“M:N”联系 例如,学生和课程之间的联系,一个学生可以选修多门课程,每门课程有多个学生选修。,多对多联系,A,A,B,B,A B,一对多联系,A B,多对多联系,2019年7月28日星期日,攀枝花学院计算机学院,(1)一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库: (2)一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库: (3)一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库:,1:1关系;,1:n关系;,m:n关系;,2019年7月28日星期日,攀枝花学院计算机学院,一个多对多的联系实际蕴涵了两个一对多的联。 多对多联系总是要转换成一对多联系,转换方法: (1)建立第三个实体,该实体称为复合实体。 (2)复合实体的主码由两个父实体的主码复合而得。再增加一些必须的属性。 (3)两个父实体与复合实体分别建立1:n联系 如:学生和课程两个实体,2019年7月28日星期日,攀枝花学院计算机学院,2.3 实体-联系模型(E-R模型),E-R(Entity-Relationship )模型 是P.P.Chen 于1976年首先提出的。目的是: 1)建立一个统一的数据模型以概括三种传统的结构化数据模型 2)作为三种传统的结构数据模型相互转换的中间模型 3)超脱DBMS,以比较自然的方式模拟现实世界。 ER模型的出发点:现实世界是有若干实体集合和实体之间联系的集合组成。其主要概念是实体、联系和属性。,2019年7月28日星期日,攀枝花学院计算机学院,2.3.1 E-R模型图的描述方法,(1)实体集:矩形框表示,双线矩形框表示弱实体集 (2)联系集:菱形表示。 (3)属性:椭圆框表示,用直线将属性连接到其所属的实体集,标识属性用双下划线标识出来。 (4)实体集间的联系:用连线表示。每条连线上附加一对数表示联系类型。,2019年7月28日星期日,攀枝花学院计算机学院,E-R模型支持一对一、一对多和多对多的联系。实体集之间三种联系的表示如图所示:,2019年7月28日星期日,攀枝花学院计算机学院,2019年7月28日星期日,攀枝花学院计算机学院,2.3.2 E-R模型中的抽象概念,利用E-R模型,通过某些抽象概念可以描述联系之间的联系。 原子聚合:用实体表示联系。即把实体之间的一个联系作为一个黑盒子,看作是更高层次的一个实体,对较低层次实体不予考虑。 下图是一个原子聚合的一个示例:,客户-贷款(或称贷款合同)构成一个实体集合,该集合为一个原子集合。 贷款合同与处罚规则需建立一个联系(贷款违规),该联系可以不考虑低层的实体。,2019年7月28日星期日,攀枝花学院计算机学院,概括:一个实体类型是另一个实体类型的超类型(supertype)或子类型(subtype)。通过概括可以减少冗余的描述,经常看作是IS_A联系。 右图说明一个概括的例子。,2. 概括(generalization),2019年7月28日星期日,攀枝花学院计算机学院,2.3.3 E-R模型示例,1、实体集之间的联系,2019年7月28日星期日,攀枝花学院计算机学院,2、实体集内实体之间的联系,同一个单位内部,职工和职工之间可以有配偶关系。,2019年7月28日星期日,攀枝花学院计算机学院,3、多重联系和多元联系,职工和设备之间的联系有两种:使用联系和保养联系。,2019年7月28日星期日,攀枝花学院计算机学院,4、实体属性和联系属性,职工、工程和零件三者之间构成多元联系。,例:用E-R图表示实体及其联系。 有五个实体:学生、班级、课程、教师、参考书,E-R图实例,E-R图,2019年7月28日星期日,攀枝花学院计算机学院,E-R数据模型小结,有丰富的语义表达能力,能充分反映现实世界中实体和实体之间的联系,能满足用户对数据对象的处理要求。传统的数据模型(层次,网状,关系模型)的语义表达手段均不充分 。 易于交流和理解,因为它不依赖于计算机系统和具体的DBMS,所以它是DBA、系统开发人员和用户之间的桥梁。 易于修改和扩充。 易于向各种结构化数据模型转换。 注:实体、属性和联系这三个概念是有明确区分的,但对于某个具体的数据对象,究竟算它是实体,还是属性或联系,是相对的,这取决于应用背景和用户的观点。,2019年7月28日星期日,攀枝花学院计算机学院,2.4 层次数据模型,代表产品:IMS(Information Management System) 定义:用树形结构来表示实体及实体之间联系的模型。结点(记录类型)描述某类实体,树枝是联系。结点间(上一层记录类型和下一层记录类型)是一对多联系。 数据结构:树型结构,只能表示1:N联系。 特点: 有且只有一个结点无双亲结点,该结点称为根结点。 根以外结点有且只有一个双亲结点,可有多个子结点,2019年7月28日星期日,攀枝花学院计算机学院,层次数据模型的建模规则: 树的结点表示实体记录类型; 父结点和子结点必须是不同的实体类型; 结点之间的联系必须是一对多的联系。,2.4 层次数据模型,教员学生数据库的一个值,2019年7月28日星期日,攀枝花学院计算机学院,优点: 本身简单 当实体间的联系固定,且预先定义好的应用系统,采用层次模型实现,性能比较好 提供了良好的完整性支持 缺点: 当进行一对多或多对多的联系时将增加数据冗余 对插入和删除操作限制比较多。 查询子女结点要通过双亲结点。 层次命令趋于程序化,层次模型的优、缺点,2019年7月28日星期日,攀枝花学院计算机学院,2.5 网状数据模型,典型的网状数据模型:美国 CODASYL 的数据库任务组DBTG 提供的网状数据模型标准化报告, 称为DBTG报告。 定义:用网络结构来表示实体之间联系的数据模型。 数据结构:图。图中的每个结点表示一个实体记录类型,每个记录类型包含若干数据项表示实体的属性。结点之间的连线表示不同记录类型之间的联系。 (1)允许一个以上的结点无双亲。 (2)一个结点可以有多于一个的双亲。,2019年7月28日星期日,攀枝花学院计算机学院,网状数据模型建模规则: (1)父结点和子结点必须是不同的实体类型; (2)父结点和子结点之间的联系必须是一对多的联系,每个联系要有一个唯一的联系名。,例如,学生和课程之间的N:M联系,通过增加学生选课记录类型分解为三个记录类型(学生S、课程C和选课SC)和两个联系( S-SC 和C-SC ),如图所示。,2019年7月28日星期日,攀枝花学院计算机学院,2.6 关系数据模型,2.6.1 关系数据模型的基本概念 2.6.2 关系数据模型的数据组织 2.6.3 关系数据模型的特点,2019年7月28日星期日,攀枝花学院计算机学院,关系数据模型是由若干关系组成的集合,每个关系从结构上看实际上是一张规范化的二维表(称为关系),即把某记录集合写成一张二维表,表中的每一行表示一个实体对象,每列对应一个实体属性。 实体类型用关系表示,实体类型之间的联系可以用关系表示,也可以用属性来表示。 关系数据库关系的集合记录的集合若干属性。,2.6.1 关系数据模型的基本概念,2019年7月28日星期日,攀枝花学院计算机学院,例如,某学校有若干个系,系的属性包括系的编号、名称、电话和办工地点。如下表所示。,2019年7月28日星期日,攀枝花学院计算机学院,2.6.2 关系数据模型的数据组织,关系数据模型中: (1)实体类型用关系表示; (2)实体类型之间1:1和1:N联系可以用关系表示,也可以用属性来表示;实体类型之间的M:N联系必须用关系表示。 (3)通过外部关键字可直接表达实体之间一对多和多对多的联系。,2019年7月28日星
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防检查工作方案
- 2025年金融营销实战模拟题集及案例分析报告
- 2025年旅游行业从业资格认证考试模拟卷及答案解析
- 2025注册验船师考试(C级船舶检验专业综合能力)仿真试题及答案一
- 2025年基础素养试题及答案
- 北京市门头沟区2023-2024学年七年级下学期期末考试生物试题及答案
- 2025年医药销售代表专业能力提升面试指南及模拟题
- 2025年智能家居产品经理中级笔试预测题与考试指南
- 2025年无人机航拍测绘技术中级题库及参考答案
- 2025年初级造纸工岗位面试要点与常见问题解析
- CQI-9热处理系统审核第三版(中文版)
- 马兰士CD6004 使用说明书
- 2023年泰州市高级教师职称考试试题
- 业余足球比赛技术统计表
- 社情民意写作基本知识要点课件
- 医疗器械生产企业GMP培训专家讲座
- 2023年中远海运船员管理有限公司招聘笔试题库及答案解析
- 辐射及其安全防护(共38张PPT)
- 金风15兆瓦机组变流部分培训课件
- 膀胱镜检查记录
- 沈阳终止解除劳动合同证明书(三联)
评论
0/150
提交评论