第01章 数据库概论.ppt
第1章 数据库概论 数据库系统数据库系统数据库系统数据库系统 20102010年年年年本章的重要概念(一)本章的重要概念(一)(1)DB、DBMS和和DBS的定义的定义(2)数据管理技术的发展阶段)数据管理技术的发展阶段人人工工管管理理阶阶段段、文文件件系系统统阶阶段段、数数据据库库系系统统阶段和高级数据库技术阶段等各阶段的特点。阶段和高级数据库技术阶段等各阶段的特点。(3)数据描述)数据描述概念设计、逻辑设计和物理设计等各阶段中概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联数据描述的术语,概念设计中实体间二元联系的描述(系的描述(1:1,1:N,M:N)。本章的重要概念(二)本章的重要概念(二)(4)数据模型)数据模型数数据据模模型型的的定定义义,四四类类数数据据模模型型,逻逻辑辑模模型型的的形形式式定定义义,ER模模型型,层层次次模模型型、网网状状模模型型、关关系系模模型型和和对对象象模模型型的的数数据结构以及联系的实现方式。据结构以及联系的实现方式。(5)DB的体系结构的体系结构三三级级结结构构,两两级级映映象象,两两级级数数据据独独立立性性,体体系系结结构构各各个个层层次中记录的联系。次中记录的联系。(6)DBMS DBMS的工作模式和主要功能。的工作模式和主要功能。(7)DBSDBS的组成,的组成,DBS的全局结构,的全局结构,DBS结构的分类。结构的分类。前前 言言 数据库是数据管理的最新技术,是计算机数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。从小型单项事务处理部门的重要财富和资源。从小型单项事务处理系统到大型信息系统,从联机事务处理到联机系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计分析处理,从一般企业管理到计算机辅助设计与制造、计算机集成制造系统、电子政务、电与制造、计算机集成制造系统、电子政务、电子商务、地理信息系统等,越来越多新的应用子商务、地理信息系统等,越来越多新的应用领域采用数据库技术来存储和处理信息资源。领域采用数据库技术来存储和处理信息资源。前前 言言 对于一个国家来说,数据库的建设对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要已成为衡量这个国家信息化程度的重要标志。因此,数据库课程不仅是计算机标志。因此,数据库课程不仅是计算机科学与技术专业、信息管理专业的重要科学与技术专业、信息管理专业的重要课程,也是许多非计算机专业的选修课课程,也是许多非计算机专业的选修课程。程。前前 言言 从从20世纪世纪50年代中期开始,计算机的应年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。用由科学研究部门逐渐扩展到企业、行政部门。至至60年代,数据处理已成为计算机的主要应用。年代,数据处理已成为计算机的主要应用。在在60年代末,数据库技术作为数据处理中的一年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过门新技术发展起来的。经过40多年的发展,数多年的发展,数据库技术已是计算机软件领域的一个重要分支,据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。本章形成了较为完整的理论体系和实用技术。本章先回顾数据管理技术的发展过程,然后介绍数先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念,以使读者对数据库的概貌据库中的基本概念,以使读者对数据库的概貌有所了解。有所了解。1.1 引言引言n1963年,美国年,美国Honeywell公司的公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序系统投入运行,揭开了数据库技术的序幕。幕。n20世纪世纪70年代是数据库蓬勃发展的年代,网状系统和年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。处于实验阶段。n20世纪世纪80年代,关系系统由于使用简便以及硬件性能年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。的改善,逐步代替网状系统和层次系统占领了市场。n20世纪世纪90年代,关系数据库已成为数据库技术的主流。年代,关系数据库已成为数据库技术的主流。n进入进入21世纪以后,无论是市场的需求还是技术条件的世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、网络数据库技术的推广和普成熟,对象数据库技术、网络数据库技术的推广和普及已成定局。及已成定局。1.2 数据库的由来和发展n磁盘容量的发展磁盘容量的发展n数据管理技术的发展经历了人工管理、文件系统、数据库阶段和高级数据库阶段。时间(年)19561965197119781985199520032007容量(MB轴)5MB30MB100MB600MB5GB10GB180GB1TB1.2.1 人工管理阶段n在人工管理阶段(在人工管理阶段(20世纪世纪50年代中期以前),年代中期以前),计算机主要用于科学计算,其他工作还没有计算机主要用于科学计算,其他工作还没有展开。外部存储器只有磁带、卡片和纸带等,展开。外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有还没有磁盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据汇编语言,尚无数据管理方面的软件。数据处理的方式基本上是批处理。处理的方式基本上是批处理。1.2.1 人工管理阶段n人工管理阶段的数据管理有下列特点:人工管理阶段的数据管理有下列特点:数据不保存在计算机内。没有专用的软件对数据进行管理。只有程序(program)的概念,没有文件(file)的概念。数据的组织方式必须由程序员自行设计与安排。数据面向程序。即一组数据对应一个程序。人工管理阶段应用程序与数据的对应关系 应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.1.2.2 文件系统阶段(一)n在这一阶段(在这一阶段(20世纪世纪50年代后期至年代后期至60年代中年代中期),计算机不仅用于科学计算,还用于信息期),计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、检索管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作系统中的文出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管理软件。数据件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。处理的方式有批处理,也有联机实时处理。1.2.2 文件系统阶段(二)n文件系统阶段的数据管理有以下特点:文件系统阶段的数据管理有以下特点:数据以数据以“文件文件”形式可长期保存在外部存储形式可长期保存在外部存储器的磁盘上。器的磁盘上。数据的逻辑结构与物理结构有了区别,但比数据的逻辑结构与物理结构有了区别,但比较简单。较简单。文件组织已多样化。有索引文件、链接文件文件组织已多样化。有索引文件、链接文件和直接存取文件等。和直接存取文件等。数据不再属于某个特定的程序,可以重复使数据不再属于某个特定的程序,可以重复使用,即数据面向应用。用,即数据面向应用。对数据的操作以记录为单位。对数据的操作以记录为单位。1.2.2 文件系统阶段(二)n随着数据管理规模的扩大,数据量急剧增加,随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:文件系统显露出三个缺陷:数据冗余(redundancy)数据不一致(inconsistency)数据联系弱(poor data relationship)文件系统阶段应用程序与数据的对应关系 应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.1.2.3 数据库阶段(一)n数据管理技术进入数据库阶段的标志是数据管理技术进入数据库阶段的标志是20世世纪纪60年代末的三件大事:年代末的三件大事:1968年美国IBM公司推出层次模型的IMS系统。1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。1.2.3 数据库阶段(二)n数据库阶段的数据管理具有以下特点:数据库阶段的数据管理具有以下特点:采用数据模型表示复杂的数据结构。有较高的数据独立性。数据库系统为用户提供了方便的用户接口。数据库系统提供以下四方面的数据控制功能:数据库的并发控制,数据库的恢复,数据的完整性和数据安全性。增加了系统的灵活性 数据库阶段应用程序与数据的对应关系 DBMS应用程序1应用程序2数据库1.2.3 数据库阶段(三)n数据库系统的结构数据库系统的结构1.2.3 数据库阶段(四)n程序和数据间的联系程序和数据间的联系 n文件系统阶段信息处理的传统方式文件系统阶段信息处理的传统方式1.2.3 数据库阶段(五)n数据库阶段信息处理方式的演变数据库阶段信息处理方式的演变 数据库技术的基本术语(一)数据库技术的基本术语(一)n定义定义1.1 数据库(数据库(Database,简记为简记为DB)DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。数据库技术的基本术语(二)n定义定义1.2 数据库管理系统(数据库管理系统(Database Management System,简记为简记为DBMS)DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。DBMSOSDB 用户数据库技术的基本术语(三)n定义定义1.3 数据库系统(数据库系统(Database System,简记为简记为DBS)DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。n定义定义1.4 数据库技术数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。1.2.4 高级数据库技术阶段(一)n对象数据库系统主要有以下两个特点对象数据库系统主要有以下两个特点 对象数据模型能完整地描述现实世界地数据结构,能表达数据间嵌套、递归的联系。具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。1.2.4 高级数据库技术阶段(二)n分布式数据库系统主要有下面三个特点分布式数据库系统主要有下面三个特点数据库的数据物理上分布在各个场地,但逻辑上是一个整体。每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其它DB和计算机的支持。1.2.4 高级数据库技术阶段(三)n分布式数据库系统 1.2.4 高级数据库技术阶段(四)n开放数据库互连技术开放数据库互连技术 开放数据库互连技术即需要建立一个公共的、与数据库管理系统无关的应用程序设计接口(API),使同一个应用程序可以访问不同的数据库服务器。最先上市的公共API产品是Microsoft公司于1992年推出的ODBC。开放数据库互连技术属于中间件技术。1.2.4 高级数据库技术阶段(五)nXML数据库技术数据库技术 XML是一种能够表达比传统数据模型中的数据结构化程度低的数据语言。与对象数据库相比,XML也提供了一条途径来表示有嵌套结构的数据,但在数据结构化方面有非常大的灵活性。1.2.4 高级数据库技术阶段(六)n现代信息集成技术现代信息集成技术 为了充分利用现有的数据资源,提取管理决策所需要的信息,在20世纪90年代初兴起了三项决策支持新技术:数据仓库联机分析处理技术数据挖掘1.3 数据描述在数据处理中,数据描述将涉及到不在数据处理中,数据描述将涉及到不同的范畴。从事物的特性到计算机中的同的范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段具体表示,实际上经历了三个阶段概念设计中的数据描述、逻辑设计中的概念设计中的数据描述、逻辑设计中的数据描述和物理设计中的数据描述。本数据描述和物理设计中的数据描述。本节先介绍这三个阶段的数据描述,再介节先介绍这三个阶段的数据描述,再介绍数据之间联系如何描述。绍数据之间联系如何描述。1.3.1 概念设计中的数据描述n实体(实体(entity):):客观存在,可以相互区别的事物称为实体。n实体集(实体集(entity set):):性质相同的同类实体的集合,称为实体集。n属性(属性(attribute):):实体有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。n实体标识符(实体标识符(identifier):):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(key),或简称为键。1.3.2 逻辑设计中的数据描述(一)n字段(字段(field):):标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。n记录(记录(record):):字段的有序集合称为记录。n文件(文件(file):):同一类记录的集合称为文件。n关键码(关键码(key):):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。1.3.2 逻辑设计中的数据描述(二)n术语的对应关系术语的对应关系 概念设计逻辑设计 实体 记录 属性 字段(数据项)实体集 文件 实体标识符 关键码1.3.3 物理设计中的数据描述n位(位(bit,比特):比特):一个二进制位称为“位”。一位只能取0或1两个状态。n字节(字节(byte):):8个比特称为一个字节,可以存放一个字符所对应的ASCII码。n字(字(word):):若干个字节组成一个字。一个字所含的二进制位的位数称为字长。各种计算机的字长是不一样的。n块(块(block):):又称为物理块或物理记录。块是内存和外存交换信息的最小单位,每块的大小,通常为210214字节。n桶(桶(bucket):):外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。n卷(卷(volume):):一个输入输出设备所能装载的全部有用信息,称为“卷”。1.3.4 数据联系的描述(一)n定义定义1.5 联系(联系(relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。1.3.4 数据联系的描述(一)n定义定义1.6 二元联系有以下三种类型:二元联系有以下三种类型:n一对一联系:如果实体集一对一联系:如果实体集E1中每个实体中每个实体至多和实体集至多和实体集E2中的一个实体有联系,中的一个实体有联系,反之亦然,那么实体集反之亦然,那么实体集E1和和E2的联系的联系称为称为“一对一联系一对一联系”,记为,记为“1:1”。1.3.4 数据联系的描述(一)n一对多联系:如果实体集一对多联系:如果实体集E1中每个实体可以中每个实体可以与实体集与实体集E2中任意个(零个或多个)实体间中任意个(零个或多个)实体间有联系,而有联系,而E2中每个实体至多和中每个实体至多和E1中一个实中一个实体有联系,那么称体有联系,那么称E1对对E2的联系是的联系是“一对多一对多联系联系”,记为,记为“1:N”。n多对多联系:如果实体集多对多联系:如果实体集E1中每个实体可以中每个实体可以与实体集与实体集E2中任意个(零个或多个)实体有中任意个(零个或多个)实体有联系,反之亦然,那么称联系,反之亦然,那么称E1和和E2的联系是的联系是“多对多联系多对多联系”,记为,记为“M:N”。1.3.4 数据联系的描述(一)n例例1.1 图1.8 一对一联系图1.9 一对多联系1.3.4 数据联系的描述(一)n例例1.1图1.10 多对多联系1.3.4 数据联系的描述(二)n例例1.2 图1.11 三元联系图1.12 一元联系1.4 数据抽象的级别 n模型是对现实世界的抽象。在数据库技术中,模型是对现实世界的抽象。在数据库技术中,数据模型用来描述数据库的结构和语义,对数据模型用来描述数据库的结构和语义,对现实世界的数据进行抽象现实世界的数据进行抽象。n数据模型的种类很多,目前被广泛使用的有数据模型的种类很多,目前被广泛使用的有n概念数据模型概念数据模型 n逻辑数据模型逻辑数据模型n外部数据模型外部数据模型n内部数据模型内部数据模型 概念模型(一)n概念模型具有下列特点:概念模型具有下列特点:概念模型表达了数据的整体逻辑结构,是系统用户对整个应用项目涉及的数据的全面描述。概念模型是从用户需求的观点出发,对数据建模。概念模型独立于硬件和软件。概念模型是数据库设计人员与用户之间进行交流的工具概念模型(二)n定义定义1.8 ER图有三个基本成分:图有三个基本成分:矩形框,用于表示实体类型(考虑问题矩形框,用于表示实体类型(考虑问题的对象)。的对象)。菱形框,用于表示联系类型(实体间联菱形框,用于表示联系类型(实体间联系)。系)。椭圆形框,用于表示实体类型和联系类椭圆形框,用于表示实体类型和联系类型的属性。型的属性。概念模型(三)n例例首先确定实体类型。本问题有三个实体类型:首先确定实体类型。本问题有三个实体类型:零件零件PART,工程项目工程项目PROJECT,零件供应零件供应商商SUPPLIER。确定联系类型。确定联系类型。PROJECT和和PART之间是之间是M:N联系,联系,PART和和SUPPLIER之间也是之间也是M:N联系,分别命名为联系,分别命名为P_P和和P_S.把实体类型和联系类型组合成把实体类型和联系类型组合成ER图。图。确定实体类型和联系类型的属性。确定实体类型和联系类型的属性。确定实体类型的键,在确定实体类型的键,在ER图中属于码的属性图中属于码的属性名下画一条横线。名下画一条横线。1.4.2 概念模型(四)图1.14 ER图实例SUPPLIER 1.4.2 概念模型(五)n例1.4 MMNN PROJECT SUPPLIER PART P_P_S PART SUBPART P图1.15 三元联系图1.16 一元联系逻辑模型 n逻辑模型具有下列特点:逻辑模型具有下列特点:逻辑模型表达了DB的整体逻辑结构,使设计人员对整个应用项目数据库的全面描述。逻辑模型是从数据库实现的观点出发对数据建模。逻辑模型独立于硬件,但依赖于DBMS。逻辑模型是数据库设计人员与应用程序员之间进行交流的工具 层次模型n用树型(层次)结构表示实体类型及实体间联系的数据模型用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(称为层次模型(Hierarchical Model)。)。n树的结点是记录类型,每个非根结点有且只有一个父结点。树的结点是记录类型,每个非根结点有且只有一个父结点。上一层记录类型和下一层记录类型之间的联系是上一层记录类型和下一层记录类型之间的联系是1:N联系。联系。n层次模型的特点是记录之间的联系通过指针来实现,查询效层次模型的特点是记录之间的联系通过指针来实现,查询效率较高。率较高。n层次模型有两个缺点:一是只能表示层次模型有两个缺点:一是只能表示1:N联系,虽然系统有联系,虽然系统有多种辅助手段实现多种辅助手段实现M:N联系但较复杂,用户不易掌握;二是联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。复杂,因此应用程序的编写也比较复杂。层次模型数据结构 1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点层次模型数据结构(续)P3,red,12P2,green,17P1,blue,14P3,s2,200P3,s1,100S1,S2,P3,j3,6P3,j2,25P3,j1,18J1,J2,J3,网状模型n用有向图结构表示实体类型及实体间联系的数用有向图结构表示实体类型及实体间联系的数据模型称为网状模型(据模型称为网状模型(network model)。)。n网状模型的特点是记录之间联系通过指针实现,网状模型的特点是记录之间联系通过指针实现,M:N联系也容易实现(一个联系也容易实现(一个M:N联系可拆成两联系可拆成两个个1:N联系),查询效率较高。联系),查询效率较高。n有向图中的结点是记录类型,箭头表示从箭尾有向图中的结点是记录类型,箭头表示从箭尾的记录类型到箭头的记录类型之间的联系是的记录类型到箭头的记录类型之间的联系是1:N联系。联系。n网状模型的缺点是数据结构复杂和编程复杂。网状模型的缺点是数据结构复杂和编程复杂。网状模型数据结构 学生宿舍学生宿舍学生学生教研室教研室系系教师教师网状模型数据结构(续)J1,p1,50J1,p2,60J2,p2,15J3,p2,6J1,J2,J3,P1,P2,关系模型(一)n关系模型(关系模型(Relational Model)的主要特征的主要特征是用二维表格表达实体集。是用二维表格表达实体集。n与前两种模型相比,数据结构简单,容易为初与前两种模型相比,数据结构简单,容易为初学者理解。学者理解。n关系模型是由若干个关系模式组成的集合。关系模型是由若干个关系模式组成的集合。n关系模式相当于前面提到的记录类型,它的实关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。例称为关系,每个关系实际上是一张二维表格。关系模型(二)n例1.7 图1.21 关系模型的例子PART模式(P#,PNAME,COLOR,WEIGHT)PROJECT模式(J#,JNAME,DATE)SUPPLIER模式(S#,SNAME,SADDR)P_P模式(J#,P#,TOTAL)P_S模式(P#,S#,QUANTITY)关系模型(三)100S2P4BEIJINGFADCS2300S2P3SHANGHAIPICCS1150S1P2SADDRSNAMES#200S2P2SUPPLIER关系100S1P191-3JCJ3QUANTITYS#P#90.5JBJ2P_S关系89.1JAJ118P3J1DATEJNAMEJ#25P3J2PROJECT关系65P2J119REDSCREWP46P3J312REDNUTP315P2J217GREENBOLTP250P1J114BLUESCREWP1TOTALP#J#WEIGHTCOLORPNAMEP#P_P关系PART关系100S2P4BEIJINGFADCS2300S2P3SHANGHAIPICCS1150S1P2SADDRSNAMES#200S2P2SUPPLIER关系100S1P191-3JCJ3QUANTITYS#P#90.5JBJ2P_S关系89.1JAJ118P3J1DATEJNAMEJ#25P3J2PROJECT关系65P2J119REDSCREWP46P3J312REDNUTP315P2J217GREENBOLTP250P1J114BLUESCREWP1TOTALP#J#WEIGHTCOLORPNAMEP#P_P关系PART关系对象模型(一)n对象(object)是现实世界中实体的模型化,与实体概念相仿,但远比实体复杂。n将属性集和方法集相同的所有对象组合在一起,构成了一个类(class)。n系统中所有的类组成了一个有根的有向无环图,叫类层次。n一个类可以从类层次的直接或间接祖先那里继承所有的属性和方法。对象模型(二)PR PA TOTALPA PS QUANTITYS#P#J#对象模型(三)层次模型层次模型网状模型网状模型关系模型关系模型面向对象模型面向对象模型创创始始19681968年年IBMIBM公司的公司的IMSIMS系系统统19691969年年CODASYLCODASYL的的DBTGDBTG报报告告(71(71年通年通过过)19701970年年F.CoddF.Codd提出关提出关系模型系模型2020世世纪纪8080年代年代数据数据结结构构复复杂杂(树结树结构)构)复复杂杂(有向(有向图结图结构)构)简单简单(二(二维维表)表)复复杂杂(嵌套(嵌套递归递归)数据数据联联系系通通过过指指针针通通过过指指针针通通过过表表间间的公共属性的公共属性 通通过对过对象象标识标识查询语查询语言言过过程性程性语语言言过过程性程性语语言言非非过过程性程性语语言言面向面向对对象象语语言言典型典型产产品品IMSIMSIDS/IDS/IMAGE/3000IMAGE/3000IDMSIDMSTOTALTOTALOracleOracleSybaseSybaseDB2DB2SQL ServerSQL ServerInformixInformixONTOS DBONTOS DB盛行期盛行期2020世世纪纪7070年代年代7070年代至年代至8080年代中期年代中期8080年代至年代至现现在在9090年代至年代至现现在在图图1.24 四种逻辑数据模型的比较四种逻辑数据模型的比较外部模型(一)n外部模型中的模式称为视图外部模型中的模式称为视图例如:例如:供应商视图供应商视图SUPPLY_VIEW(s#,sname,p#,pname,quantity)项目视图项目视图PART_VIEW(j#,jname,p#,pname,total)外部模型(二)n外部模型具有下列特点:外部模型具有下列特点:外部模型是逻辑模型的一个逻辑子集。外部模型独立于硬件,依赖于软件。外部模型反映了用户使用数据库的观点。外部模型(三)n外部模型的优点:外部模型的优点:简化了用户观点。有助于数据库的安全性保护。外部模型是对概念模型的支持。内部模型 n内部模型又称为物理模型,是数据库最内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘或磁带底层的抽象,它描述数据在磁盘或磁带上的存储方式(文件的结构)、存取设上的存储方式(文件的结构)、存取设备(外存的空间分配)和存取方法(主备(外存的空间分配)和存取方法(主索引和辅助索引)。索引和辅助索引)。n内部模型与硬件和软件紧密相连。内部模型与硬件和软件紧密相连。三层模式和两级映像(一)n定义定义1.9 从用户(或应用程序从用户(或应用程序)到数据)到数据库之间,库之间,DB的数据结构有的数据结构有3个层次:外个层次:外部模型、逻辑模型和内部模型。这三个部模型、逻辑模型和内部模型。这三个层次要用层次要用DB的的DDL定义,定义以后的内定义,定义以后的内容,称为容,称为“模式模式”,即外模式、逻辑模,即外模式、逻辑模式和内模式式和内模式三层模式和两级映像(二)外模式是用户与数据库系统的接口,是用户外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外用到的那部分数据的描述。外模式由若干个外部记录类型组成。部记录类型组成。逻辑模式是数据库中全部数据的整体逻辑结构逻辑模式是数据库中全部数据的整体逻辑结构的描述。它由若干个逻辑记录类型组成。还包的描述。它由若干个逻辑记录类型组成。还包含记录间联系、数据的完整性和安全性等要求。含记录间联系、数据的完整性和安全性等要求。内模式是数据库在物理存储方面的描述,定义内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。以及数据控制方面的细节。三层模式和两级映像(三)n三层模式体系结构具有以下特点:三层模式体系结构具有以下特点:用户使用用户使用DB的的DML语句对数据库进行语句对数据库进行操作,实际上是对外模式的外部记录进操作,实际上是对外模式的外部记录进行操作。行操作。逻辑模式必须不涉及存储结构、访问技逻辑模式必须不涉及存储结构、访问技术等细节。术等细节。内模式并不涉及物理设备的约束。内模式并不涉及物理设备的约束。三层模式和两级映像(四)n定义定义1.10 三层模式之间存在着两级映像三层模式之间存在着两级映像外模式逻辑模式映象存在于外模式和逻辑模外模式逻辑模式映象存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对式之间,用于定义外模式和逻辑模式之间的对应性。这个映像一般是放在外模式中描述。应性。这个映像一般是放在外模式中描述。逻辑模式内模式映象存在于逻辑模式和内模逻辑模式内模式映象存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对式之间,用于定义逻辑模式和内模式之间的对应性。这个映像一般是放在内模式中描述。应性。这个映像一般是放在内模式中描述。高度的数据独立性(一)n定义定义1.11 数据独立性(数据独立性(data independence)是指应用程序和数据库的是指应用程序和数据库的数据结构之间相互独立,不受影响。数据结构之间相互独立,不受影响。n数据独立性分成物理数据独立性和逻辑数据数据独立性分成物理数据独立性和逻辑数据独立性两个级别。独立性两个级别。高度的数据独立性(二)n物理数据独立性:如果数据库的内模式修改,物理数据独立性:如果数据库的内模式修改,只要对逻辑模式只要对逻辑模式/内模式映像作相应的修改,内模式映像作相应的修改,可以使逻辑模式尽可能保持不变,对于外模式可以使逻辑模式尽可能保持不变,对于外模式和应用程序的影响更小。和应用程序的影响更小。n逻辑数据独立性:如果数据库的逻辑模式修改,逻辑数据独立性:如果数据库的逻辑模式修改,只要对外模式只要对外模式/逻辑模式映像作相应的修改,逻辑模式映像作相应的修改,可以使外模式和应用程序尽可能保持不变。可以使外模式和应用程序尽可能保持不变。1.5 数据库管理系统 数据库管理系统(数据库管理系统(DBMS)是指数据库系)是指数据库系统中对数据进行管理的软件系统,它是数据库统中对数据进行管理的软件系统,它是数据库系统的核心组成部分。对系统的核心组成部分。对DB的一切操作,包括的一切操作,包括定义、查询、更新及各种控制,都是通过定义、查询、更新及各种控制,都是通过DBMS进行的。进行的。1.5.1 DBMS的工作模式(一)图1.22 DBMS的工作模式1.5.1 DBMS的工作模式(二)接受应用程序的数据请求和处理请求接受应用程序的数据请求和处理请求将用户的数据请求(高级指令)转换成复杂将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令)的机器代码(低层指令)实现对数据库的操作实现对数据库的操作从对数据库的操作中接受查询结果从对数据库的操作中接受查询结果对查询结果进行处理(格式转换)对查询结果进行处理(格式转换)将处理结果返回给用户将处理结果返回给用户1.5.1 DBMS的工作模式(三)用户访问数据的过程 图1.23 用户访问数据的过程1.5.2 DBMS的主要功能数据库的定义功能:提供数据定义语言数据库的定义功能:提供数据定义语言(DDL)数据库的操纵功能:提供数据操纵语言数据库的操纵功能:提供数据操纵语言(DML)数据库的保护功能:恢复、并发控制、完整数据库的保护功能:恢复、并发控制、完整性控制、安全性控制性控制、安全性控制数据库的维护功能:数据载入、转换、转储、数据库的维护功能:数据载入、转换、转储、数据库的改组以及性能监控等。数据库的改组以及性能监控等。数据字典数据字典(Data Dictionary,简记为简记为DD):存放三级结构定义的数据库。存放三级结构定义的数据库。1.6 数据库系统 数据库系统(数据库系统(DBS)是采用了数据库技)是采用了数据库技术的计算机系统。术的计算机系统。DBS是一个实际可运行的,是一个实际可运行的,按照数据库方法存储、维护和向应用系统提按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软供数据支持的系统,它是数据库、硬件、软件和数据库管理员的集合体。件和数据库管理员的集合体。1.6.1 DBS的组成(一)nDB是与一个企业组织各项应用有关的全部数据的集是与一个企业组织各项应用有关的全部数据的集合。合。n硬件包括硬件包括CPU、内存、外存、输入、内存、外存、输入/输出设备等硬件输出设备等硬件设备。设备。n软件包括软件包括DBMS、OS、各种主语言和应用开发支撑、各种主语言和应用开发支撑软件等程序。软件等程序。n定义定义1.12 数据库管理员(数据库管理员(DataBase Administrator,简记为简记为DBA)是控制数据整体结是控制数据整体结构的一组人员,负责构的一组人员,负责DBS的正常运行,承担创建、的正常运行,承担创建、监控和维护数据库结构的责任。监控和维护数据库结构的责任。1.6.1 DBS的组成(二)nDBA的主要职责有以下六点:的主要职责有以下六点:定义模式定义模式定义内模式定义内模式与用户的联络。包括定义外模式、应用程序与用户的联络。包括定义外模式、应用程序的设计、提供技术培训等专业服务。的设计、提供技术培训等专业服务。定义安全性规则,对用户访问数据库的授权。定义安全性规则,对用户访问数据库的授权。定义完整性规则,监督数据库的运行。定义完整性规则,监督数据库的运行。数据库的转储与恢复工作。数据库的转储与恢复工作。1.6.2 DBS的全局结构(一)图1.24 DBS的全局结构1.6.2 DBS的全局结构(二)n数据库用户数据库用户nDBMS的查询处理器的查询处理器:可分为:可分为DDL解释解释器,器,DML编译器,嵌入式编译器,嵌入式DML的预编译的预编译器及查询求值引擎。器及查询求值引擎。nDBMS的存储管理器的存储管理器:可分为权限和完:可分为权限和完整性管理器,事务管理器,文件管理器整性管理器,事务管理器,文件管理器及缓冲区管理器。及缓冲区管理器。n磁盘存储器中的数据结构磁盘存储器中的数据结构 1.6.3 DBS结构的分类n集中式集中式DBS(centralized DBS)n客户机服务器式客户机服务器式DBS(client/server DBS,记为记为C/S DBS)n并行式并行式DBS(parallel DBS)n分布式分布式DBS(distributed DBS)1.6.4 应用程序的演变n应用程序从低级到高级大致经历了以下几个应用程序从低级到高级大致经历了以下几个阶段阶段采用采用”交互式交互式SQL”直接使用数据库的方式直接使用数据库的方式采用采用”主语言主语言+嵌入式嵌入式SQL”方式编写应用程方式编写应用程序序采用采用”主语言主语言+ODBC函数函数+嵌入式嵌入式SQL”方方式编写应用程序式编写应用程序采用采用”4GL+事件和函数事件和函数+嵌入式嵌入式SQL”方式编方式编写应用程序写应用程序1.6.5 DBS的效益灵活性灵活性简易性简易性面向用户面向用户有效的数据控制有效的数据控制加快应用系统的开发速度加快应用系统的开发速度维护方便维护方便标准化标准化小 结(一)n数据管理技术经历了人工管理、文件系统、数数据管理技术经历了人工管理、文件系统、数据库和高级数据库技术等四个阶段。数据库系据库和高级数据库技术等四个阶段。数据库系统是在文件系统的基础上发展而成的,同时又统是在文件系统的基础上发展而成的,同时又克服了文件系统的三个缺陷:数据的冗余、不克服了文件系统的三个缺陷:数据的冗余、不一致性和联系弱。一致性和联系弱。n在数据库领域,应该准确使用术语,深刻了解在数据库领域,应该准确使用术语,深刻了解实体间实体间1:1、1:N和和M:N三种联系的意义。三种联系的意义。小 结(二)n数据模型是对现实世