资源描述
School of Transportation Science and Engineering, Harbin Institute of Technology 数据库原理及其在土木工程中的应用 主要教材:萨师煊、王珊编著,数据库系统概论(第三版),高等教育出版社,2000参考教材:李建中, 王珊. 数据库基本原理. 电子工业出版社, 2008.Avi Silberschatz, etc. Database System Concepts, 6th Edition. McGraw-Hill, 2003.Hector Garcia-Molina, Jeffrey D.Ullman, Jennifer Widom. Database Systems: The Complete Book (2nd Edition). Prentice Hall, 2010. School of Transportation Science and Engineering, HIT 2 教材 1.绪论2.关系模型3.数据库设计4. SQL5. E-R设计6.数据库系统原理(查询优化、并发控制、灾难恢复)7.实例 School of Transportation Science and Engineering, HIT 3 数据库系统与应用 1.1 概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统外部的体系结构1.5 数据库系统的组成1.6 数据库技术的研究领域1.7 数据库技术的进展1.8 新一代数据库 School of Transportation Science and Engineering, HIT 4 第一章 绪论 1.1.1 数据库的地位1.1.2 五个基本概念1.1.3 数据管理技术的产生和发展 School of Transportation Science and Engineering, HIT 5 1.1 概述 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。1.1.1数据库的地位 School of Transportation Science and Engineering, HIT 6 1.数据(Data)2.数据库(Database)3.数据库管理系统(DBMS)4.数据库系统(DBS)5.数据库管理员(DBA) School of Transportation Science and Engineering, HIT 7 1.1.2 五个基本概念 数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文字、图形、图象、声音数据的特点数据与其语义是不可分的一、数据 School of Transportation Science and Engineering, HIT 8 学生档案中的学生记录(李明,男,1992,江苏,交通信息系,2010)数据的形式不能完全表达其内容数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1992年出生,江苏人,2010年考入交通信息系 School of Transportation Science and Engineering, HIT 9 示例 二、数据库学生登记表 School of Transportation Science and Engineering, HIT 10学号姓名年龄性别所在系年级10004王小明19女信息201010006黄大鹏20男桥梁201010008张文斌18女道路2010 数据库是数据管理的工具。数据管理经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁。数据库是长期储存在计算机内的、有组织的、可共享的、互相关联的、持久的数据的集合。 11 二、数据库管理数据的目的人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加 工处理,进一步抽取有用信息。 数据库应具备的特征/定义:(1)数据库是相互关联的数据的集合数据库中的数据不是孤立的,数据与数据之间是相互关联的,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。如:学籍管理学生、课程两类数据。(2)用综合的方法组织数据顺序、索引、聚簇Cluster School of Transportation Science and Engineering, HIT 12 二、数据库 (3)具有较小的数据冗余,可供多个用户共享低冗余与数据共享:在数据库技术之前,数据文件都是独立的,任何数据文件都必须含有满足某一应用的全部数据。例:人事部门有一个职工文件: School of Transportation Science and Engineering, HIT 13 二、数据库职工基本情况有关人事管理的数据 教育部门也有一个职工文件:职工基本情况有关教育培训的数据 其中,“职工基本情况”重复存储,浪费空间。可共享存储类似这样的共同数据,以降低数据的冗余度 (4)具有较高的数据独立性数据独立性:包括物理独立性、数据独立性。指数据的组织和存储方法与应用程序互不依赖,彼此独立的特性。可降低应用程序的开发代价和维护代价。 School of Transportation Science and Engineering, HIT 14 二、数据库在数据库技术形成之前,数据文件的组织方式和应用程序是密切相关的。数据结构改变,相应的应用程序也必须随之修改 =开发/维护代价 (5)具有安全控制机制,能够保证数据的安全、可靠数据库要有一套安全机制,以便有效地防止数据库中的数据被非法使用/修改;数据库还要有一套备份/恢复机制,以保证当数据遭到破坏时将数据立刻完全恢复 =继续、可靠地运行。 School of Transportation Science and Engineering, HIT 15 二、数据库 (6)允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性一致性:数据库中的数据是共享的,并且允许多个用户同时使用相同的数据。这就要求数据库能够协议一致,保证各个用户之间对数据的操作不发生矛盾和冲突。正确性、完整性: 保证数据正确的特性数据完整性可通过建立一些约束条件保证数据库中的数据是正确的。如:学生年龄20(2或100则错误) School of Transportation Science and Engineering, HIT 16 二、数据库 什么是数据库管理系统(Database Management System, DBMS)?DBMS是位于用户与操作系统之间的一层数据管理软件,数据库的功能/特性不是数据库中的数据固有的,是靠管理或支持数据库的系统软件DBMS提供的。DBMS任务:对数据资源进行管理,使之能为多个用户共享。保证数据的安全性/可靠性/完整性/一致性/独立性。 School of Transportation Science and Engineering, HIT 17 三、数据库管理系统 数据库定义功能:提供数据定义语言(DDL)定义数据库结构和存储结构;定义数据库中数据之间的联系;定义数据完整性约束条件和保证完整性的触发机制等。数据库操纵功能:提供数据操纵语言(DML)完成对数据库中数据的操作:插入、删除、修改;重新组织数据库的存储结构;完成对数据库的备份/恢复等。 School of Transportation Science and Engineering, HIT 18 DBMS主要功能 数据库查询功能以各种方式提供灵活的查询功能,以便方便使用数据。数据库控制功能完成对数据库的安全性控制/完整性控制/并发控制。数据库通信功能在分布式数据库或提供网络操作功能的数据库中还必须提供通信功能。 School of Transportation Science and Engineering, HIT 19 DBMS主要功能 什么是数据库系统数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。它主要包括:1.以数据为主体的数据库。2.管理数据库的系统软件DBMS。3.支持数据库系统的计算机硬件环境和操作系统环境。4.管理和使用数据库系统的人,特别是DBA。5.方便使用和管理系统的技术说明书和使用说明书。 School of Transportation Science and Engineering, HIT 20 四、数据库系统 21 数据库系统示意图数据库最终用户应用系统应用开发工具DBMS操作系统数据库管理员DBA应用程序员 数据库管理员 (DataBase Administrator,DBA)从事数据库管理工作的人员,负责数据库的全面管理工作(维护、设计)数据库的使用会改变企事业单位的管理方式,但因为要把众多部门或用户的数据放在同一数据库中,会带来一些问题,如:数据冲突;越权使用数据;重要数据丢失 因此需要管理部门:负责和数据管理有关的工作。 School of Transportation Science and Engineering, HIT 22 五、数据库管理员 注: DBA工作繁重、重要、关键:除了要掌握一定的数据处理、数据库技术之外,还应有处理好人际关系的素质、能力。在一个企事业中,特别是一个规模较大的数据库,不能指望一两个人来完成管理工作,所以DBA常指数据库管理部门。开发DBS时,一开始就应设置DBA的职位或相应的机构,以明确DBA职责、权限。 School of Transportation Science and Engineering, HIT 23 五、数据库管理员 School of Transportation Science and Engineering, HIT 24 1.1.3 数据管理技术的产生和发展人工管理阶段数据库系统阶段文件系统阶段 在50年代中期以前计算机采用的是批处理方式,主要用于科学计算产生的背景应用需求科学计算硬件:无直接存取存储设备软件:没有操作系统处理方式:批处理 School of Transportation Science and Engineering, HIT 25 一、人工管理阶段 特点数据的管理者:用户(程序员),数据不保存。数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制 School of Transportation Science and Engineering, HIT 26 一、人工管理阶段 应用程序与数据的对应关系 School of Transportation Science and Engineering, HIT 27 一、人工管理阶段应用程序数据集应用程序数据集应用程序数据集n. . 50年代后期60年代中期特点:计算机技术有了很大的发展,开始广泛应用于信息处理存储设备有了磁盘、磁鼓等可直接存取的设备计算机有了操作系统,包括文件管理系统,用户可将数 据组织成文件体交给系统进行自动管理。数据可长期保存在磁盘等存储设备上 程序和数据有了一定的独立性,且文件有多种形式的组织结构:顺序、链接、索引 School of Transportation Science and Engineering, HIT 28 二、文件系统阶段 缺点:(1)数据冗余较大每个文件都是为特定的用途设计的,因此,同样数据在多个文件中重复存储只能提供以文件为单位的数据共享。(2)程序和数据之间的独立性较差应用程序依赖于文件的存储结构,修改文件存储结构就要修改程序 School of Transportation Science and Engineering, HIT 29 二、文件系统阶段 缺点:(3)对数据的表示和处理能力较差文件的结构和操作比较单一,不够丰富。(4)数据不一致由(1)造成,更新时会造成同一数据在不同文件中的不一致。(5)数据联系弱文件与文件之间是独立的,文件之间的联系必须通过程序来构造。尽管如此,文件系统在数据管理技术的发展中仍起着很重要的作用。 School of Transportation Science and Engineering, HIT 30 二、文件系统阶段 应用程序与数据的对应关系 School of Transportation Science and Engineering, HIT 31 二、文件系统阶段应用程序文件应用程序文件2 应用程序文件n存取方法. . 从60年代后期开始,计算机用于信息处理的规模越来越大,对数据管理的技术提出了更高的要求,此时开始提出计算机网络系统和分布式系统,出现了大容量的磁盘,文件系统已不再能胜任多用户环境下的数据共享和处理。一个新的数据库管理技术DBMS由此而形成,它对所有用户数据实行统一的、集中的管理、操作和维护。 School of Transportation Science and Engineering, HIT 32 三、数据库系统阶段 特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:高共享性数据的独立性:高度的物理独立性和一定的逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制 School of Transportation Science and Engineering, HIT 33 三、数据库系统阶段 应用程序与数据的对应关系 School of Transportation Science and Engineering, HIT 34 三、数据库系统阶段DBMS应用程序1应用程序2数据库 降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充 School of Transportation Science and Engineering, HIT 35 数据的高共享性的好处 物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 School of Transportation Science and Engineering, HIT 36 数据的独立性 整体数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项。 School of Transportation Science and Engineering, HIT 37 数据结构化 数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。 School of Transportation Science and Engineering, HIT 38 DBMS对数据的控制功能 并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。DBMS对数据的控制功能 School of Transportation Science and Engineering, HIT 39 按照数据模型的进展情况,数据库系统的发展可划分为三代:第一代:层次数据库系统和网状数据库系统主要支持层次和网状数据模型第二代:关系数据库系统支持关系数据模型,该模型有严格的理论基础,概念简单、清晰,易于用户理解和使用。因此一经提出便迅速发展,成为实力性最强的产品。 School of Transportation Science and Engineering, HIT 40 四、数据库系统的发展 第三代:新一代数据库系统面向对象数据库系统基于扩展的关系数据模型或面向对象数据模型的尚未完全成熟的一代数据库系统 。特点:支持包括数据、对象和知识的管理在保持和继承第二代技术的基础上引进新技术(如OO)对其他系统开放,具有良好的可移植性、可连结性、可扩充性、互操作性。 School of Transportation Science and Engineering, HIT 41 四、数据库系统的发展 模型对客观事物、现象、过程或系统的简化描述所有的数据库系统都为它所要描述的世界建立了模型:数据建模:描述了组织数据的框架结构。如:楼房住户-数据;房间规格-数据模型数据建模 数据的存储方式(数据字典中的定义)业务功能建模:用户的最终需求。业务功能建模最后发展成为应用程序产生高效的应用程序的前提是良好的数据模型。正如10 平米的房间无法成为会议厅一样,一个糟糕的数据模型也无法产生高质量的应用。 School of Transportation Science and Engineering, HIT 42 1.2 数据模型 为什么要建立数据模型(Data Model):象盖大楼的设计图一样,DM可使所有的项目参与者都有一个共同的数据标准。避免出现问题再解决(边干边改的方式)。可及早发现问题。加快应用开发速度。 School of Transportation Science and Engineering, HIT 43 1.2 数据模型 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现实世界数据特征的抽象,是用来描述数据的一组概念和定义。数据模型应满足三方面要求:能比较真实地模拟现实世界容易为人所理解便于在计算机上实现 School of Transportation Science and Engineering, HIT 44 数据模型的概念 1.概念数据模型。也称信息模型,它是按用户的观点来对数据和信息建模。面向用户、面向现实世界的数据模型,反映现实世界的对象及其联系。2.逻辑数据模型。它是按计算机系统的观点对数据建模。主要包括网状模型、层次模型、关系模型等。3.物理数据模型(DBMS/OS相关)。反映数据的存储结构。 School of Transportation Science and Engineering, HIT 45 数据模型的三个层次 认识抽象现实世界信息世界机器世界计算机世界转换概 念 模 型( 信 息 模 型)DBMS支 持的 数 据 模 型 它 是 按 用 户 的 观 点 来对 数 据 和 信 息 建 模 ,主 要 用 于 数 据 库 设 计 。不 依 赖 于 具 体 的 计 算机 系 统 它 是 按 计 算 机 的 观 点 对 数 据 进行 建 模 , 主 要 用 于 DBMS的 实 现 。有 网 状 、 层 次 、 关 系 、 面 向 对 象 等 。School of Transportation Science and Engineering, HIT 46 数据模型间的联系 1.数据结构描述数据的静态特征,包括对数据结构和数据建联系的描述。通常按照数据结构的类型来命名数据模型:层次结构层次模型网状结构网状模型关系结构关系模型2.数据操作描述数据的动态特征:一组定义在数据上的操作(包括操作的含义、操作符、运算规则及其语言等)主要操作:检索与更新(插入、删除、修改) School of Transportation Science and Engineering, HIT 47 1.2.1 数据模型的三要素 3.数据的约束条件完整性规则的集合,数据库中的数据必须满足这组规则。约束条件的主要目的是使数据库与它所描述的现实系统相符合。约束条件作用:设计时:数据模型正确、真实、有效地反映现实。运行时:保证数据库中的数据值真实地体现现实世界的状态。 School of Transportation Science and Engineering, HIT 48 1.2.1 数据模型的三要素 根据数据模型应用目的不同,数据模型有以下几种:1.概念(数据)模型(Conceptual Data Model)面向现实世界建模。主要用来描述现实世界的概念化结构,与具体的DBMS无关。现实世界的事物经过人脑的抽象加工,提取出对用户有用的信息,经过组织整理加工形成现实世界和计算机世界之间的中间模型。CDM只关心现实世界中的事物、事务特征、联系,完全没有与具体及其相关的任何概念。 School of Transportation Science and Engineering, HIT 49 1.2.2常见数据模型 概念模型是系统分析员、程序设计员、维护人员、用户之间相互理解的共同语言。能时数据库的设计人员在设计的初始阶段摆脱计算机系统及DBMS的具体技术问题,集中精力分析 数据、数据之间的联系概念模型必须转换成逻辑模型,才能在DBMS中实现。最常用的概念模型是E-R模型。 School of Transportation Science and Engineering, HIT 50 1.2.2常见数据模型 2.逻辑(数据)模型(Logical Data Model)面向用户建模用户从数据库所看到的数据模型; 是具体的DBMS所支持的数据模型(网状/层次/关系/面向对象);既要面向用户,也要面向系统;LDM表示数据建联系的方法一般的DBMS支持一种LDM(特殊的DBMS支持多种LDM) School of Transportation Science and Engineering, HIT 51 1.2.2常见数据模型 3.物理(数据)模型(Physical Data Model)面向具体的DBMS,面向机器描述数据在存储介质上的组织结构PDM不仅与具体的DBMS有关,还与操作系统和硬件有关每一种逻辑模型在实现时都有其对应的物理模型PDM加入了概念模型中为考虑的因素:触发器、 存储过程、主键、外键、索引等DBMS为保证其独立性和可以执行,大部分PDM 的实现工作由系统自动完成,而设计者只设计 索引、聚簇等特殊结构 School of Transportation Science and Engineering, HIT 52 1.2.2常见数据模型 实体-联系(Entity-Relationship)1.实体、实体型、实体集实体(Entity)客观存在并能相互区分的事物,如:人,数据库课程,正使用的计算机等。一场足球赛不能严格地定义实体,正如几何中“点”,“线”一样。关键之处:一个实体能和别的实体区分开。 School of Transportation Science and Engineering, HIT 53 1.2.3概念模型 实体型(Entity Type)用实体名及属性名集合来抽象刻画同类实体实体集(Entity Set)同型的实体组成的集合。2.属性(Attribute)指实体所具有的某一方面的特性,一个实体可 由若干个属性来刻划。属性取值在一定的范围,称为该属性的值域/域Domain)唯一标识实体的属性集称为码(Key) School of Transportation Science and Engineering, HIT 54 1.2.3概念模型 3.联系(Relationship)实体集合间存在的相互关系为了建立现实世界的完整模型,常常需要对联系分 类,根据一个实体集合的实体可以和多少个另一类实体集合的实体相联系,可将联系分为如下几种: (1) 一 对 一 联 系 ( 1: 1) 系 系 主 任 (2) 一 对 多 联 系 ( 1: n) 班 级 学 生 (3) 一 对 一 联 系 ( m: n) 课 程 学 生 School of Transportation Science and Engineering, HIT 55 1.2.3概念模型 4.实体-联系图确定所有实体集合用矩形方框表示实体集合,方框内标明实体集合名称;选择实体集应包含的属性用椭圆框表示属性,通过无向边连接到实体集。只有一个属性的实体集可用属性代替,附加到它参加的联系上;确定实体集之间的联系 用菱形框表示,框内标明联系的名称,通过无向边(或有向边)连接到参加联系的每个实体集合。 School of Transportation Science and Engineering, HIT 56 1.2.3概念模型 概念数据模型是“概念上”的,是抽象的,它与具体的数据库管理系统无关。逻辑数据模型将与具体的DBMS有关,与DBMS支持的数据和联系的表示或存储有关。数据库中不仅要存放数据本身,还要存放数据间的联系,可用不同的方法表示数据与数据之间的联系。把表示数据与数据之间联系的方法称为逻辑(数据)模型。 School of Transportation Science and Engineering, HIT 57 1.2.4 三种主要的逻辑数据模型 非关系模型层次模型(Hierarchical Model)网状模型(Network Model )数据结构:以基本层次联系为基本单位基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系关系模型(Relational Model)数据结构:表面向对象模型(Object Oriented Model)数据结构:对象 School of Transportation Science and Engineering, HIT 58 1.2.4 三种主要的逻辑数据模型 用树型结构来表示实体之间联系的模型。支持层次模型的典型系统诞生于1970年前后,是IBM公司的IMS(Information Management System)系统。满足下面两个条件的基本层次联系的集合为层次模型。用树型结构来表示各类实体间的联系1.有且只有一个结点没有双亲结点,这个结点称为根结点。2.根以外的其它结点有且只有一个双亲结点。 School of Transportation Science and Engineering, HIT 59 一、层次模型(Hierarchical Data Model) School of Transportation Science and Engineering, HIT 60 实例:学校的领导层数据模型R1 R3R2 R5R4根节点兄弟节点兄弟节点叶节点叶节点叶节点 节点的双亲是唯一的;只能直接处理一对多的实体联系;每个记录类型定义一个排序字段,也称为码字段;任何记录值只有按其路径查看时,才能显出它的全部意义;没有一个子女记录值能够脱离双亲记录值而独立存在。 School of Transportation Science and Engineering, HIT 61 层次数据模型的特点 优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化 School of Transportation Science and Engineering, HIT 62 层次模型的优缺点 满足下面两个条件的基本层次联系的集合为网状模型。用图型结构来表示各类实体间的联系1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。 School of Transportation Science and Engineering, HIT 63 二、网状数据模型 实例:学生-选课-课程数据模型R1 R2R3L1 L2 R1 R2R4 R5R3L1 L2 L3L4 优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用 School of Transportation Science and Engineering, HIT 64 网状模型的优缺点 最重要的一种数据模型,也是目前主要采用的数据模型。1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出。关系模型源于数学,它把数据看成是二维表(关系)中的元素。用关系表示(不需用指针)实体和实体之间联系的模 型称为关系模型。对于用户,关系方法应该是很简单的,但RDBMS很复杂,因为将大量工作都转嫁给了RDBMS。 School of Transportation Science and Engineering, HIT 65 三、关系模型RDBMS的设想与层次、网状数据库同时产生,但研制开发RDBMS却花费了比人们想象的要长得多的时间,所以成为商品并投入使用比层次、网状数据库晚了十几年。但一投入使用就显示了旺盛的活力,并逐步取代层次、网状数据库。 1.3.1 数据库系统内部的模式结构 从数据库管理系统角度看1.3.2 数据库系统外部的体系结构从数据库最终用户角度看 School of Transportation Science and Engineering, HIT 66 1.3 数据库系统结构 数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性 School of Transportation Science and Engineering, HIT 67 1.3.1 数据库系统的模式结构美国国家标准学会(ANSI)所属标准计划和要求委员会在1975年公布的研究报告中提出的。“三级模式”,“两层映射” “型” 和“值” 的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型: (学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值: (900201,李明,男,计算机,22,江苏) School of Transportation Science and Engineering, HIT 68 几个基本概念“型”和“值” 当设计数据库时,对数据库的结构感兴趣,即模式(Schema):数据库中数据的逻辑结构和特征的描述。模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的 School of Transportation Science and Engineering, HIT 69 几个基本概念“模式” 当应用数据库时,关心的是数据库中存在的数据实例(Instance)模式的一个实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动 School of Transportation Science and Engineering, HIT 70 几个基本概念“实例” 数据库中的数据经常变化,而数据库的结构在一定时间范围内不会改变。数据库中结构的定义可以在多个抽象级别进行,形成多个级别的数据库模式。 数据库系统的三级模式不仅可以使数据具有独立性,而且还可以使数据达到共享,使同一数据满足更多用户的不同要求。 School of Transportation Science and Engineering, HIT 71 数据库的三级模式 是数据物理结构和存储方式的描述是数据在数据库内部的表示方式,即对数据的物理结构/存储方式的描述,是低级描述,一般由DBMS提供的语言或工具完成记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定 School of Transportation Science and Engineering, HIT 72 一、内模式(Internal Schema) 要修改存储数据库的结构(例如,用倒排文件代替多链表),那么仅仅需要把这些修改反映在存储模式中;通常我们不关心内模式的具体技术实现,而是从一般组织的观点(即概念模式)或用户的观点(外模式)来讨论数据库的描述。但我们必须意识到基本的内模式和存储数据库的存在。一个数据库只有一个内模式 School of Transportation Science and Engineering, HIT 73 一、内模式(Internal Schema) 模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关 School of Transportation Science and Engineering, HIT 74 二、(逻辑)模式(Schema) 模式的定义,DBMS提供数据定义语言DDL来描述逻辑模式,严格定义:数据的逻辑结构(数据项的名字、类型、取值范围等);数据之间的联系;数据有关的安全性、完整性要求。 School of Transportation Science and Engineering, HIT 75 二、(逻辑)模式(Schema) 外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是模式的子集或变形,是与某一应用有关的数据的逻辑表示不同用户需求不同,看待数据的方式也可以不同,对数据保密的要求也可以不同,使用的程序设计语言也可以不同,因此不同用户的外模式的描述可以使不同的。 School of Transportation Science and Engineering, HIT 76 三、外模式(External Schema) 外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。 School of Transportation Science and Engineering, HIT 77 三、外模式(External Schema) 外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据 School of Transportation Science and Engineering, HIT 78 三、外模式(External Schema) 民航售票系统包括处理航班程序和处理旅客程序。程序的使用人员不必知道关于人事档案、丢失的行 李、飞行员的航行分配等信息;调度员可能需要知道关于航班、飞机和人事档案等 信息(如那些飞行员有资格驾驶747),但不必知道雇员的工资、旅客等信息。所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的部门。 School of Transportation Science and Engineering, HIT 79 举例 Note:视图处理的数据并不实际存储在数据库中,而仅可以从逻辑数据库中构造出来。视图比(逻辑)模式的抽象级别更高。举例:“年龄”在人事部门数据库中,但(逻辑)模式仅包含出生年月。当用户希望通过访问视图得到年龄时,DBMS翻译这个要求,在从物理数据库上取出的数据完成计算。 School of Transportation Science and Engineering, HIT 80 1.3.2 数据库系统的模式结构注:一个数据库只有一个模式,一个内模式,但可以有多个外模式。 School of Transportation Science and Engineering, HIT 81 数据库系统的三级模式结构内模式模式外模式外模式外模式应用A应用A应用A应用A应用A模式/内模式映象外模式/模式映象 三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换 School of Transportation Science and Engineering, HIT 82 三级模式与二级映象 School of Transportation Science and Engineering, HIT 83 数据库系统的三级模式结构内模式模式外模式外模式外模式应用A应用A应用A应用A应用A模式/内模式映象外模式/模式映象 在三级模式中提供了两级映象,保证了数据库系统的数据独立性,既物理独立性与逻辑独立性。1.外模式模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式模式映象映象定义通常包含在各自外模式的描述中 School of Transportation Science and Engineering, HIT 84 1.3.3 数据库的二级映象 数据库系统投入使用后,可能有必要修改模式(如增加新关系、属性、改变类型),这时:重新定义外模式/模式映象 =现存外模式不变 =应用程序不变 School of Transportation Science and Engineering, HIT 85 1.3.3 数据库的二级映象 DBA职责 保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 School of Transportation Science and Engineering, HIT 86 外模式模式映象用途 模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式内模式映象是唯一的该映象定义通常包含在模式描述中 School of Transportation Science and Engineering, HIT 87 二、模式/内模式映象 保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。 School of Transportation Science and Engineering, HIT 88 模式内模式映象的用途 模式是数据库的中心与关键独立于数据库的其它层次设计数据库模式结构时应首先确定数据库的逻辑结构 School of Transportation Science and Engineering, HIT 89 小结 内模式依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。 School of Transportation Science and Engineering, HIT 90 小结(续) 外模式面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动 School of Transportation Science and Engineering, HIT 91 小结(续) 应用程序在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。 School of Transportation Science and Engineering, HIT 92 小结(续) 二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。 School of Transportation Science and Engineering, HIT 93 小结(续) 1.单用户结构2.主从式结构3.分布式结构4.客户/服务器结构5.浏览器/应用服务器/数据库服务器结构 School of Transportation Science and Engineering, HIT 94 1.4 数据库系统外部的体系结构 整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统 School of Transportation Science and Engineering, HIT 95 1. 单用户数据库系统 一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源 School of Transportation Science and Engineering, HIT 96 2. 主从式结构的数据库系统 School of Transportation Science and Engineering, HIT 97 主从式结构的数据库系统主 机 终 端 优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。 School of Transportation Science and Engineering, HIT 98 主从式结构的数据库系统(续) 数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用 School of Transportation Science and Engineering, HIT 99 3. 分布式结构的数据库系统 优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。 School of Transportation Science and Engineering, HIT 100 分布式结构的数据库系统(续) 把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机 School of Transportation Science and Engineering, HIT 101 4客户服务器结构的数据库系统 集中的服务器结构一台数据库服务器,多台客户机分布的服务器结构在网络中有多台数据库服务器分布的服务器结构是客户服务器与 分布式数据库的结合 School of Transportation Science and Engineering, HIT 102 客户服务器数据库系统的种类 客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具 School of Transportation Science and Engineering, HIT 103 客户服务器结构的优点 “胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。 School of Transportation Science and Engineering, HIT 104 客户服务器结构的缺点 客户端:浏览器软件、用户界面浏览器的界面统一,广大用户容易掌握大大减少了培训时间与费用。服务器端分为两部分:Web服务器、应用服务器数据库服务器等大大减少了系统开发和维护代价能够支持数万甚至更多的用户 School of Transportation Science and Engineering, HIT 105 浏览器/应用服务器/数据库服务器结构 数据库/应用系统数据库管理系统(及其开发工具)计算机软/硬件系统数据库管理员用户文档 School of Transportation Science and Engineering, HIT 106 1.5 数据库系统的组成 数据库系统对硬件资源的要求1.足够大的内存操作系统 DBMS的核心模块数据缓冲区应用程序 School of Transportation Science and Engineering, HIT 107 一、硬件平台及数据库 2.足够大的外存 磁盘操作系统 DBMS应用程序数据库及其备份 光盘、磁带、软盘数据备份3.较高的通道能力,提高数据传送率 School of Transportation Science and Engineering, HIT 108 数据库系统对硬件资源的要求 DBMS操作系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统 School of Transportation Science and Engineering, HIT 109 二、软件 数据库管理员系统分析员数据库设计人员应用程序员(最终用户) School of Transportation Science and Engineering, HIT 110 三、人员 决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件 School of Transportation Science and Engineering, HIT 111 1. 数据库管理员(DBA) 监控数据库的使用和运行周期性转储数据库数据文件日志文件系统故障恢复介质故障恢复监视审计文件 School of Transportation Science and Engineering, HIT 112 数据库管理员(续) 数据库的改进和重组性能监控和调优数据重组数据库重构 School of Transportation Science and Engineering, HIT 113 数据库管理员(续) 负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概要设计 School of Transportation Science and Engineering, HIT 114 2. 系统分析员 参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式 School of Transportation Science and Engineering, HIT 115 3. 数据库设计人员 设计和编写应用系统的程序模块进行调试和安装 School of Transportation Science and
展开阅读全文