《数据库原理第二章数据库系统结构.ppt》由会员分享,可在线阅读,更多相关《数据库原理第二章数据库系统结构.ppt(57页珍藏版)》请在三一办公上搜索。
1、1,数据库原理,第二章 数据库系统结构,2,本章内容概要,数据模型概念设计中的数据描述数据模型的定义及组成结构(三要素)实体联系模型结构数据模型数据库系统结构数据库系统的三级模式结构数据库的二级影响功能与数据独立性DBMS的工作过程,3,数据模型 数据模型中的数据描述,组成的基本要素.,2.1 数据模型,4,数据库的数据模型,数据模型数据模型是对客观事物及其联系的数据描述,即实体模型的数据化,是数据在数据库中排列、组织所遵循的规则,以及对数据所能进行操作的总体。简单地说,数据模型是实体和实体之间联系的模型。具体地,数据库数据结构、数据库操作集合和完整性规则集合组成数据库的数据模型。数据模型分为
2、三类:面向记录的传统数据模型、注重描述数据及其之间语义的语义数据模型和面向对象的数据模型。,5,(一)传统数据模型,传统数据模型在20世纪六七十年代就发展起来了。主要有网络、层次和关系三种。层次模型 是一种树状结构的实体与实体之间联系的数据模型,特点:有且仅有一个根节点,其他节点向下可与若干节点联系,但向上只能与唯一的一个节点相联系网络模型 是一种网络结构,数据(实体)之间为网状形式。特点:至少有一个以上的节点无父节点,至少有一个节点的父节点多于1个,任何2个节点之间可有2种以上的联系。,6,层次模型的特点,特点:是一个自顶向下的有向树结构,记录为结点。仅有一个根结点,下一层为从属结点,每个从
3、属结点还可以有从属结点,上一层为父,下一层为子。每个父结点可有任意多个子结点。每个子结点仅有一个父结点。,父、子结点之间的联系是 1:N,7,层次模型适合表示数据记录之间的一对多联系查询路径是自顶向下的单项查询,层次模型的数据结构,8,网状模型的特点,特点:是一个无向图。每个子结点可以有多个父结点。允许有多个无父结点。,结点之间的联系是 M:N,9,网状模型的数据结构,网状模型适合表示数据记录之间的多对多联系查询路径是沿着网络路径按任意方向查询,10,关系模型,以数学理论为基础而构造的数学模型,把实体与实体之间的联系用二维表表示,并称为关系或表。一般地,具有如下性质的二维表能够称为关系:每一列
4、中的数据必须具有相同的名字和类型;表中行和列的顺序可以任意;表中各行相异,不允许有重复的行;表中的数据项是不可再分的最小的数据项。若表中的一或多个字段在各个记录中的值是唯一的,则这些字段可指定为“主键”,用来标识表的行(记录)。,11,关系模型的特点,特点:关系模型的数据结构是二维表。关系模型是关系模式的集合。关系模式相当于表结构。表(关系)、行(元组)、列(属性)。,表的特性 元组惟一 行的次序无关 列的次序无关,12,关系模型的数据结构,关系模型适合表示数据记录之间的任意联系不需要规定查询路径,而用关系运算表达式来描述查询,教学管理数据库的关系数据模型,课程号,课程名,学分,课程,学号,姓
5、名,性别,年龄,籍贯,教师号,教师名,职称,学生,教师,学号,课程号,成绩,选课,课程号,教师号,任课,13,(二)语义数据模型,语义数据模型发展的最初动机是克服传统数据模型偏重数据结构的缺陷,提供不受具体的实现结构限制、更多面向用户的模型。语义模型提供一种“自然”的机制来说明数据库的设计,同时更准确地表示实体(数据)和实体之间的关系。语义数据模型提供了强有力的抽象构造机制,如概括和聚合。概括允许把相似对象形成组,集中到一个更普遍的组对象上。聚合允许从对象的性质或属性中抽象出实体,如一个聚合对象地址由街道、城市、州、国家和邮编组成。语义数据模型的典型是关系-实体模型(E-R)。,14,(三)面
6、向对象的数据模型,它起源于面向对象的程序设计语言。对象是客观世界实体的抽象描述,由信息和对数据的操作组合而成;类是对多个相似对象共同特性的描述;消息是对象之间通信的手段,用来表示对象的操作;方法是对象接收到消息后应采取的动作序列的描述;实例是由一特定类描述的具体对象。面向对象数据模型吸收了语义数据模型中概括和聚合的概念,以及传统数据库管理中的共享、并发、查询语言等概念,形成了面向对象的数据模型,提供了表示复杂对象的能力,可以在任意层次上嵌套各种类型的数据结构。,15,数据模型的特性及分类,数据模型的特性数据组织结构:数据对象类型的集合数据操作:数据操作的集合数据的完整性约束:数据完整性规则的集
7、合数据模型的分类基于记录的逻辑模型:层次、网状、关系基于对象的逻辑模型:ER、FD、OO,实体联系,函数数据,面向对象,DB静态特征,DB动态特征,16,信息世界中的基本概念,实体:实体是指客观存在并可以相互区别的事物。属性:属性是指实体所具有的某一特性。码:码是指唯一标识实体的属性集。域:域是指属性的取值范围,具有相同的数据类型的数据集合。实体型:具有相同属性的实体必然具有共同的特征和性质。实体集:实体集是指同型实体的集合。联系:在现实世界中,事物内部以及事物之间是有关联的。两个实体型之间的联系有以下三种:一对一联系;一对多联系;多对多联系。两个实体型之间的三类联系可以用如下图所示来表示。,
8、17,基于记录的逻辑模型:概念与术语,现实世界事务特征,信息世界实体属性实体集实体标识符,机器世界记录(record)数据项(field)文件(file)关键字(key),类型(type)对数据项特征的描述,值(value)数据项的具体内容,18,信息3个世界的术语联系,基于记录的逻辑模型:术语应用实例,实体,内部联系,学生,学,号,姓,名,年龄,性别,籍贯,学生,1,990927,胡,伟,22,男,湖南,学生,2,990652,张春明,24,男,湖北,学生,3,991091,程会军,23,男,山西,学生,4,990676,王,翌,22,女,四川,实体值,1,型,实体值,3,实体值,4,值,1
9、,值,2,值,3,值,4,型,事物,特征,现实世界,实体,属性,记录,项,机器世界,信息世界,实体之间的联系,19,数据模型的定义,数据模型是对现实世界的抽象能表示实体类型和实体间联系的模型称为数据模型,现实世界,概念模型,逻辑模型,认识抽象,转换,20,数据模型,模型是现实世界特征的模拟和抽象。数据模型也是一种模型,它能实现对现实世界数据特征的抽象。数据模型应满足三方面的要求:比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现。根据模型应用的不同目的,分为两类。一类模型是概念模型,也称信息模型。一般应具有以下能力:(1)具有对现实世界的抽象与表达能力(2)完整、精确的语义表达力(3)
10、易于理解和修改。(4)易于向DBMS所支持的数据模型转换 另一类模型是数据模型,包括层次模型、网状模型、关系模型等,它是按计算机系统对数据建模,主要用于DBMS的实现。数据模型是数据库系统的核心和基础,各种机器上实现的DBMS软件都是基于某种数据模型的。,21,为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换(或数据化)为机器世界。这一过程如右图所示。数据模型的组成要素,数据模型,22,数据模型的三个组成要素,数据模型描述了系统的三个方面:静态特性、动态特性和完整性约束条件。一般由数据结构、数据操作和完整性约束三部分组成
11、,是严格定义的一组概念的集合。,23,数据模型的组成要素,一、数据结构数据结构用于描述系统的静态特性,是所研究的对象类型的集合。二、数据操作数据操作用于描述系统的动态特性,是指对数据库中各种对象及对象的实例允许执行的操作的集合。三、数据的约束条件数据的约束条件是一组完整性规则的集合。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。数据模型还应该提供自定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。,24,概念模型,概念模型是现实世界到机器世界的一个中间层次。信息世界中的基本概念概念模型的表示 层次模型概述,25,例如,对于教师、课程与参考
12、书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书三者间的联系是一对多的,如下图所示。要注意的是三个实体型之间多对多联系与三个实体型两两之间的多对多联系(共有三个)的语义及E-R图是不同的。,信息世界中的基本概念,26,图例:两个实体型之间的三类联系,27,图例:两个实体型之间的三类联系,28,同一个实体型对应的实体集内的各实体之间也可以存在一对一、一对多、多对多的联系的(可以把一个实体集逻辑上看成两个与原来一样的实体集来理解)。例如:同学实体集内部同学与同学之间老朋友的关系可能是多对多的(如下图所示)
13、,这是因为每位同学的老朋友往往有多位。,信息世界中的基本概念,29,图例:一个实体型实体之间的多对多联系,30,概念模型的表示,最常用的是实体联系方法。该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法。实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆表示,椭圆形内写明属性名。并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。,31,如右图所示就是一个班级、学生的概念模型(用E-R图表示),班级实体型与学生实体型之间很显然是一对多关系。应用时应
14、针对某实际情况,试着设计反映实际内容的实体及实体联系的E-R图。,概念模型的表示,32,(现实、信息、机器)世界/关系数据库间对照表,33,2.2 数据库系统结构,从数据库管理系统内部系统结构看,数据库系统通常采用三级模式结构外模式、模式和内模式。从数据库外部的体系结构看,数据库系统的结构分类集中式结构、分布式结构、客户/服务器并行结构等。2.2.1 数据库系统的三级模式结构 2.2.2 数据库的二级映象功能与数据独立性 2.2.3 数据库管理系统的工作过程,34,2.2.1 数据库系统三级模式结构 数据库的ANSI模型,数据库分为三级:对数据的三个抽象级别用户级:对应于外模式,又称为用户视图
15、。概念级:对应于概念模式,又称为 DBA视图。物理级:对应于内模式,又称为内部视图。两级映射:实现这三个抽象层次的联系和转换外/概念映射:定义了外模式和概念模式之间的对应关系。概念/内映射:定义了概念模式和内模式之间的对应关系。,35,数据库系统结构,数据库的ANSI模型,用户,2,用户,1,用户,3,外模式,外模式,外,/,概念映射,概念模式,概念,/,内映射,内,模,式,DBMS,用户级数据库,概念级数据库,物理级数据库,外模式,概念模式,内模式,用户视图,DBA视图,内部视图,36,数据库系统的三级模式结构,数据库系统的三级模式结构是指外模式、模式和内模式。如上图所示。一、外模式(Ext
16、ernal Schema)外模式也称子模式(SubSchema)或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。把普通用户看到和使用的数据库内容称为视图。视图集也称为用户级数据库,它对应于外模式。外模式通常是模式的子集。一个数据库可以有多个外模式。同一外模式也可以为某一用户的多个应用系统所用,但一个应用程序只能使用一个外模式。,37,数据库系统的三级模式结构 概念模式,概念模式(Conceptual Schema)数据库中全部数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求概念模式的地位:是数据库系统结构的中间层与数据的物理存
17、储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关概念模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求,38,数据库系统的三级模式结构 外模式,外模式(External Schema):概念模式的子集数据库用户使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式的地位:介于概念模式与应用之间概念模式与外模式的关系:一对多外模式与应用的关系:一对多外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,39,二、模式(Schema)模式又称概念模式,
18、也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。它是数据库系统模式结构的中间层。概念模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系、定义与数据有关的安全性、完整性要求。三、内模式(Internal Schema)内模式也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。,数据库系统的三级模式结构,40,数据库系统三级模式结构概念比较表,41,数据库系统三级模式结构概念比较表(续),42,数据库的二级映象功能与数据
19、独立性,为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象,模式/内模式映象。这两层映象保证了数据库系统的数据能够具有较高的逻辑独立性和物理独立性。一、外模式/模式映象 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性,简称为数据逻辑独立性。,43,二、模式/内模式映象 数据库中只有一个模式,也只有一个
20、内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称为数据物理独立性。在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。,2.2.2 数据库的二级映象功能与数据独立性,44,数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于内模式和存储设备。数据库的二级映
21、象保证了数据库外模式的稳定性,从而根本上保证了应用程序的稳定性,使得数据库系统具有较高的数据与程序的独立性。数据库的三级模式与二级映象使得数据的定义和描述可以从应用程序中分离出去。,数据库的二级映象功能与数据独立性(续),45,数据库管理员(DBA),数据库管理员是设计、建立、管理和维护数据库的人员。DBA的职责 数据库的规划。数据库设计与建立。运行与控制。数据库的使用。,46,2.2.3 数据库管理系统的工作过程,数据库管理系统控制的数据操作过程基于数据库系统的三级模式结构与二级映象功能,总体操作过程能从其读或写一个用户记录的过程大体反映出来。下面就以应用程序从数据库中读取一个用户记录的过程
22、(如下图所示)来说明。按照步骤解释运行过程如下:(1)应用程序A向DBMS发出从数据库中读用户数据记录的命令;(2)DBMS对该命令进行语法检查、语义检查,并调用应用程序A对应的子模式,检查A的存取权限,决定是否执行该命令。如果拒绝执行,则转(10)向用户返回错误信息,47,数据库管理系统的工作过程(续1),(3)在决定执行该命令后,DBMS调用模式,依据子模式/模式映象的定义,确定应读入模式中的哪些记录;(4)DBMS调用内模式,依据模式/内模式映象的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录;(5)DBMS向操作系统发出执行读取所需物理记录的命令;(6)操作系统执行从物
23、理文件中读数据的有关操作;(7)操作系统将数据从数据库的存储区送至系统缓冲区,48,(8)DBMS依据内模式/模式(模式/内模式映象的反方向看待,并不是另一种新映象,模式/子模式映象也是类似情况)、模式/子模式映象的定义,导出应用程序A所要读取的记录格式;(9)DBMS将数据记录从系统缓冲区传送到应用程序A的用户工作区;(10)DBMS向应用程序A返回命令执行情况的状态信息。,数据库管理系统的工作过程(续1),49,至此,DBMS就完成了一次读用户数据记录的过程。DBMS向数据库写一个用户数据记录的过程经历的环节类似于读,只是过程基本是相反而已。由DBMS控制的大量用户数据的存取操作,可以理解
24、为就是由许许多多这样的读或写的基本过程组合完成的。,2.2.3 数据库管理系统的工作过程,50,2.2.4 数据库系统的体系结构,数据库系统结构受到计算机系统组成结构的影响 按计算机系统组成结构可分为单机系统网络系统分布式系统并行系统,集中式数据库系统网络数据库系统分布式数据库系统并行数据库系统,对应的数据库系统,51,集中式数据库系统:数据库在一台计算机上,可分为单用户系统,多用户系统(数据库在主机上)。网络数据库系统:运行在计算机网络上的,主要有两种模式:客户机/服务器模式和浏览器/Web服务器/数据库服务器模式。分布式数据库系统:数据分别存放在不同的计算机上,用户面对的仍是一个逻辑上完整
25、的数据库。并行数据库系统:采用多CPU和多硬盘的并行工作方式,极大地提高了系统的处理速度和I/O速度。,数据库系统的体系结构 数据库系统可分为,52,数据库系统的体系结构 网络数据库,客户机/服务器模式(Client/Server,C/S),客户机是用户的接口,它向服务器发出请求,并处里返回的结果。,处理客户的请求,将结果返回给客户,网络协议,53,数据库系统的体系结构 网络数据库,浏览器/Web服务器/数据库服务器模式(Browser/Web Server/Database Server,B/S),54,2.2.5 数据库管理系统,数据库管理系统(DBMS)是一种负责数据库的定义、建立、操作
26、、管理和维护的软件系统。DBMS的职能:数据库的定义和建立。数据库的操作。数据库的控制。数据库的维护与故障恢复。数据通信。,55,数据描述语言(DDL),数据描述语言(Data Description Language)数据描述语言的分类外模式描述语言(SDDL):描述数据库的局部逻辑结构。概念模式描述语言(DDL):描述数据库的整体逻辑结构。内模式描述语言(PDDL):描述数据库的存储结构,56,数据操作语言(DML),数据操作语言(Data Manipulation Language)用户操作数据库中数据的工具。数据查询。数据更新(插入、修改、删除)。数据操作语言有两种类型交互型DML:如SQL、QBE等。宿主型DML:如SQL嵌入在C、Java中使用。,DBMS必须提供预编译程序,57,数据库管理的核心功能,核心功能指DBMS的核心程序或称为例行程序数据库管理例行程序:语言处理程序:语言的处理、编译、解释程序。运行控制程序:访问控制、完整性控制、并发控制、存取控制、通信控制等。服务性程序:数据库的装载、恢复、重组、转存,性能监控等。,