第2章数据库系统结构数据库原理及应用刘金岭.ppt
《第2章数据库系统结构数据库原理及应用刘金岭.ppt》由会员分享,可在线阅读,更多相关《第2章数据库系统结构数据库原理及应用刘金岭.ppt(84页珍藏版)》请在三一办公上搜索。
1、复习什么是数据库系统?,第2章 数据库系统结构,主要内容数据描述数据模型数据库的体系结构,2.1 数据描述,在数据处理中,数据描述将涉及不同的范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段概念设计中的数据描述、逻辑设计的数据描述和物理存储介质中的数据描述。,2.1.1概念设计中的数据描述,数据库的概念设计是根据用户的需求设计数据库的概念结构。实体(Entity):客观存在、可以相互区别的事物称为实体。实体可以是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对象,例如一次借书,一场足球比赛等。实体集(Entity Set)性质相同的同类实体的集合,称为实体集。例如所有的男学
2、生,全国足球锦标赛的所有比赛等。属性(Attribute):实体有很多特性,每一个特性称为一个属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如实体学生有属性学号、姓名、年龄、性别等。实体标识符(Identifier):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(Key),或简称为键。例如学生的学号可以作为学生实体的标识符。,2.1.2逻辑设计中的数据描述,数据库的逻辑设计是根据概念设计得到的,逻辑设计中的术语如下:字段(Field):标记实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往和属性名
3、相同。例如学生有学号、姓名、年龄、性别等字段。记录(Record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如一个学生记录,由有序的字段集组成:学号,姓名,年龄,性别。文件(File):同一类记录的集合称为文件。文件是用来描述实体集的。例如所有的学生记录组成了一个学生文件。关键码(Key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。,概念设计和逻辑设计中两套术语的对应关系,在数据库技术中,每个概念都有类型(Type)和值(Value)之区分。例如“学生”是一个实体类型,而具体的人“张三”、“李四”是实体
4、值。记录也有记录类型和记录值之分。在不会引起误解时,不去仔细区分类型和值,笼统地称“记录”。,信息三个世界使用的术语对照表,2.1.3 物理存储中的数据描述,数据描述有两种形式:物理描述和逻辑描述。物理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。在数据库系统中,逻辑数据与物理数据之间可以是差别很大的。数据库系统的一个目标是使用户能简单、方便、容易地存取数据,不必关心数据库的存储结构和具体实现方式。,2.1.4 数据联系的描述,在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体集内部的联系和实体集之间的联系。实体内部的联系通常是指组
5、成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。两个实体集之间的联系 一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有一个实体(也可以没有)与之联系,反之亦然,则称实体集A与实体集B有一对一联系,记为1:1。,如果对于实体集A中的每一个实体,实体集B中有N个实体(N0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:N。,一对多联系(1:N),例,一对多联系,如果对于实体集A中的每一个实体,实体集B中有N个实体(N0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有
6、M个实体(M0)与之联系,则称实体集A与实体集B具有多对多联系,记为M:N。,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。,多对多联系(M:N),例,多对多联系,两个以上的实体间的联系 若实体E1,E2,En之间存在联系,对于实体Ej与(j=1,2,i-1,i+1,n)中给定实体,最多只和Ei中的一个实体相联系,则说Ei与E1,E2,Ej-1,Ej+1,En联系是一对多的。例1:对于课程、教师与参考书3个实体,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。,例2:有3个
7、实体:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。,单个实体集内的联系同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。,2.2 数据模型,2.2.1 数据模型的定义,简单的说:能表示实体类型及实体间联系的模型称为“数据模型”。或者说:在数据库技术中,数据模型是数据库系统的核心和基础。数据库的各种用户都用数据模型
8、这个工具来抽象、表示和处理现实世界中的数据和信息。通过数据模型这种数学形式,将形形色色的、千变万化的事物抽象成计算机可以表示的形式。,什么是数据模型?,模型是对现实世界的抽象。,2.2.1 数据模型的定义,数据模型的种类很多,目前被广泛使用的可分为两种类型。(1)一种是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型”。(2)一种数据模型是直接面向数据库的逻辑结构,它是对现实世界的第二层抽象。这类模型直接与DBMS有关,称为“逻辑数据模型”,简称“逻辑模型”。例如:层次、网状、关系、面向对象等模型。这种模型有严格的
9、形式化定义,以便于在计算机系统中实现。,现实世界中客观对象的抽象过程,(1)把现实世界中的客观对象抽象为某一种信息结构,这种结构并不依赖于具体的计算机系统,不是某一个数据库管理系统DBMS支持的数据模型,而是概念级的模型(2)然后将概念模型转换为计算机上某一DBMS支持的数据模型,逻辑模型,2.2.2 实体联系模型 2.2.3 层次模型 2.2.4 网状模型 2.2.5 关系模型 2.2.6 面向对象模型,2.2.2 实体联系模型,概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型表示的常用方法实体-联系方法:该方法用ER图来描述现实世界的。ER 图
10、提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。,E-R图,实体型用矩形表示,矩形框内写明实体名。,学生,教师,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。,联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),联系的属性,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,例:根据学校的教学情况来建立ER图。教学情况可由学生、课程、教师、学习、任课等组成。学生对课程是
11、多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学习;教师对课程是一对多联系:一个教师可以讲授多门课程,但一门课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看做几门课程,它们的课程名可以相同,但课程号不能相同,用以区别,这样就可以满足一对多的假设)。,2.2.3 层次模型,层次数据模型的数据结构 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。有且只有一个结点没有双亲结点,这个结点称为根结点;根以外的其他结点有且只有一个双亲结点。,几个术语:根结点 双亲结点 兄弟结点 叶结点,表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每
12、个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系。,例:教员-学生层次数据库,特点:结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在,表示多对多关系层次数据模型只能直接表示一对多(包括一对一)的联系,多对多的联系只能通过分解才能在层次数据库中表示出来。分解的方法有两种:冗余结点法、虚拟结点法。,层次数据模型的存储结构*,层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系,常用的数据存储方法有两种:(1)邻接法:按照层
13、次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理组织空间的位置相邻来体现(或隐含)层次顺序。,(2)链接法:用指引元来反映数据之间的层次联系。,(a)子女-兄弟链接法,(b)层次序列链接法,层次数据模型的优点:(1)层次数据模型本身比较简单,易于理解。(2)对于实体间联系是固定的,而且预先定义好的应用系统,采用层次模型来实现,其性能优于关系数据库,不低于网状模型的数据库。(3)层次数据模型的约束条件也提供了良好的完整性支持。,层次模型的缺点:(1)现实世界中很多联系是非层次的,如多对多联系、一个结点具有双亲等,层次数据模型表示这类联系的方法很笨拙,只能通过引入冗余结点(易产生不一致性)或
14、创建非自然的数据组织(引入虚拟结点)来解决。(2)对插入和删除操作的限制比较多,编辑比较复杂(3)查询子女结点必须通过双亲结点,复杂查询支持不够(4)由于结构严密,层次命令趋于程序化,不太灵活。,2.2.4 网状模型,DBTG系统,亦称CODASYL系统由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术70年代推出实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE,网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:(1)允许一个以上的结点无
15、双亲;(2)一个结点可以有多于一个的双亲。,表示方法(与层次数据模型相同)实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之 间的一对多的父子联系。,例:,网状数据模型的优点:能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种联系。具有良好的性能,存取效率较高。,网状数据模型的缺点:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。因此用户不易掌握和使用。由于记录之间的联
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 结构 原理 应用 刘金岭

链接地址:https://www.31ppt.com/p-5905184.html