《数据库系统教程 第3版(施伯乐) 第1章数据库概论(2008).ppt》由会员分享,可在线阅读,更多相关《数据库系统教程 第3版(施伯乐) 第1章数据库概论(2008).ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统教程数据库系统教程(第(第3版)版)1目录目录上篇上篇 基础篇基础篇第第1章章 数据库概论数据库概论第第2章章 关系运算理论关系运算理论第第3章章 SQL语言语言第第4章章 规范化设计理论规范化设计理论第第5章章 DBD与与ER模型模型第第6章章 DB的存储结构的存储结构第第7章章 系统实现技术系统实现技术下篇下篇 发展篇发展篇第第8章章 ODBS第第9章章 DDBS第第10章章 ODBC技术技术第第11章章 XML技术技术第第12章章 现代信息现代信息 集成技术集成技术2数据库系统教程(第数据库系统教程(第3版版)v特点:特点:理论性强(关系运算,模式设计)理论性强(关系运算,模式
2、设计)应用性强(应用性强(SQL,数据库设计)数据库设计)可操作性(有很多题目)可操作性(有很多题目)实用系统实用系统vDBMS:DB2,Sybase,Oracle,SQL serverv工具:工具:PB,VB,Delphi3第第1章章 数据库概论数据库概论4第第1章章 数据库概论数据库概论1.1 引言引言1.2 数据库的由来和发展数据库的由来和发展1.3 数据描述数据描述1.4 数据抽象的级别数据抽象的级别1.5 数据库管理系统(数据库管理系统(DBMS)1.6 数据库系统(数据库系统(DBS)1.7 小结小结5本章的重要概念(本章的重要概念(1)(1)DB、DBMS和和DBS的定义的定义(
3、2)数据管理技术的发展阶段:)数据管理技术的发展阶段:人工管理、文件系统、数据库和人工管理、文件系统、数据库和高级数据库等各阶段的特点。高级数据库等各阶段的特点。(3)数据描述:)数据描述:概念设计、逻辑设计和物理设计等各概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中阶段中数据描述的术语,概念设计中实体间二元联系的描述(实体间二元联系的描述(1:1,1:N,M:N)。6 本章的重要概念(本章的重要概念(2)(4)数数据据抽抽象象的的级级别别:数数据据模模型型的的定定义义,概概念模念模 型型,逻逻辑辑模模型型(层层次次模模型型、网网状状模模型、关系型、关系 模型和对模型和对 象
4、象模模型型),外外部部模模型型,内内部部模模型型。三三层层模模式式和和两两级级映映像像,数数据据独独立立性性。数数据据抽抽象象中中各各个个层层次次中中记记录的联系。录的联系。(5)DBMS:DBMS的工作模式和主要功能。的工作模式和主要功能。(6)DBS:DBS的的组组成成,DBA,DBS的的全全局局结构,结构,DBS结构的分类。结构的分类。7前前 言言从从20世纪世纪50年代中期开始,计算机的应用年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。由科学研究部门逐渐扩展到企业、行政部门。至至60年代,数据处理已成为计算机的主要应年代,数据处理已成为计算机的主要应用。在用。在60
5、年代末,数据库技术作为数据处理年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过近中的一门新技术发展起来的。经过近40年的年的发展,数据库技术已是计算机软件领域的一发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和个重要分支,形成了较为完整的理论体系和实用技术。本章先回顾数据管理技术的发展实用技术。本章先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念,以使过程,然后介绍数据库中的基本概念,以使读者对数据库的概貌有所了解。读者对数据库的概貌有所了解。81.1 引言引言v1963年,美国年,美国Honeywell公司的公司的IDS(Integrated
6、Data Store)系统投入运行,揭开了数据库技术的序幕。系统投入运行,揭开了数据库技术的序幕。v20世纪世纪70年代是数据库蓬勃发展的年代,网状系统和年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。处于实验阶段。v20世纪世纪80年代,关系系统由于使用简便以及硬件性能年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。的改善,逐步代替网状系统和层次系统占领了市场。v20世纪世纪90年代,关系数据库已成为数据库技术的主流。年代,关系数据库已成为数据库技术的主流。v进
7、入进入21世纪以后,无论是市场的需求还是技术条件的世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、成熟,对象数据库技术、Web数据库技术的推广和普数据库技术的推广和普及已成定局。及已成定局。91.2 数据库的由来和发展数据库的由来和发展v1.2.1 人工管理阶段人工管理阶段v1.2.2 文件系统阶段文件系统阶段v1.2.3 数据库阶段数据库阶段v1.2.4 高级数据库阶段高级数据库阶段101.2 数据库的由来和发展数据库的由来和发展v磁盘容量的发展磁盘容量的发展v数据管理技术的发展经历了人工管理、文数据管理技术的发展经历了人工管理、文件系统、数据库阶段和高级数据库阶段。件系统、数
8、据库阶段和高级数据库阶段。时间时间1956 1965 1971 1978 1981 1985 1995 2003 2008容量容量/轴轴5MB30MB100MB600MB1.2GB5GB10GB180GB1TB111.2.1 人工管理阶段人工管理阶段v在人工管理阶段(在人工管理阶段(20世纪世纪50年代中期以前),计年代中期以前),计算机主要用于科学计算,其他工作还没有展开。算机主要用于科学计算,其他工作还没有展开。外部存储器只有磁带、卡片和纸带等,还没有磁外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,尚盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方
9、面的软件。数据处理的方式基本上无数据管理方面的软件。数据处理的方式基本上是批处理。是批处理。v人工管理阶段的数据管理有下列特点:人工管理阶段的数据管理有下列特点:数据不保存在计算机内。数据不保存在计算机内。没有专用的软件对数据进行管理。没有专用的软件对数据进行管理。只有程序(只有程序(program)的概念,的概念,没有文件没有文件(file)的概念。的概念。数据面向程序。即一组数据对应一个程序。数据面向程序。即一组数据对应一个程序。121.2.2 文件系统阶段(文件系统阶段(1)v在这一阶段(在这一阶段(20世纪世纪50年代后期至年代后期至60年代中年代中期),计算机不仅用于科学计算,还用于
10、信期),计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取存储设备。存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作软件领域出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管系统中的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联理软件。数据处理的方式有批处理,也有联机实时处理。机实时处理。
11、131.2.2 文件系统阶段(文件系统阶段(2)v文件系统阶段的数据管理有以下特点:文件系统阶段的数据管理有以下特点:数据以数据以“文件文件”形式可长期保存在外部存储器的磁盘上。形式可长期保存在外部存储器的磁盘上。数据的逻辑结构与物理结构有了区别,但比较简单。数据的逻辑结构与物理结构有了区别,但比较简单。文件组织已多样化。有索引文件、链接文件和直接存取文件组织已多样化。有索引文件、链接文件和直接存取文件等。文件等。数据不再属于某个特定的程序,可以重复使用,即数据数据不再属于某个特定的程序,可以重复使用,即数据 面向应用。面向应用。对数据的操作以记录为单位。对数据的操作以记录为单位。v随着数据管
12、理规模的扩大,数据量急剧增加,文件随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:系统显露出三个缺陷:数据冗余(数据冗余(redundancy)数据不一致(数据不一致(inconsistency)数据联系弱(数据联系弱(poor data relationship)14职工工资文件职工工资文件职工档案文件职工档案文件职工保健文件职工保健文件文件库文件库数据库数据库oooooo151.2.3 数据库阶段(数据库阶段(1)v数据管理技术进入数据库阶段的标志是数据管理技术进入数据库阶段的标志是20世纪世纪60年年代末的三件大事:代末的三件大事:1968年美国年美国IBM公司推出层次模
13、型的公司推出层次模型的IMS系统系统。1969年美国年美国CODASYL组织发布了组织发布了DBTG报告,总报告,总结了当时各式各样的数据库,提出网状模型。结了当时各式各样的数据库,提出网状模型。1970年美国年美国IBM公司的公司的E.F.Codd 连续发表论文,提连续发表论文,提出关系模型,奠定了关系数据库的理论基础。出关系模型,奠定了关系数据库的理论基础。161.2.3 数据库阶段(数据库阶段(2)v数据库阶段的数据管理具有以下特点:数据库阶段的数据管理具有以下特点:采用数据模型表示复杂的数据结构。采用数据模型表示复杂的数据结构。有较高的数据独立性。有较高的数据独立性。数据库系统为用户提
14、供了方便的用户接口。数据库系统为用户提供了方便的用户接口。数据库系统提供以下四方面的数据控制功数据库系统提供以下四方面的数据控制功能:并发控制,恢复,完整性和安全性。能:并发控制,恢复,完整性和安全性。增加了系统的灵活性增加了系统的灵活性。171.2.3 数据库阶段(数据库阶段(3)数据库的数据库的整体逻辑结构整体逻辑结构用用户户的的局局部部逻辑结构逻辑结构数据库的数据库的物理结构物理结构逻辑数据逻辑数据独立性独立性物物理理数数据据独立性独立性图图1.2 1.2 数据库系统的结构数据库系统的结构18v程序和数据间的联系:程序和数据间的联系:v文件系统阶段信息处理的传统方式:文件系统阶段信息处理
15、的传统方式:1.2.3 数据库阶段(数据库阶段(4)应用程序应用程序n n应用程序应用程序1 1数据库数据库管理系管理系统统DBMSDBMS数据库数据库输入输入程序程序输出输出19v数据库阶段信息处理方式的演变数据库阶段信息处理方式的演变 1.2.3 数据库阶段(数据库阶段(5)联机联机终端终端 要求要求报表报表查询处理程序查询处理程序报表生成程序报表生成程序数据库数据库应用程序应用程序应用程序应用程序输入输入输出输出输入输入输出输出201.2.3 数据库阶段(数据库阶段(6)v定义定义1.1 数据库(数据库(Database,简记简记为为DB):):DB是长期存储在计算机内、有组织的、统一是
16、长期存储在计算机内、有组织的、统一管理的相关数据的集合。管理的相关数据的集合。DB能为各种用户共能为各种用户共享,具有较小冗余度、数据间联系紧密而又享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。有较高的数据独立性等特点。211.2.3 数据库阶段(数据库阶段(7)v定义定义1.2 数据库管理系统(数据库管理系统(DBMS):):DBMS是位于用户与是位于用户与OS之间的一层数据管理软件,之间的一层数据管理软件,它为用户或应用程序提供访问它为用户或应用程序提供访问DB的方法,包括的方法,包括DB的建立、查询、更新及各种数据控制的建立、查询、更新及各种数据控制。DBMS总是总是基
17、于某种数据模型,可以分为层次型、网状型、关基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。系型和面向对象型等。OSDB 用户用户DBMS221.2.3 数据库阶段(数据库阶段(8)v定义定义1.3 数据库系统(数据库系统(Database System,简简记为记为DBS):):DBS是实现有组织地、动态地存储大量是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。据库技术的计算机系统。v定义定义1.4 数据库技术(数据库技术(
18、DBT):):数据库技术是研究数据库的结构、存储、数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。设计、管理和使用的一门软件学科。231.2.4 高级数据库阶段(高级数据库阶段(1)20世纪世纪80年代的分布式数据库系统(年代的分布式数据库系统(DDBS)20世纪世纪90年代的对象数据库系统(年代的对象数据库系统(ODBS)开放数据库互联技术开放数据库互联技术(ODBC)21世纪初的世纪初的 Web数据库系统数据库系统 XML数据库技术数据库技术 现代信息集成现代信息集成(DW、OLAP、DM)241.2.4 高级数据库阶段(高级数据库阶段(2)1.对象对象数据库系统主要有
19、以下两个特点数据库系统主要有以下两个特点 对象数据模型能完整地描述现实世界地数据对象数据模型能完整地描述现实世界地数据结构,能表达数据间嵌套、递归的联系。结构,能表达数据间嵌套、递归的联系。具有面向对象技术的封装性(把数据与操作具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。作)的特点,提高了软件的可重用性。251.2.4 高级数据库阶段(高级数据库阶段(3)2.分布式分布式数据库系统主要有下面三个特点数据库系统主要有下面三个特点 数据库的数据物理上分布在各个场地,但逻数据库的数据物理上分布在各
20、个场地,但逻辑上是一个整体。辑上是一个整体。每个场地既可以执行局部应用每个场地既可以执行局部应用(访问本地访问本地DB),也可以执行全局应用也可以执行全局应用(访问异地访问异地DB)。各地的计算机由数据通信网络相联系。本地各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过计算机单独不能胜任的处理任务,可以通过通信网络取得其它通信网络取得其它DB和计算机的支持。和计算机的支持。26 1.2.4 高级数据库阶段(高级数据库阶段(4)v分布式数据库系统分布式数据库系统 通信网通信网全局终端全局终端数据库数据库局部处局部处理机理机局部处局部处理机理机局部终端局部终端局部终端局
21、部终端数据库数据库数据库数据库27 1.2.4 高级数据库阶段(高级数据库阶段(5)3 3开放数据库互联(开放数据库互联(ODBCODBC)技术技术2020世世纪纪8080年年代代末末,普普遍遍的的共共识识是是有有必必要要建建立立一一个个公公共共的的、与与数数据据库库管管理理系系统统无无关关的的应应用用程程序序设设计计接接口口(APIAPI)。在在使使用用APIAPI以以后后,同同一一个个应应用用程程序序就就可可以以访访问问不不同同的的数数据据库库服服务器。务器。最最先先上上市市的的公公共共APIAPI是是MicrosoftMicrosoft公公司司于于19921992年年推推出出的的ODBC
22、ODBC产产品品,因因此此就就把把这这种种技技术术命名为命名为ODBCODBC技术,即开放数据库互连技术。技术,即开放数据库互连技术。28 1.2.4 高级数据库阶段(高级数据库阶段(6)4 4XMLXML数据库技术数据库技术XMLXML是是一一种种能能够够表表达达比比传传统统数数据据模模型型中中的的数数据据结结构构化化程程度度低低的的数数据据语语言言。与与对对象象数数据据库库相相比比,XMLXML也也提提供供了了一一条条途途径径来来表表示示有有嵌嵌套套结结构构的的数数据据,但但在在数数据据结结构构化化方方面面有非常大的灵活性。有非常大的灵活性。5 5现代信息集成技术现代信息集成技术数据仓库(
23、数据仓库(DWDW)联机分析处理技术(联机分析处理技术(OLAPOLAP)数据挖据(数据挖据(DMDM)291.3 数据描述数据描述v1.3.1 概念设计中的数据描述概念设计中的数据描述v1.3.2 逻辑设计中的数据描述逻辑设计中的数据描述v1.3.3 物理设计中的数据描述物理设计中的数据描述v1.3.4 数据联系的描述数据联系的描述301.3 数据描述数据描述在数据处理中,数据描述将涉及到不同的在数据处理中,数据描述将涉及到不同的范畴。从事物的特性到计算机中的具体表示,范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段实际上经历了三个阶段概念设计中的数据概念设计中的数据描述、逻辑设
24、计中的数据描述和物理设计中的描述、逻辑设计中的数据描述和物理设计中的数据描述。本节先介绍这三个阶段的数据描述,数据描述。本节先介绍这三个阶段的数据描述,再介绍数据之间联系如何描述。再介绍数据之间联系如何描述。311.3.1 概念设计中的数据描述概念设计中的数据描述v实体(实体(entity):):客观存在,可以相互区别的客观存在,可以相互区别的事物称为实体。事物称为实体。v实体集(实体集(entity set):):性质相同的同类实体的性质相同的同类实体的集合,称为实体集。集合,称为实体集。v属性(属性(attribute):):实体有很多特性,每一个实体有很多特性,每一个特性称为属性。每一个
25、属性有一个值域,其类特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。型可以是整数型、实数型、字符串型等。v实体标识符(实体标识符(identifier):):能惟一标识实体的能惟一标识实体的属性或属性集,称为实体标识符。有时也称为属性或属性集,称为实体标识符。有时也称为关键码(关键码(key),),或简称为键或简称为键。321.3.2 逻辑设计中的数据描述逻辑设计中的数据描述(1)v字段(字段(field):):标记实体属性的命名单位称标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息为字段,或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初
26、等项。单位,所以又称为数据元素或初等项。v记录(记录(record):):字段的有序集合称为记录。字段的有序集合称为记录。v文件(文件(file):):同一类记录的集合称为文件。同一类记录的集合称为文件。v关键码(关键码(key):):能惟一标识文件中每个记录能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为的字段或字段集,称为记录的关键码(简称为键)。键)。331.3.2 逻辑设计中的数据描述逻辑设计中的数据描述(2)v术语的对应关系:术语的对应关系:概念概念设计设计逻辑设计逻辑设计 实实体体 记录记录 属性属性 字段(数据字段(数据项项)实实体集体集 文件文件 实实体体标识标
27、识符符 关关键码键码34学生学生张三张三类型类型物理物理逻辑逻辑记录记录值值351.3.3 物理设计中的数据描述物理设计中的数据描述(1)v物理存储介质层次物理存储介质层次根根据据访访问问数数据据的的速速度度、成成本本和和可可靠靠性性,计计算算机系统的存储介质可分成以下六类。机系统的存储介质可分成以下六类。(1)高速缓冲存储器()高速缓冲存储器(cache)(2)主存储器(主存储器(main memory)(3)快擦写存储器(快擦写存储器(flash memory)(4)磁盘存储器(磁盘存储器(magnetic disk)(5)光存储器(光存储器(optical storage)(6)磁带(磁
28、带(tape storage)361.3.3 物理设计中的数据描述物理设计中的数据描述(2)高速缓存高速缓存内存内存快闪存储器快闪存储器磁盘存储器磁盘存储器光存储器光存储器磁带存储器磁带存储器图图1.6 1.6 存储介质层次存储介质层次 辅助存储器辅助存储器联机存储器联机存储器第三级存储器第三级存储器脱机存储器脱机存储器371.3.3 物理设计中的数据描述物理设计中的数据描述(3)v位(位(bit,比特):一个二进制位称为比特):一个二进制位称为“位位”。一位。一位只能取只能取0或或1两个状态。两个状态。v字节(字节(byte):):8个比特称为一个字节,可以存放一个比特称为一个字节,可以存放
29、一个字符所对应的个字符所对应的ASCII码。码。v字(字(word):):若干个字节组成一个字。一个字所含若干个字节组成一个字。一个字所含的二进制位的位数称为字长。的二进制位的位数称为字长。v块(块(block):):又称为物理块或物理记录。块是内存又称为物理块或物理记录。块是内存和外存交换信息的最小单位,每块的大小,通常为和外存交换信息的最小单位,每块的大小,通常为210214字节。字节。v桶(桶(bucket):):外存的逻辑单位,一个桶可以包含外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。一个物理块或多个在空间上不一定连续的物理块。v卷(卷(volume):)
30、:一个输入输出设备所能装载的全部一个输入输出设备所能装载的全部有用信息,称为有用信息,称为“卷卷”。381.3.4 数据联系的描述(数据联系的描述(1)v定义定义1.5 联系(联系(relationship)是实体之间的相互关系。是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。与一个联系有关的实体集个数,称为联系的元数。v定义定义1.6 二元联系有以下三种类型:二元联系有以下三种类型:一对一联系:如果实体集一对一联系:如果实体集E1中每个实体至多和实体集中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集中的一个实体有联系,反之亦然,那么实体集E1和和E2的联系
31、称为的联系称为“一对一联系一对一联系”,记为,记为“1:1”。一对多联系:如果实体集一对多联系:如果实体集E1中每个实体可以与实体集中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而中任意个(零个或多个)实体间有联系,而E2中每个中每个实体至多实体至多和和E1中一个实体有联系,那么称中一个实体有联系,那么称E1对对E2的联系的联系是是“一对多联系一对多联系”,记为,记为“1:N”。多对多联系:如果实体集多对多联系:如果实体集E1中每个实体可以与实体集中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那中任意个(零个或多个)实体有联系,反之亦然,那么称么称E1和
32、和E2的联系是的联系是“多对多联系多对多联系”,记为,记为“M:N”。391.3.4 数据联系的描述(数据联系的描述(2)v例例1.2 E2E1 E2座位座位E1乘客乘客E1 E2E1E2学生学生课课程程E2E1 E2E1车间车间工人工人401.3.4 数据联系的描述(数据联系的描述(3)v例例1.3 零件零件MN飞机飞机驾驶员驾驶员航行班次航行班次N1M图图1.10 1.10 三元联系三元联系 图图1.11 1.11 一元联系一元联系411.4 数据抽象的级别数据抽象的级别 1.4.1 数据抽象的过程数据抽象的过程 1.4.2 概念模型概念模型 1.4.3 逻辑模型逻辑模型 1.4.4 外部
33、模型外部模型 1.4.5 内部模型内部模型 1.4.6 三层模式和两级映像三层模式和两级映像 1.4.7 高度的数据独立性高度的数据独立性421.4.1 1.4.1 数据数据抽象的过程(抽象的过程(1)v模型(模型(model):):对现实世界的抽象。对现实世界的抽象。v数据模型:数据模型:描述数据库的结构和语义,对现描述数据库的结构和语义,对现实世界的数据进行抽象。实世界的数据进行抽象。v从现实世界的信息到数据库存储的数据以及从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象过程。用户使用的数据是一个逐步抽象过程。v根据数据抽象的级别定义了四种模型:概念根据数据抽象的级别定义
34、了四种模型:概念数据模型、逻辑数据模型、外部数据模型和内数据模型、逻辑数据模型、外部数据模型和内部数据模型。一般,在提及时省略部数据模型。一般,在提及时省略“数据数据”两两字。字。431.4.1 1.4.1 数据数据抽象的过程(抽象的过程(2)v定义定义1.7 1.7 v表表达达用用户户需需求求观观点点的的数数据据全全局局逻逻辑辑结结构构的的模模型,称为型,称为“概念模型概念模型”。v表表达达计计算算机机实实现现观观点点的的DBDB全全局局逻逻辑辑结结构构的的模模型,称为型,称为“逻辑模型逻辑模型”。v表表达达用用户户使使用用观观点点的的DBDB局局部部逻逻辑辑结结构构的的模模型型,称为称为“
35、外部模型外部模型”。v表达表达DBDB物理结构的模型,称为物理结构的模型,称为“内部模型内部模型”。441.4.1 1.4.1 数据数据抽象的过程(抽象的过程(3)综合综合转换转换应用应用1 1应用应用3应用应用2逻辑模型逻辑模型内部模型内部模型外部模型外部模型3外部模型外部模型2外部模型外部模型1映像映像映像映像DBDB概念模型概念模型用户需求用户需求用户需求用户需求用户用户1用户用户3用户用户2用户需求用户需求图图1.12 1.12 四种模型之间的相互关系四种模型之间的相互关系451.4.1 1.4.1 数据数据抽象的过程(抽象的过程(4)v数据抽象的过程,具体步骤如下:数据抽象的过程,具
36、体步骤如下:v第第1步步:根根据据用用户户需需求求,设设计计数数据据库库的的概概念念模模型型,这这是一个是一个“综合综合”的过程。的过程。v第第2步步:根根据据转转换换规规则则,把把概概念念模模型型转转换换成成数数据据库库的的逻辑模型,这是一个逻辑模型,这是一个“转换转换”的过程。的过程。v第第3步步:根根据据用用户户的的业业务务特特点点,设设计计不不同同的的外外部部模模型型,给程序员使用。给程序员使用。v第第4步步:数数据据库库实实现现时时,要要根根据据逻逻辑辑模模型型设设计计其其内内部部模型。模型。v一一般般,上上述述第第1步步称称为为DB的的概概念念设设计计,第第2、3步步称称为为DB的
37、逻辑设计,第的逻辑设计,第4步称为步称为DB的物理设计。的物理设计。461.4.2 1.4.2 概念模型概念模型(1)v概念模型的特点如下所述:概念模型的特点如下所述:(1)概概念念模模型型表表达达了了数数据据的的整整体体逻逻辑辑结结构构,它它是是系系统统用用户户对对整整个个应应用用项项目目涉涉及及的的数数据据的的全全面面描述。描述。(2)概概念念模模型型是是从从用用户户需需求求的的观观点点出出发发,对对数数据建模。据建模。(3)概概念念模模型型独独立立于于硬硬件件和和软软件件。硬硬件件独独立立意意味味着着概概念念模模型型不不依依赖赖于于硬硬件件设设备备,软软件件独独立立意意味着该模型不依赖于
38、实现时的味着该模型不依赖于实现时的DBMS软件。软件。(4)概概念念模模型型是是数数据据库库设设计计人人员员与与用用户户之之间间进进行交流的工具。行交流的工具。471.4.2 1.4.2 概念模型概念模型(2)vERER模模型型是是P.P.ChenP.P.Chen于于19761976年年提提出出的的。这这个个模模型型直直接接从从现现实实世世界界中中抽抽象象出出实实体体类类型型及及实实体体间间联联系系,然然后后用用实实体体联联系系图图(ERER图图)表表示示数数据据模模型型。设设计计ERER图图的的方方法法称为称为ERER方法。方法。ERER图是直接表示概念模型的有力工具。图是直接表示概念模型的
39、有力工具。v定义定义1.8 1.8 ERER图有三个基本成分:图有三个基本成分:矩矩形形框框,用用于于表表示示实实体体类类型型(考考虑虑问问题题的的对对象)。象)。菱形框,用于表示联系类型(实体间联系)。菱形框,用于表示联系类型(实体间联系)。椭椭圆圆形形框框,用用于于表表示示实实体体类类型型和和联联系系类类型型的的属性。属性。481.4.2 1.4.2 概念模型概念模型(3)图图1.13 1.13 ERER图实例图实例 S#STUDENTSCSNAMEAGEC#SEXCNAMET#TNAMETITLESCORETCCOURSETEACHER1NMN491.4.2 1.4.2 概念模型概念模型
40、(4)vERER模模型型有有两两个个明明显显的的优优点点:一一是是简简单单,容容易易理理解解,真真实实地地反反映映用用户户的的需需求求;二二是是与与计计算算机机无无关关,用用户户容容易易接接受受。因因此此ERER模模型型已已成成为为软软件件工程的一个重要设计方法。工程的一个重要设计方法。v但但是是ERER模模型型只只能能说说明明实实体体间间语语义义的的联联系系,还还不不能能进进一一步步说说明明详详细细的的数数据据结结构构。在在数数据据库库设设计计时时,遇遇到到实实际际问问题题总总是是先先设设计计一一个个ERER模模型型,然然后后再再把把ERER模模型型转转换换成成计计算算机机能能实实现现的的数
41、数据据模模型,譬如关系模型。型,譬如关系模型。501.4.3 1.4.3 逻辑模型逻辑模型v在在选选定定DBMS软软件件后后,就就要要将将概概念念模模型型按按照照选选定定的的DBMS的特点转换成逻辑模型。的特点转换成逻辑模型。v逻辑模型具有下列特点:逻辑模型具有下列特点:(1)逻逻辑辑模模型型表表达达了了DB的的整整体体逻逻辑辑结结构构,但但它它是是设设计人员对整个应用项目数据库的全面描述。计人员对整个应用项目数据库的全面描述。(2)逻逻辑辑模模型型是是从从数数据据库库实实现现的的观观点点出出发发,对对数数据据建建模。模。(3)逻辑模型独立于硬件,但依赖于软件()逻辑模型独立于硬件,但依赖于软
42、件(DBMS)。)。(4)逻逻辑辑模模型型是是数数据据库库设设计计人人员员与与应应用用程程序序员员之之间间进进行交流的工具。行交流的工具。511.层次模型(层次模型(1)v用树型(层次)结构表示实体类型及实体间联系的用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(数据模型称为层次模型(hierarchical model)。)。v层次模型的特点是记录之间的联系通过指针来实现,层次模型的特点是记录之间的联系通过指针来实现,查询效率较高。与文件系统的数据管理方式相比,查询效率较高。与文件系统的数据管理方式相比,层次模型是一个飞跃,用户和设计者面对的是逻辑层次模型是一个飞跃,用户和
43、设计者面对的是逻辑数据而不是物理数据,用户不必花费大量的精力考数据而不是物理数据,用户不必花费大量的精力考虑数据的物理细节。逻辑数据与物理数据之间的转虑数据的物理细节。逻辑数据与物理数据之间的转换由换由DBMS完成。完成。v层次模型有两个缺点:一是只能表示层次模型有两个缺点:一是只能表示1:N联系,虽联系,虽然系统有多种辅助手段实现然系统有多种辅助手段实现M:N联系但较复杂,用联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。编写也比较复
44、杂。521.层次模型(层次模型(2)层次模型例子层次模型例子 层次模型的具体实例层次模型的具体实例(树结构)(树结构)COURSESCTEACHERSTUDENTC4,C+C3,OSC2,DBC1,CS1,C1,80S2,C1,85S1,WANG,20,MS2,LIU,18,FT2,C1,SHI,教授教授532.网状模型(网状模型(1)v用有向图结构表示实体类型及实体间联用有向图结构表示实体类型及实体间联系的数据模型称为网状模型(系的数据模型称为网状模型(network model)。)。v网状模型的特点是记录之间联系通过指网状模型的特点是记录之间联系通过指针实现,针实现,M:N联系也容易实现
45、(一个联系也容易实现(一个M:N联系可拆成两个联系可拆成两个1:N联系),查询效联系),查询效率较高。率较高。v网状模型的缺点是数据结构复杂和编程网状模型的缺点是数据结构复杂和编程复杂。复杂。542.网状模型(网状模型(2)网状模型例子网状模型例子网状模型的实例(局部)网状模型的实例(局部)(有向图结构)(有向图结构)STUDENTCOURSETEACHERSCT_CC_SCS_SCC1C3C2C4S1,C1,80S1S2S3S4S1,C2,60S1,C3,70S2,C1,85S2,C2,75S4,C4,9055v层次模型层次模型(DS是树结构)是树结构)v网状模型网状模型(DS是有向图结构)
46、是有向图结构)DS复杂复杂用指针表示联系用指针表示联系编程复杂编程复杂(过程性语言)(过程性语言)3GL563.关系模型(关系模型(1)v关系模型(关系模型(relational model)的主要的主要特征是用二维表格表达实体集。特征是用二维表格表达实体集。v与前两种模型相比,数据结构简单,容与前两种模型相比,数据结构简单,容易为初学者理解。易为初学者理解。v关系模型是由若干个关系模式组成的集关系模型是由若干个关系模式组成的集合。合。v关系模式相当于前面提到的记录类型,关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是它的实例称为关系,每个关系实际上是一张二维表格。一张二维
47、表格。573.关系模型(关系模型(2)v例例1.7 TEACHERTEACHER模式(模式(T#T#,TNAMETNAME,TITLETITLE)COURSECOURSE模式(模式(C#C#,CNAMECNAME,T#T#)STUDENTSTUDENT模式(模式(S#S#,SNAMESNAME,AGEAGE,SEXSEX)SCSC模式(模式(S#S#,C#C#,SCORESCORE)图图1.18 1.18 关系模型的例子关系模型的例子 583.关系模型(关系模型(3)TEACHER关系关系 COURSE关系关系T#T#TNAMETNAME TITLETITLEC#C#CNAMECNAMET#T
48、#T2T2SHISHI教授教授C1C1C CT2T2T3T3LILI副教授副教授C2C2DBDBT3T3T1T1DAIDAI讲师讲师C3C3OSOST3T3T4T4GUGU讲师讲师C4C4C+C+T2T2 STUDENT关系关系 SC关系关系S#S#SNAMESNAME AGEAGESEXSEXS#S#C#C#SCORESCORES1S1WANGWANG2020M MS1S1C1C18080S4S4LIULIU1818F FS1S1C2C26060S2S2HUHU1717M MS1S1C3C37070S3S3XIAXIA1919F FS4S4C4C49090S2S2C1C18585图图1.19
49、 1.19 关系模型的实例关系模型的实例S2S2C2C27575593.关系模型(关系模型(4)关系模型和层次、网状模型的最大差别关系模型和层次、网状模型的最大差别是用关键码而不是用指针导航数据,其表格是用关键码而不是用指针导航数据,其表格简单,用户易懂,用户只需用简单的查询语简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行操作,并不涉及存储句就可以对数据库进行操作,并不涉及存储结构、访问技术等细节。结构、访问技术等细节。关系模型是数学化的模型。由于把表格关系模型是数学化的模型。由于把表格看成一个集合,因此集合论、数理逻辑等知看成一个集合,因此集合论、数理逻辑等知识可引入到关系模型中
50、来识可引入到关系模型中来。604.对象模型(对象模型(1)v对象(对象(object)是现实世界中实体的模型化,是现实世界中实体的模型化,与实体概念相仿,但远比实体复杂。与实体概念相仿,但远比实体复杂。v将属性集和方法集相同的所有对象组合在一将属性集和方法集相同的所有对象组合在一起,构成了一个类(起,构成了一个类(class)。)。614.对象模型(对象模型(2)类类SC PC PS SCORE类类COURSE C#CNAME PT 类类TEACHER T#TNAME TITLE类类STUDENT S#SNAME AGE SEX图图1.20 1.20 对象模型的类层次例子对象模型的类层次例子6