《数据库概论》PPT课件.ppt

上传人:小飞机 文档编号:5519526 上传时间:2023-07-16 格式:PPT 页数:105 大小:378.50KB
返回 下载 相关 举报
《数据库概论》PPT课件.ppt_第1页
第1页 / 共105页
《数据库概论》PPT课件.ppt_第2页
第2页 / 共105页
《数据库概论》PPT课件.ppt_第3页
第3页 / 共105页
《数据库概论》PPT课件.ppt_第4页
第4页 / 共105页
《数据库概论》PPT课件.ppt_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《《数据库概论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库概论》PPT课件.ppt(105页珍藏版)》请在三一办公上搜索。

1、,11 数据库系统概述12 数据库中的数据描述13 数据模型14 数据库系统的结构15 数据库系统的组成,第1章数据库系统概论,11 数据库系统概述,数据库技术的基本概念数据库技术的发展历程数据库系统的三个发展阶段,1数据和信息(Data and Information)2数据库(Database,DB)3数据库管理系统(Database Management System,DBMS)4数据库管理员(Database Administrator,DBA)5数据库系统(Database System,DBS)6数据库技术(Database Technology,DBT),111 数据库技术的基本

2、概念,1数据和信息(Data and Information)数据与信息有多种解释。一般而论,数据是对客观事物描述与记载的物理符号,而信息则是数据的集合、含义与解释,是事物变化、相互作用、特征的反映。数据按运算的特性可分为数值型数据和非数值型数据。数值型数据以数字表示,可以进行算术运算;非数值型数据以字符(含数字)等来表示,不能进行算术运算。例如,字符、文字、图表、图形、图像、声音、视频等均属于非数值型数据。,2数据库(Database,DB)数据库指长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并

3、可为各种用户共享。,3数据库管理系统(Database Management System,DBMS)指对数据库进行管理的系统软件,是用户访问数据的接口,提供用户对数据进行定义和操作的各种命令,并能保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。,4数据库管理员(Database Administrator,DBA)指负责设计、建立、管理和维护数据库以及协调用户对数据库要求的个人或工作团队,5数据库系统(Database System,DBS)指引入了数据库后的计算机应用系统,一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员及用户等组成。有时人们常将数

4、据库系统简称为数据库,它可用图1.1表示。,6数据库技术(Database Technology,DBT)指研究数据库结构、存储、设计和使用的一门软件学科,是在操作系统的文件系统的基础上发展起来的。,1人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算,数据管理处于人工管理阶段,其特点是:(1)数据管理无相应的软件系统支持,要靠应用程序自己管理。(2)数据不共享。(3)数据不独立。(4)数据不保存。,112 数据库技术的发展历程,工作中的ENIAC,这部机器使用了18800个真空管,长50英尺,宽30英尺,占地1500平方英尺,重达30吨(大约是一间半的教室大,六只大象重)。它的计算

5、速度快,每秒可从事5000次的加法运算,运作了九年之久。由於吃电很凶,据传ENIAC每次一开机,整个费城西区的电灯都为之黯然失色。,2文件系统阶段20世纪50年代后期至60年代中期,计算机不仅用于科学计算,也大量用于企事业单位的管理,数据管理进入文件系统阶段。这时,已有磁盘、磁鼓等直接存取存储设备,有操作系统支持下的专门数据管理软件,通常称文件系统。用户通过操作系统对文件进行打开、读写、关闭等操作,既可批处理,也可联机实时处理。,112 数据库技术的发展历程,此阶段有如下特点:(1)文件系统利用“按文件名访问,按记录进行存取”的管理技术,可对文件进行修改、插入和删除操作。(2)数据可长期保存,

6、随时供用户使用。(3)数据共享性差。(4)数据独立性低。(5)数据无集中管理,易导致数据的完整性、安全性得不到可靠保证,并在数据的结构、编码、输出格式等方面难以做到规范化和标准化。(6)数据无结构。(7)使用方式不灵活。,文件系统仍然是无弹性的无结构的数据集合,即数据文件之间是孤立的,不能反映现实世界事物之间的内在联系。文件系统中,应用程序与数据的关系如图1.2所示。,112 数据库技术的发展历程,3数据库系统阶段 20世纪60年代后期,计算机磁盘存储技术取得重大进展,大容量和快速存取的磁盘相继投入市场,为新型数据管理技术的开发提供了良好的物质基础。此外,计算机用于管理的规模不断扩大,数据量急

7、剧增长,联机实时处理的要求日渐迫切。文件系统作为数据管理的手段已不能满足用户的需求。为了满足多用户、多应用共享数据的要求,使数据为尽可能多的应用服务,数据库技术应运而生。,112 数据库技术的发展历程,60年代末期出现的对数据库技术有着奠基作用的三件大事,标志着以数据库系统为基本手段的数据管理新阶段的开始。(1)1968年,IBM公司推出了商品化的基于层次模型的信息管理系统IMS。(2)1969年,美国数据系统语言协会(Conference On Data System Language,CODASYL)的数据库任务组(Database Task Group,DBTG)发布了一系列研究数据库方

8、法的DBTG报告,奠定了网状数据模型的基础。(3)1970年,IBM公司的研究人员连续发表文章,提出了关系模型,奠定了关系数据库管理系统的基础,一直沿用至今。,数据库管理系统克服了文件管理方式的缺陷,提高了数据的一致性、完整性,减少了数据冗余。数据库系统阶段,应用程序与数据间的关系如图1.3所示。,112 数据库技术的发展历程,数据库系统的主要特点是:(1)采用数据模型实现数据的结构化、数据的存取方式灵活。(2)数据共享性好,冗余度低。(3)数据独立性高。(4)提供了完整的数据管理与控制功能,包括并发性、完整性、可恢复性、安全性和审计性等。,112 数据库技术的发展历程,113 数据库系统的三

9、个发展阶段,自20世纪60年代末以来,数据库系统经历了三个发展阶段。1.第一代数据库系统 20世纪70年代,普遍流行的网状型和层次型数据库系统是第一代数据库系统。1970年,提出的关系数据模型受到了普遍关注,引起了广泛的研究。有代表性的成果是:1976年IBM公司推出的System R和加州大学伯克利分校的Ingres关系数据库系统。其后,IBM公司在System R的基础上先后推出了SQL/DS(1982)和DB2(1985)两个关系数据库系统。商品化的Ingres也由Ingres公司在1981年完成。Oracle公司1979年推出了关系数据库Oracle(V2.0),这被认为是第一次实现了

10、使用SQL语言的商品化关系数据库软件。由上可见,整个20世纪70年代,数据库理论和技术有了突破性的进展。,113 数据库系统的三个发展阶段,2.第二代数据库系统20世纪80年代出现了以关系数据库为代表的第二代数据库系统。20世纪80年代是数据库技术得到全面发展并逐步走向成熟的年代。其中值得一提的有如下几点。(1)关系数据库系统的发展促进了数据库系统的小型化。(2)随着数据库技术的发展和计算机网络的广泛使用,分布式处理系统,特别是分布式数据库系统在20世纪80年代得到了很大发展。,113 数据库系统的三个发展阶段,(3)随着信息化的推进,特别是一些新的应用领域提出了新的要求,如计算机集成制造系统

11、(CIMS)、地理信息系统(GIS)、全球定位系统(GPS)、人类基因库、卫星遥感信息处理等需要存储和管理超常规数据库容量的巨额数据,而已有的层次、网状、关系数据库均表现出不同程度的局限性。,113 数据库系统的三个发展阶段,3.新一代数据库系统20世纪80年代末,90年代初以来,开发新一代数据库技术成为数据库研究的热点课题。随着技术的进步,人们对数据库系统的功能提出了许多新的期望和要求,除处理常规数据外,还要对图形、图像、声音、视频等多媒体数据、时态数据、空间数据、知识信息以及各种复杂对象等非常规数据提供有效的数据处理功能。为了解决这些问题,人们提出了许多新概念、新思想和新方法,以及一些新的

12、数据模型和新的数据库管理系统的体系结构。本书将在第10章至第13章讲述这些问题。,信息的三个世界 概念设计中的数据描述 逻辑设计中的数据描述 1.2.4 物理数据描述,1.2数据库中的数据描述,信息三个世界的内容及其联系可用图1.4表示。,121 信息的三个世界,1现实世界 现实世界即客观存在的世界。事物及其联系就处在这个世界之中。事物都有一些特征或性质。人们总是选用感兴趣的最能表征该事物的若干特征来描述该事物。以物资为例,常选用物资名、型号规格、计量单位、价格等来描述一种物资的特征,有了这些特征,就能区分不同的物资。,121 信息的三个世界,2信息世界 信息世界是现实世界中的事物及其联系在人

13、们头脑中的反映,经过人们头脑的分析、归纳、抽象,形成信息。对这些信息进行记录、整理、归类和格式化后,它们就构成了信息世界。为了正确直观地反映客观事物及其联系,有必要对所研究的信息世界建立一个抽象的模型,称之为信息模型或概念模型,它是对现实世界的第一层抽象。,3机器世界 机器世界是信息世界中信息的数据化,即将信息用字符和数值表示,便于计算机识别和处理。在机器世界中,用数据模型或称逻辑模型来描述现实世界,它是对现实世界的第二层抽象,因此更为严格和抽象。这类模型有严格的形式化定义,以便于在计算机系统中实现。它通常有一组严格定义的无二义性的语法和语义的数据库语言,人们可以用这种语言来定义、操作数据库中

14、的数据。,数据库的概念设计是根据用户的需求设计数据库的概念结构。通常,数据库设计人员和用户都要参与这一活动。因此,对数据的描述应简单、清晰、易于用户理解。,122 概念设计中的数据描述,1实体(Entity)客观存在并可相互区别的事物称为实体,现实世界由各种各样的实体组成。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个职工、一个部门、一种物资、仓库的一次订货、文化艺术、职工与部门的关系(即某个职工在某部门工作)等等都是实体。2属性(Attribute)实体所具有的某一特性称为属性。一个实体常具有多个属性,但在数据库设计中只选择数据管理所需要的属性,而不是全部属性。,3实体标识

15、符(Identifier)能惟一标识实体的属性或属性集,称为实体的标识符,也称为关键码(Key)、关键字,或简称为码、键等。例如,学号是学生实体的标识符。4域(Domain)属性的取值范围称为该属性的域。例如,属性性别的域为(男,女)。,5实体型(Entity Type)具有相同属性的实体,一定具有共同的特征和性质。用实体名及其属性集合描述的同类实体,称为实体型。例如,学生(学号,姓名,年龄,性别,专业)就是一个实体型。6实体集(Entity Set)同型实体的集合称为实体集(Entity Set)。例如,全班学生就是一个实体集。,7联系(Relationship)现实世界中,事物内部以及事物

16、之间是有联系的这些联系在信息世界中反映为实体内部的联系和实体之间的联系。一个实体内部的联系指组成实体的各属性之间的联系,而实体间的联系指实体之间的相互关联。如果参与联系的实体集数目为n,则称这种联系为n元联系。例如,有一元联系、二元联系、三元联系等。我们来讨论这几类联系。,122 概念设计中的数据描述,(1)二元联系。只有两个实体集参与的联系称二元联系,它是现实世界中大量存在的联系,可分为以下三类。一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例如,国家与国家主席或总统是一对一的关系。,一对多联

17、系(1:N)如果对于实体集A中的每一个实体,实体集B中有N(N0)个实体与之联系,而对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:N。例如,一个仓库有多种物资,而一种物资假定只存在一个仓库内,则仓库与物资具有一对多联系。,多对多联系(M:N)如果对于实体集A中的每一个实体,实体集B中有N(N0)个实体与之联系,而对于实体集B中的每一个实体,实体集A中也有M(M0)个实体与之联系,则称实体集A与实体集B具有多对多的联系,记为M:N。例如,一个仓库管理员可以管理多种物资,而一种物资可以被多个仓库管理员管理(假定三班倒),则仓库管理员与

18、物资具有多对多联系。,(2)多元联系。参与联系的实体集个数3时,称为多元联系。多元联系可区分为1:1、1:N和M:N。例如,顾客、商店和商品之间的“购物”联系就是三元联系,而且属于M:N联系。又如工厂物资管理系统中,领料单位、仓库和物资之间的“领用”关系也是三元联系,而且也属于M:N关系,当然这里要假定一个工厂有多个仓库,而一个仓库存有多种不同物资。这个联系可用图1.5表示。,122 概念设计中的数据描述,(3)一元联系。指同一实体集内两部分实体之间的联系,又称自反联系,也可分为1:1、1:N和M:N三种。例如,“人”这个实体集中,为了描述丈夫和妻子之间的关系,可用1:1表示。“职工”实体集中

19、,为了描述领导与被领导的关系,可用1:N联系表示。又如“零件”实体集中,零件的组合关系可用M:N表示。因为一个零件可以由若干个子零件组成,而一个零件又可以是其他零件的子零件。零件与子零件也是相对的,随需要而定。这个联系可用图1.6表示。,122 概念设计中的数据描述,数据库的逻辑设计是根据概念设计所得到概念结构或概念模型来设计数据库的逻辑结构,也即DBMS所支持的数据模型正如前面所指出的一样,实体联系模型是目前较流行的一种概念模型,而层次、网状、关系模型则是DBMS所支持的数据模型逻辑设计中的数据描述与前述信息的机器世界相对应,主要术语有字段、记录、文件等。,123 逻辑设计中的数据描述,1字

20、段(Field)标记实体属性的命名单位称为字段,或称域、数据项、数据元素、初等项、基本项等。字段名往往与属性同名。2记录(Record)字段的有序集合称为记录。通常用一个记录描述一个实体,故记录也可以定义为能完整地描述一个实体的字段集。,3文件(File)同一类记录的集合称为文件。文件是用来描述实体集的。,4关键字(Key)能惟一标识文件中每个记录的字段或字段集,称为记录的关键字,或简称键。例如,上述课程文件中,课程编号可以惟一标识每一个课程记录,故它即为课程记录的关键字。5记录型(Record Type)相应于概念设计中的实体型称为记录型。,1位(Bit)一个二进制位称为“位”,或比特。一位

21、只能取0或1两个状态之一。例如,字母A的ASCII码为七位:1000001。2字节(Byte)8个比特称为一个字节,可以存放一个字符所对应的ASCII码,而存储一个汉字常要两个字节。,124 物理数据描述,3字(Word)若干个字节组成一个字。一个字所含的二进制位的位数称为字长。各种计算机的字长不同,如有8位、16位、32位等。4块(Block)块又称物理块或物理记录,它是内存和外存交换信息的最小单位。每块常包含若干个逻辑记录,块的大小通常为210214字节。,5桶(Bucket)桶是外存的逻辑单位,一桶可以包含一个物理块或多个在空间上不一定连续的物理块。6卷(Volume)一个输入/输出设备

22、所能装载的全部有用信息,称为卷。例如,磁带机的一盘磁带就是一卷,磁盘的一个盘组也是一卷。,数据模型的组成及其分类概念模型逻辑模型,1.3数据模型,数据模型的组成及其分类,1数据模型的组成数据模型是现实世界中的事物间联系的一种模拟和抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。数据库专家认为,一个基本数据模型是一组规则,这些规则规定数据结构如何组织以及允许进行何种操作。所以,一个数据库的数据模型常由数据结构、数据操作和数据的约束条件三部分组成。,(1)数据结构 数据结构或数据组织结构,是指数据对象的集合,它描述数据对象的类型、内容、属性,以及数据对象之间的联系,也即描述了

23、数据库的静态特性,是数据模型中最基础的部分。不同的数据模型采用不同的数据结构。举例:实体联系模型中,数据对象用实体、属性和联系来描述,以E-R图来组织;在关系模型中,用字段、记录、关系等来描述数据对象,以关系结构的形式进行数据组织,(2)数据操作数据操作是指对数据库的数据允许执行的操作的集合,包括操作及有关的操作规则,描述了数据库的动态特性。数据库主要由检索(即查询)和更新(含插入、删除和修改)两类操作。数据模型应对其详细定义,包括这些操作的确切含义、操作符号、操作规则及其实现语言。,(3)数据的完整性约束 数据的完整性约束是数据完整性规则的集合,它是对数据以及数据之间关系的制约和依存关系规则

24、,用以保证数据的完整性和一致性。数据模型应反映和规定其必须遵守的完整性约束条件。,2数据模型分类 数据模型按应用层次不同可分为两类:一类是概念数据模型,也称概念模型或信息模型,也有文献称为基于对象的逻辑模型(Object-Based Logical Models)另一类是逻辑数据模型,又称结构数据模型或逻辑模型,也有文献称为基于记录的逻辑模型(Record-Based Logical Models)。,数据模型的组成及其分类,概念模型是一种面向客观世界、面向用户的模型,是一种独立于计算机系统的数据模型,完全不涉及数据在计算机中的表示,只是用来描述某个特定组织所关心的信息结构,即按用户的观点对数

25、据和信息建模,用于数据库的逻辑设计。,132 概念模型,概念模型的表示方法较多,其中最常用的是于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。,1E-R图的基本成份及其表示 E-R图的基本成份实体、属性和联系已在上一节介绍,这里仅介绍其表示方法。(1)实体型:用矩形表示,矩形框内标明实体名。(2)属性:用椭圆形表示,并用无向边将其与相应的实体相连。(3)联系:用菱形表示,菱形框内标出联系名,并用无向边与有关实体相连,同时在无向边旁标上联系的类型,即1:1或1:N或M:N。,132

26、 概念模型,图1.7 学生选修课程的E-R图,2E-R图的设计过程数据库设计将在第5章介绍,这里仅介绍E-R图的设计过程。E-R图的设计一般先设计局部E-R图,然后将局部E-R图综合成系统的总体E-R图,并且进行优化。,132 概念模型,为了清晰起见,我们介绍一个较简单的E-R图的设计过程,只设计一个局部E-R图。E-R图的设计一般先设计局部E-R图,然后将局部E-R图综合成系统的总体E-R图,并且进行优化。(1)示例一:仓库管理E-R图设计,仓库管理是工厂物资管理系统中的一个子系统,本书中的大部分示例均以此为根据介绍,它是我们已开发的一个实际系统。由系统分析可知,物资管理系统主要包括计划管理

27、、采购管理、仓库管理、综合管理、核算管理、统计分析、系统初始化管理等子系统。限于篇幅,仅以仓库管理为例介绍。,确定实体型仓库管理主要有三个实体型:仓库(仓库情况表)、物资(物资编码表)、用料单位(单位编码表)。确定实体型的属性及其标识符(标识符用下划线标出)仓库(仓库编码,仓库名称)物资(物资编码,物资名称,型号规格,计量单位,价格)用料单位(单位编码,单位名称),确定实体之间的联系及其联系的属性 物资、仓库和用料单位之间具有M:N:P的出库联系。即一个用料单位可以从若干仓库提取多种物资,每个仓库可以供应不同单位的物资,每种物资可被不同单位领用。物资和仓库之间具有M:N的入库联系。即每种物资可

28、以存入不同的仓库,每个仓库可以放置不同的物资。物资和仓库之间还有M:N的库存联系。即每种物资存放在于不同的仓库中,每个仓库可存放多种物资。三个实体之间的联系及其属性如下:入库(入库单号,入库日期,仓库,采购数量,实收数量,购买价格,验收人)出库(出库单号,出库日期,仓库,请领数量,实发数量,价格)库存(日期,仓库,价格,库存量),将实体与联系组合成E-R图。E-R图如图1.8所示。在此,实体的属性没有被画出。,示例二:学生管理E-R图设计学校管理信息系统一般包括教师管理、学生管理、后勤管理、科研管理、财务管理等子系统,学生管理子系统由学籍管理和课程管理子系统组成(1)课程管理子系统E-R图按照

29、示例一中的步骤,课程管理子系统主要包括的实体型、联系、属性以及标识符如下:学生(学号,姓名,性别,年龄,出生日期,所在系,年级,平均成绩),课程(课程号,课程名,学分,课时)教师(职工号,姓名,性别,职称,联系电话)教科书(书号,书名,单价,出版社)教室(教室编号,地址,座位数,教室类别)联系类型以及课程管理子系统的E-R图如图1.9所示(18)(2)学籍管理子系统E-R图设计用同样的方法,可以得到学籍管理子系统实体型、联系学生档案(档案号,主要内容)宿舍(宿舍编号,宿舍名,居住人数),班级(班级编号,班长,班级,人数)教室(教室编号,座位数)学籍管理子系统的E-R图如图1.10所示(19)(

30、3)将两个子系统进行合并,组成学生管理子系统的E-R图在合并时,要调整冲突的实体属性,消除冗余数据和冗余联系学生实体中的年龄属性可由出生日期推算出来,属于冗余数据,应该去掉;教室实体型与班级实体型之间的上课联系可以由教室与课程之间的开设联系、课程与学生之间的选修联系、学生与班级之间的组成联系三者推倒出来,属于冗余联系,可以消去,两个局部E-R图修改、优化、重构与合并,得到图1.11(19)学生管理子系统的E-R图进一步和教师管理子系统等其余子系统的E-R图合并及优化,构成整个学校管理的E-R图,1.层次模型层次、网络模型是20世纪70年代至80年代初期广泛流行的逻辑数据类型。关系模型70年代初

31、开始出现,而发展十分迅速,是目前最广泛使用的逻辑数据模型。进入80年代以来,面向对象数据模型等不断涌现,推动着数据库技术的飞速发展。本节简要介绍层次及网络模型,关系模型将在第2章中介绍。,133 逻辑模型,1.3.3逻辑模型,E-R转化成层次图:系 课 程教研室 教师,(1)层次模型的概念与特点用结点表示记录型,记录型之间的联系用边来表示,由结点和边组成的树型层次结构称为层次模型(Hierarchical Model)。,层次模型有如下特点:每棵树有且仅有一个结点无双亲,该结点称为树的根(Root)结点。其它记录型有且只有一个父结点(双亲结点)。在层次模型中,结点之间的层次关系表示相连接的两个

32、实体之间1:N的联系。在树结构中,无子女的结点称为叶(Leaf)结点;除叶结点外,任何一个结点可有任意个子女结点;同一个双亲的子女结点称为兄弟结点。而且在层次模型中,必须按照从根开始的某条路径提出询问,否则就不能直接回答。,(2)层次模型的优缺点层次模型的优点有:结构简单,层次分明,便于在计算机内实现。从根结点到树中任一结点均存在一条唯一的层次路径,为有效的进行数据操作提供了条件。由于除根结点外,所有结点均有且仅有一个双亲,所以实体集之间的联系可用双亲结点唯一地表示。提供了良好的完整性支持。,133 逻辑模型,层次模型的不足之处是:缺乏直接表达现实世界中非层次结构的复杂联系,如多对多联系只能通

33、过引入冗余数据或引入虚拟纪录的方法来解决。对插入或删除操作有较多限制。查询子女结点必须通过双亲结点。,2.网状模型(1)网状模型的概念与特点网状模型(Network Model)是用有向图结构表示记录型与记录型之间联系的数据模型。在有向图中,结点是记录型,箭头表示从箭尾的记录型到箭头的记录型之间的联系是1:N。,133 逻辑模型,网状模型的特点是:允许一个以上的结点无双亲。允许结点有多个双亲。允许两个结点间有两种或多种联系。项目、零件和供应商所组成的E-R图及其相应的网状模型分别如图1.14及图1.15所示。E-R图中的实体类型和联系类型都转换成网状模型中的记录类型,每个M:N联系用两个1:N

34、联系实现。,图1.14 项目、零件与供应商的E-R图,图1.15 项目、零件与供应商的网状模型,例如,项目与零件之间的M:N联系用两个1:N实现,即S1表示项目与组成之间的1:N联系,S2表示零件与组成之间的1:N联系。供应商与零件之间的M:N联系同样用两个1:N联系S3和S4实现。图中,组成结点与供应结点均有两个双亲,这是典型的网状模型示例,各记录型的内容如下:项目(项目号,项目名,开工日期)组成(项目号,零件号,数量)零件(零件号,零件名,规格,单价)供应(供应商号,零件号,供应量)供应商(供应商号,姓名,地址),2)网状模型的优缺点网状模型的优点有:能够更直接地描述现实世界,如一个结点可

35、以有多个双亲。具有存取效率高等良好的特性。,133 逻辑模型,网状模型的不足之处:数据结构较复杂,而且其随应用环境的扩大而越来越复杂,不便于终端用户掌握。其数据定义语言(DDL)和数据操纵语言(DML)较复杂,用户不易使用。由于记录之间的联系是通过存取路径实现的,应用程序在访问数据库时必须选择适当的存取路径,即用户需要了解系统结构的细节,加重了编写应用程序的负担。,1.4数据库系统的结构,数据库系统的三级模式结构 数据库系统的体系结构,数据库系统的三级模式结构,数据库系统的三级模式结构如图1.16所示,即由外模式、模式和内模式三级组成。数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,

36、而模式提供了连接这两级的相对稳定的中间观点,并使得两级中任何一级的改变都不受另一级的牵制。,1.4.1数据库系统的三级模式结构,数据库系统的三级模式结构如图1.16所示,由外模式、模式和内模式三级组成,下面对图中的有关内容进行简要解释。1模式模式(Schema)也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图它仅仅涉及到型的描述,不涉及到具体的值模式的一个具体赋值称为模式的一个实例(Instance),数据库系统的三级模式结构,同一个模式可以有很多实例模式是相对稳定的,而实例是相对变动的,这是因数据库的数据在不断更新模式反映的是数据的结构及其联系,而实

37、例反映的是数据库某一时刻的状态。,模式实际上是数据库数据在逻辑上的视图,既不涉及存储结构,也与应用程序及访问技术等细节无关。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体,当定义模式时,要定义数据的逻辑结构,如记录由哪些字段组成,字段的名字、类型、取值范围等,还要定义数据间的联系,与数据有关的完整性、安全性等。描述模式的数据语言称为模式DDL(Schema Data Definition Language)。,2外模式 外模式(External Schema)也称子模式或用户模式,是用户与数据库系统的接口,是用户用到的那

38、部分数据的描述。外模式通常是模式的子集,由若干个外部记录型组成。多个用户可以有多个不同的外模式。每个外模式可为多个用户使用,而同一个用户也可以使用不同的外模式,但每一个应用程序只能使用一个外模式。,数据库系统的三级模式结构,外模式是保证数据库安全的一个有力措施,因为每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据则是不可见的。DBMS提供外模式描述语言(外模式DDL)来严格定义外模式。,3内模式 内模式(Internal Schema)也称存储模式,是数据库在物理存储方面的描述,它定义所有的内部记录型、索引和文件的组织方式,以及数据控制方面的细节内部记录并不涉及到物理设备的约束

39、。比内模式更接近物理存储和访问的那些软件机制是操作系统的文件系统。例如,从磁盘读数据或写数据到磁盘上的操作等。DBMS提供内模式描述语言(内模式DDL)来严格定义内模式。,4外模式/模式的映象 数据库系统在三级模式之间建立了两层映象,即外模式/模式的映象和模式/内模式的映象模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。同一个模式可以有多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象。当模式改变时,例如增加记录型或增加字段,则只相应修改外模式/模式映象,可以使外模式保持不变。应用程序是依据外模式编写的,故应用程序不必修改,从而保证了数据与应用程序的逻辑独立性,

40、简称数据的逻辑独立性或简称逻辑独立性,数据库系统的三级模式结构,5模式/内模式映象 数据库中只有一个模式,也只有一个内模式,因此模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系如果数据库的内模式要修改,则由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变这样,即保证了数据与程序的物理独立性,称数据的物理独立性或简称物理独立性。,6用户及用户界面用户是使用数据库应用程序或联机终端的用户。编写应用程序的语言通常为COBOL、C+、Java一类的高级语言,在数据库中常称它们为主语言(Host Language)。DBMS还提供数据操作语

41、言DML(Data Manipulation Language),供用户或程序员使用。DML可自成系统,在终端上直接对数据库进行操作,这种DML称为交互型DML。它也可嵌入在主语言中使用,称其为嵌入型DML,此时主语言是经过扩充并能处理DML语句的语言。用户界面是用户与数据库系统间的一条分界线,在界线下面,用户是不可知的。用户界面定义在外部级上,用户对于外模式是可知的,数据库系统的三级模式结构,一个数据库应用系统一般包括数据存储层、应用层与用户界面三个层次。数据库存储层由数据库系统来承担,完成数据的维护操作;应用层是使用数据库处理与用户有关的各种业务操作,通过程序设计语言来完成;用户界面为用户

42、提供可视化图形操作界面,用于数据库系统与用户之间的交互,142 数据库系统的体系结构,数据库系统的体系结构与计算机系统的组成结构有关,通常指数据库系统中,数据存储层、应用层、用户界面层以及网络通信之间的布局与分布关系按照目前数据库系统的应用与发展,可以分为单机结构、集中式结构、C/S结构、B/S结构与多层结构等,1单机结构随着PC机性能的提高,出现了适合于PC机的单用户数据库系统。这种可以运行在PC机上数据库系统称为桌面型数据库管理系统(Desktop Database Management System)。尽管它在数据的完整性、安全性、并发性等方面有不少缺陷,但已基本实现DBMS应具备的功能

43、。现在较流行的有MicroSoft Access、Visual Foxpro等,2集中式数据库系统结构这种系统是大型主机带多终端的系统。它将操作系统、应用程序、数据库系统等数据和资源均放于大型主机上,而连于主机上的多个终端,只是作为主机的输入/输出设备。数据存储层和应用层均放在主机上,而用户界面层放在多个终端上。在这种系统中,所有的处理均由主机完成,故对主机的性能要求较高,这是数据库系统初期最流行的结构,目前仍有应用。但随计算机网络的普及和硬件价格的不断下降,这种传统的系统已逐渐被C/S所取代,3客户机/服务器结构客户机/服务器(Client/Server,C/S)结构是目前流行的数据库系统结

44、构在这种结构中,客户机提出请求,服务器对客户机的请求作出回应C/S结构的本质在于通过对服务功能的分布,实现分工服务。每一个服务器都为整个局域网系统提供共享服务,供所有客户机分享;客户机上的应用程序借助于服务器的服务功能以实现复杂的应用功能在C/S结构中,数据存储层处于服务器上,应用层和用户界面层处于客户机上。客户机负责管理用户界面,接收用户数据,处理应用逻辑,生成数据库服务请求,将该请求发送给服务器,同时接收服务器返回的结果,并将结果按一定格式显示给用户,4浏览器/服务器结构浏览器/服务器(Browser/Server,B/S)结构是针对C/S的不足而提出的在B/S结构中,客户机端仅安装通用的

45、浏览器软件,实现用户的输入/输出,而应用程序不再是安装在客户机端,而是在服务器端安装与运行在服务器端,除了要有数据库服务器保存数据并执行基本的数据库操作外,还要有另外的称作应用服务器的服务器处理客户端提交的处理要求。也就是说,C/S结构中客户端运行的程序已转移到应用服务器中,此时的客户机可称作“瘦客户”。应用服务器充当了客户机与数据库服务器的中介,架起了用户界面与数据库之间的桥梁,所以也称为三层结构,如图1.17所示,图1.17 B/S结构示意图,运行,1)文件服务器结构,运行,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,响应,响应,结果,结果,结果,结果,结果,结

46、果,结果,结果,结果,结果,2)客户服务器模式,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,响应,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,请求,响应,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,应答,3)三层C/S结构,应用服务器(Application Server),数据库服务器(DBServer

47、),1.5 数据库系统的组成,硬件平台及数据库软件1.5.3 数据库用户,硬件平台及数据库,硬件主要指计算机、包括中央处理机、内存、外存、输入/输出等硬件设备。一般要求有足够的内存,存放操作系统、DBMS核心模块、数据缓冲区和应用程序,还要有足够大的磁盘等直接存取设备存放数据库,有足够的磁盘或软盘等外部存储设备作数据备份。通常有基于微机的服务器、工作站以及中小型机甚至大型机来充当数据库服务器。,软件,数据库系统中的软件主要包括DBMS、支持DBMS运行的NOS(Network Operating System)和多种主语言和应用开发支持软件等。DBMS是为数据库的建立、使用和维护配置的软件,是

48、DBS的核心软件。为了开发应用系统,需要多种主语言,如COBOL、C等,均属于第三代语言(3GL)范畴。有些是属于面向对象的程序设计语言,如Visual C+、Java等。应用开发支持软件是为应用开发人员提供的高效率、多功能的交互式程序设计系统,一般属第四代语言(4GL)范畴,包括报表生成器、表格系统、图形系统、具有数据库访问和表格I/O功能的软件、数据字典系统等。,1DBMS的工作方式 DBMS是DBS中对数据库进行管理的软件系统,对DB的一切操作,包括数据定义、查询、更新以及各种控制,都通过DBMS进行。,软件,图1.18 DBMS的工作方式,(1)接受应用程序的数据请求和处理请求。(2)

49、将用户的数据请求(高级指令)转换成机器代码(低层指令)。(3)实现对DB的操作,如查询等。(4)从对DB的操作中接受查询结果。(5)对查询结果进行处理,即格式转换等。(6)将处理结果返回给用户。,图1.19是用户访问数据库的一个示意图,反映了DBMS在数据库系统中的核心作用。DBMS的主要目标是使数据成为一种可管理的资源来处理。,软件,2DBMS的主要功能(1)数据定义功能DBMS提供数据定义语句DDL定义数据库的三级结构和两级映象,定义数据的完整约束和保密限制等约束,故在DBMS中应包括DDL的编译程序。(2)数据的操作功能DBMS提供数据操纵语言DML实现对数据的操作,主要有检索(查询)和

50、更新(包括插入、删除和更新)两类,故在DBMS中也应包括DML的编译程序或解释程序。,软件,(3)数据库的保护功能DBMS通过四个方面实现对DB的保护,因此在DBMS中应包括四个子系统。数据库的恢复数据库的并发控制数据的完整性控制数据的安全性控制,(4)数据库的维护功能其包括数据库数据的载入、转换存储,数据库的改组以及性能监控等功能。(5)数据字典数据库系统中存放三级结构定义的数据库称为数据字典(Data Dictionary,DD)。只有通过DD才能实现对数据库的操作。DD中还存放数据库运行时的统计信息,1数据库管理员(DBA)DBA负责三级结构的定义和修改,它与DBMS之间的界面是数据库模

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号