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