第2章数据库系统结构数据库原理及应用刘金岭.ppt

上传人:本田雅阁 文档编号:2252526 上传时间:2019-03-11 格式:PPT 页数:84 大小:735.51KB
返回 下载 相关 举报
第2章数据库系统结构数据库原理及应用刘金岭.ppt_第1页
第1页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭.ppt_第2页
第2页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭.ppt_第3页
第3页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第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)与

6、之联系,反之,对于实体集B中的每一个实体,实体集A中也有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个实体,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使

7、用,则课程与教师、参考书之间的联系是一对多的。,例2: 有3个实体:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。,单个实体集内的联系 同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。,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 实体联系模型,概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念

10、。 概念模型表示的常用方法 实体-联系方法: 该方法用ER图来描述现实世界的。 ER 图提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。,E-R图,实体型 用矩形表示,矩形框内写明实体名。,学生,教师,属性 用椭圆形表示,并用无向边将其与相应的实体连接起来。,联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),联系的属性,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

11、。,例:根据学校的教学情况来建立ER图。 教学情况可由学生、课程、教师、学习、任课等组成。 学生对课程是多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学习;教师对课程是一对多联系:一个教师可以讲授多门课程,但一门课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看做几门课程,它们的课程名可以相同,但课程号不能相同,用以区别,这样就可以满足一对多的假设)。,2.2.3 层次模型,层次数据模型的数据结构 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。 有且只有一个结点没有双亲结点,这个结点称为根结点; 根以外的其他结点有且只有一个双亲结点。,几个术语: 根结

12、点 双亲结点 兄弟结点 叶结点,表示方法 实体型:用记录类型描述。 每个结点表示一个记录类型。 属性:用字段描述。每个记录类型可包含若干个字段。 联系:用结点之间的连线表示记录(类)型之间的一对多的联系。,例: 教员-学生层次数据库,特点: 结点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在,表示多对多关系 层次数据模型只能直接表示一对多(包括一对一)的联系,多对多的联系只能通过分解才能在层次数据库中表示出来。分解的方法有两种:冗余结点法、虚拟结点法。,

13、层次数据模型的存储结构 *,层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系,常用的数据存储方法有两种: (1) 邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理组织空间的位置相邻来体现(或隐含)层次顺序。,(2) 链接法:用指引元来反映数据之间的层次联系。,(a)子女-兄弟链接法,(b) 层次序列链接法,层次数据模型的优点: (1) 层次数据模型本身比较简单,易于理解。 (2)对于实体间联系是固定的,而且预先定义好的应用系统,采用层次模型来实现,其性能优于关系数据库,不低于网状模型的数据库。 (3)层次数据模型的约束条件也提供了良好的完整性支持。,层次模型的缺点

14、: (1) 现实世界中很多联系是非层次的,如多对多联系、一个结点具有双亲等,层次数据模型表示这类联系的方法很笨拙,只能通过引入冗余结点(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。 (2) 对插入和删除操作的限制比较多,编辑比较复杂 (3) 查询子女结点必须通过双亲结点,复杂查询支持不够 (4) 由于结构严密,层次命令趋于程序化,不太灵活。,2.2.4 网状模型,DBTG系统,亦称CODASYL系统 由DBTG提出的一个系统方案 奠定了数据库系统的基本概念、方法和技术 70年代推出 实际系统 Cullinet Software Inc.公司的 IDMS Univac公司的 D

15、MS1100 Honeywell公司的IDS/2 HP公司的IMAGE,网状数据模型的数据结构 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型: (1)允许一个以上的结点无双亲; (2)一个结点可以有多于一个的双亲。,表示方法(与层次数据模型相同) 实体型:用记录类型描述。 每个结点表示一个记录类型。 属性:用字段描述。 每个记录类型可包含若干个字段。 联系:用结点之间的连线表示记录(类)型之 间的一对多的父子联系。,例:,网状数据模型的优点: 能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种联系。 具有良好的性能,存取效率较高。,网状数据模型的缺点: 结

16、构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。因此用户不易掌握和使用。 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节。这样就加重了编写应用程序的负担。,2.2.5 关系模型,最重要的一种数据模型,也是目前主要采用的数据模型 1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出 课程的重点,从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。,1、关系数据模

17、型的数据结构,关系(Relation): 一个关系对应通常说的一张表,如表2.2中的这张学生登记表。元组(Tuple) 表中的一行即为一个元组。 属性(Attribute): 表中的一列即为一个属性,给每一个属性起一个名称即属性名。如这张表有6列,对应6个属性:学号,姓名,年龄,性别,系名和年级。 码(Key): 也称为码键。表中的某个属性组,它可以惟一确定一个元组,如表2.2中的学号,可以惟一确定一个学生,也就成为本关系的码。 域(Domain): 属性的取值范围,如人的年龄一般在1150岁之间,大学生年龄属性的域是(1438),性别的域是(男,女),系名的域是一个学校所有系名的集合。分量

18、元组中的一个属性值。 关系模式 :对关系的描述,一般表示为 关系名(属性l,属性2,属性n),关系模型的基本概念:,实体及实体间的联系的表示方法: 实体型:直接用关系(表)表示。 属性:用属性名表示。 一对一联系:隐含在实体对应的关系中。 一对多联系:隐含在实体对应的关系中。 多对多联系:直接用关系表示。,例1 学生、系、系与学生之间的一对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 系 (系号,系名,办公地点) 例2 系、系主任、系与系主任间的一对一联系: 系 (系号,系名,办公地点,工号) 系主任(工号,姓名,),例3 学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年

19、龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),关系必须是规范化的,满足一定的规范条件 最基本的规范条件:关系的每一个分量必须是一个不 可分的数据项。,关系和现实生活中的表格所使用的术语的对比,2.关系数据模型的操作与完整性约束,(1)操作包括:查询、插入、删除、更新。 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,(2)三大类约束条件: 实体完整性、参照完整性、用户定义的完整性,3.关系数据模型的存储结构,表以文件形式存储 有的DBMS一个表对应一个操作系统文件 有的DB

20、MS自己设计文件结构,4.关系模型的优缺点,优点 建立在严格的数学概念的基础上 概念单一。数据结构简单、清晰,用户易懂易用 实体和各类联系都用关系来表示。 对数据的检索结果也是关系。 关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作,缺点 存取路径对用户透明导致查询效率往往不如非关系数据模型 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度,2.2.6 面向对象模型,数据管理的复杂性,使得层次、网状和关系模型难以解决。 数据成分也由单一数据,发展为图形、图像、视频、音频、地图、框图、指纹和声音等。 面向对象的

21、软件设计方法已得到广泛成功的应用。 对象(Object) 类(Class),面向对象数据库系统的优点: 能有效地表达客观世界和有效地查询信息:面向对象方法综合了在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领域的内容。 可维护性好:在耦合性和内聚性方面,面向对象数据模型的性能尤为突出。 能很好地解决“阻抗不匹配”(impedance mismatch)问题:应用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。,面向对象数据库系统的缺点 : 技术还不成熟:面向对象模型还存在着标准化问题,是否修改SQL以适应面向对象的程序,还是用新的对象查询语

22、言来代替它,目前还没有解决。 面向对象系统开发的有关原理才刚开始,只是具有雏形,还需要一段时间的研究。但在可靠性、成本等方面还是令人可以接受的。 理论还需完善:到现在为止没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。,2.3 数据库的体系结构 主要内容 三级模式结构 三级结构和两级映像 两级数据独立性,数据库系统内部的模式结构 从数据库管理系统角度看 数据库系统外部的体系结构 从数据库最终用户角度看,从数据库管理系统的抽象层次看,数据库系统通常采用三级模式结构,“型” 和“值” 的概念 型(Type) 对某一类数据的结构和属性的说明 值(Value) 是型的一

23、个具体赋值 例如:学生记录 记录型: (学号,姓名,性别,系别,年龄,籍贯) 该记录型的一个记录值: (900201,李明,男,计算机,22,江苏),模式(Schema) 数据库逻辑结构和特征的描述 是型的描述 反映的是数据的结构及其联系 模式是相对稳定的 模式的一个实例(Instance) 模式的一个具体值 反映数据库某一时刻的状态 同一个模式可以有很多实例 实例随数据库中的数据的更新而变动,2.3.1三级模式结构,数据库的体系结构分成三级:外部级(External)、概念级(Conceptual)和内部级(Internal)。这个结构称为“数据库的体系结构”,有时亦称为“三级模式结构”,或

24、“数据抽象的三个级别”。,1模式(Schema),模式(也称逻辑模式) 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有一个模式 模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关 模式的定义 数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系 数据有关的安全性、完整性要求,2. 外模式(External Schema),外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与

25、某一应用有关的数据的逻辑表示,外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多 外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同 外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使用, 但一个应用程序只能使用一个外模式。,外模式的用途 保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式中的数据,3内模式(Internal Schema),内模式(也称存储模式) 是数据物理结构和存储方式的描述 是数据在数据库内

26、部的表示方式 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定 一个数据库只有一个内模式,数据库的三个模式结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储。,2.3.2 三级结构和两级映象,三级模式是对数据的三个抽象级别 二级映象在DBMS内部实现这三个抽象层次的联系和转换,1、外模式/模式映像,存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。 外模式/模式映像一般是放在外模式中描述的。三级模式结构中,模式即全局逻辑

27、结构是数据库的中心与关键,它独立于其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。,外模式模式映象的用途,保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2、模式/内模式映像,存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。由于这两级的数据结构可能不一致,即记录类型、字段类型的命名和组成可能不一样,因此需要这个映像说明概念记录和内部记录之间的对应性。 模式/内模式映像一般是放在内模式中描述的。,模式内模式映象的用

28、途,保证数据的物理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,2.3.3 两级数据独立性,数据独立性(Data Independence) 是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两个级别。 物理数据独立性 逻辑数据独立性,数据库系统外部的体系结构*,分布式结构 客户/服务器结构 浏览器/应用服务器/数据库服务器结构,分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的

29、不同结点上。 网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用 同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,优点 适应了地理上分散的公司、团体和组织对于数据库应用的需求。 缺点 数据的分布存放给数据的处理、管理与维护带来困难。 当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,客户服务器结构的数据库系统,把DBMS功能和应用分开 网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器 其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机,客户服务器数据库系统的种类,集中的服务器结构 一台数据

30、库服务器,多台客户机 分布的服务器结构 在网络中有多台数据库服务器 分布的服务器结构是客户服务器与 分布式数据库的结合,客户服务器结构的优点: 客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量 数据库更加开放 客户与服务器一般都能在多种不同的硬件和软件平台上运行 可以使用不同厂商的数据库应用开发工具,“胖客户”问题: 系统安装复杂,工作量大。 应用维护困难,难于保密,造成安全性差。 相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。 系统规模达到数百数千台客户机,它们的硬件配置、 操作系统又常常不同,要为每一个客户机安装应用程 序和相应的工具模块,其安装维护代价便不可接受了。,客户服务器结构的缺点,浏览器/应用服务器/数据库服务器结构,客户端: 浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握 大大减少了培训时间与费用。 服务器端分为两部分: Web服务器、应用服务器 数据库服务器等 大大减少了系统开发和维护代价 能够支持数万甚至更多的用户,嵌入式数据管理系统的结构,本章的重要概念,概念、逻辑和物理设计中的数据描述 数据联系的描述 数据模型的定义 实体间二元联系 ER模型 数据库的体系结构 三级结构 两级映象 两级数据独立性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1