《数据库基础概述1.ppt》由会员分享,可在线阅读,更多相关《数据库基础概述1.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1.1 数据库技术的产生与发展数据库技术的产生与发展n人工管理阶段人工管理阶段 数据库技术是应数据管理任务的需要而产生的。数据管数据库技术是应数据管理任务的需要而产生的。数据管理是指理是指如何对数据进行分类、组织、编码、检索和维护如何对数据进行分类、组织、编码、检索和维护,它,它是数据处理的中心问题。随着计算机硬件和软件的发展,数是数据处理的中心问题。随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统、数据库系统和分布式数据管理经历了人工管理、文件系统、数据库系统和分布式数据库系统四个发展阶段。据库系统四个发展阶段。l在早期在早期(20世纪世纪50年代中期以前年代中期以前),计算机
2、主要用于数值计算,计算机主要用于数值计算,只能使用卡片、纸带、磁带等来存储数据。数据是程序的组只能使用卡片、纸带、磁带等来存储数据。数据是程序的组成部分,数据的输入、输出和使用都是由程序来控制,使用成部分,数据的输入、输出和使用都是由程序来控制,使用时随程序一起进入内存,用完后完全撤出计算机。时随程序一起进入内存,用完后完全撤出计算机。第一章第一章 数据库基本概念数据库基本概念l数据不保存数据不保存l数据需要由应用程序自己管理,没有相应的软件系数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。统负责数据的管理工作。l数据不共享。数据不共享。l数据不具有独立性。数据不具有独立性。
3、n缺点缺点l由于每个程序都有属于自己的一组数据,各程序之间的数据由于每个程序都有属于自己的一组数据,各程序之间的数据不能互相调用,因此,经常要在处理同一批数据的几个程序中不能互相调用,因此,经常要在处理同一批数据的几个程序中重复存储这些数据,数据冗余很大。另外,数据的存储格式、重复存储这些数据,数据冗余很大。另外,数据的存储格式、存取方式、输入输出方式等,都要由程序员自行设计。存取方式、输入输出方式等,都要由程序员自行设计。l20世纪世纪60年代,出现了磁带、磁盘等大容量的外存储器和年代,出现了磁带、磁盘等大容量的外存储器和操作系统,便可利用操作系统中的文件管理功能来进行数据操作系统,便可利用
4、操作系统中的文件管理功能来进行数据处理。在这一阶段,数据不再是程序的组成部分,而是按一处理。在这一阶段,数据不再是程序的组成部分,而是按一定的规则把成批数据组织在数据文件中,存放于外存储器上、定的规则把成批数据组织在数据文件中,存放于外存储器上、并可为各个文件取一个名字。在程序中通过文名把文件调入并可为各个文件取一个名字。在程序中通过文名把文件调入内存而使用其中的数据。内存而使用其中的数据。l用文件形式来保存和操作数据,使程序和数据有了一定的独用文件形式来保存和操作数据,使程序和数据有了一定的独立性。数据文件长期保存在外存储器上,可以多次存取,进立性。数据文件长期保存在外存储器上,可以多次存取
5、,进行查询、修改、插入、删除等操作,并可采用多种文件组织行查询、修改、插入、删除等操作,并可采用多种文件组织形式,如顺序文、索引文件、随机文件等。形式,如顺序文、索引文件、随机文件等。n文件系统阶段文件系统阶段(5050年代后期年代后期6060年代中期)年代中期)l数据文件使数据的逻辑结构(用户所看到的数据结构)数据文件使数据的逻辑结构(用户所看到的数据结构)和物理结构(数据在物理设备上的存储结构)可以有和物理结构(数据在物理设备上的存储结构)可以有一定的差别。(例如:用户看到的数据文件是顺序排一定的差别。(例如:用户看到的数据文件是顺序排列的一连串记录,实际上这些记录却是分散存储在磁列的一连
6、串记录,实际上这些记录却是分散存储在磁盘的不同扇区里,用链接方式组织在一起的。在访问盘的不同扇区里,用链接方式组织在一起的。在访问文件时,只需给出文件名和逻辑记录号,而不必关心文件时,只需给出文件名和逻辑记录号,而不必关心记录在存储器上的地址以及内存和外存交换数据的过记录在存储器上的地址以及内存和外存交换数据的过程。程。l采用数据文件是数据处理技术的进步,但除了对记录采用数据文件是数据处理技术的进步,但除了对记录的存取由文件完成之外,记录的内部结构仍由应用程序的存取由文件完成之外,记录的内部结构仍由应用程序自身定义,数据的维护也由程序来完成。因而,数据文自身定义,数据的维护也由程序来完成。因而
7、,数据文件与使用数据的程序之间仍存在着密切的依赖关系。基件与使用数据的程序之间仍存在着密切的依赖关系。基本上是一个数据文件只能被一个或几个专门的程序所调本上是一个数据文件只能被一个或几个专门的程序所调用,某一用户只能操作指定的数据文件。这样,各个用用,某一用户只能操作指定的数据文件。这样,各个用户的数据文件中就不可避免地会有大量重复的数据。更户的数据文件中就不可避免地会有大量重复的数据。更为严重的是,由于不能统一修改数据,可能会造成一指为严重的是,由于不能统一修改数据,可能会造成一指数据因重复存储而出现的不一致性。另外,对文件中数数据因重复存储而出现的不一致性。另外,对文件中数据的操作也是很粗
8、糙的,只能操作记录,无法操作记录据的操作也是很粗糙的,只能操作记录,无法操作记录中的字段。中的字段。特点:特点:计算机技术有了很大的发展,开始广泛应用于信息处计算机技术有了很大的发展,开始广泛应用于信息处理理 存储设备有了磁盘、磁鼓等可直接存取的设备存储设备有了磁盘、磁鼓等可直接存取的设备 计算机有了操作系统,包括文件管理系统,用户可将计算机有了操作系统,包括文件管理系统,用户可将数数 据组织成文件体交给系统进行自动管理。据组织成文件体交给系统进行自动管理。数据可长期保存在磁盘等存储设备上数据可长期保存在磁盘等存储设备上 程序和数据有了一定的独立性,且文件有多种形式的程序和数据有了一定的独立性
9、,且文件有多种形式的组组 织结构:顺序、链接、索引、直接织结构:顺序、链接、索引、直接(3 3)对数据的表示和处理能力较差)对数据的表示和处理能力较差 文件的结构和操作比较单一,不够丰富。文件的结构和操作比较单一,不够丰富。(4 4)数据不一致)数据不一致 由(由(1 1)造成,更新时会造成同一数据在不同文件)造成,更新时会造成同一数据在不同文件中的不一致。中的不一致。(5 5)数据联系弱)数据联系弱文件与文件之间是独立的,文件之间的联系必须通文件与文件之间是独立的,文件之间的联系必须通过程序来构造。过程序来构造。尽管如此,文件系统在数据管理技术的发展中仍起尽管如此,文件系统在数据管理技术的发
10、展中仍起着很重要的作用。着很重要的作用。缺点:缺点:(1 1)数据冗余较大)数据冗余较大每个文件都是为特定的用途设计的,每个文件都是为特定的用途设计的,同样数据在多个文件中重复存储同样数据在多个文件中重复存储不能提供以文件为单位的数据共享。不能提供以文件为单位的数据共享。(2 2)程序和数据之间的独立性较差)程序和数据之间的独立性较差应用程序依赖于文件的存储结构,修改文件存储结构就要应用程序依赖于文件的存储结构,修改文件存储结构就要修改程序修改程序2020世纪世纪6060年代后期年代后期,数据处理的规模急剧增长数据处理的规模急剧增长.同时同时,计算机系统中计算机系统中采用了大容量的磁盘采用了大
11、容量的磁盘(数百数百MBMB以上以上)系统系统,使联机存大量数据成为使联机存大量数据成为可能可能.为了解决数据的独立性问题为了解决数据的独立性问题,实现数据的统一管理实现数据的统一管理,达到数达到数据共享的目的据共享的目的,数据库技术得到了极大的发展数据库技术得到了极大的发展出现数据库和出现数据库和数据库系统数据库系统.在数据库系统中,存储于数据库中的大量数据与应用程序是相互独在数据库系统中,存储于数据库中的大量数据与应用程序是相互独立的。数据是按照某种规则,以能反映数据之间内在联系的形式立的。数据是按照某种规则,以能反映数据之间内在联系的形式组织在库文件中的。数据的变动不会影响到应用程序,数
12、据也不组织在库文件中的。数据的变动不会影响到应用程序,数据也不会受到应用程序变化的影响。数据库系统对数据的完整性、惟一会受到应用程序变化的影响。数据库系统对数据的完整性、惟一性、安全性提供了统一而有效的管理手段。数据库系统提供了管性、安全性提供了统一而有效的管理手段。数据库系统提供了管理和控制数据的各种简单明了的操作命令及程序设计语言,使用理和控制数据的各种简单明了的操作命令及程序设计语言,使用户可向数据库发出查询、修改、统计等各种命令,以便得到满足户可向数据库发出查询、修改、统计等各种命令,以便得到满足不同需要的信息。不同需要的信息。n数据库系统阶段数据库系统阶段n分布式数据库系统阶段分布式
13、数据库系统阶段l分布式数据库系统是数据库技术与计算机网络技术相结合的产分布式数据库系统是数据库技术与计算机网络技术相结合的产物,在物,在2020世纪世纪8080年代中期已有商品化商问世。年代中期已有商品化商问世。l分布式数据库系统是一个逻辑上统一、地域上分布的数据集合,分布式数据库系统是一个逻辑上统一、地域上分布的数据集合,是计算机网络环境中各个局部数据库的逻辑集合,同时受分布是计算机网络环境中各个局部数据库的逻辑集合,同时受分布式数据库管理系统的控制和管理。式数据库管理系统的控制和管理。l分布式数据库系统在逻辑上很像一个集中式数据库系统,但实分布式数据库系统在逻辑上很像一个集中式数据库系统,
14、但实际上数据存储在处于不同地点的计算机网络的各个结点上。每际上数据存储在处于不同地点的计算机网络的各个结点上。每个结点的数据库系统都有独立处理本地事务的能力,而且各局个结点的数据库系统都有独立处理本地事务的能力,而且各局部结点之间也能够互相访问、有效配合,以便处理更复杂的事部结点之间也能够互相访问、有效配合,以便处理更复杂的事务。用户可以利用分布式数据库管理系统,通过网络通信相互务。用户可以利用分布式数据库管理系统,通过网络通信相互传递数据。分布式数据库系统具有高度的透明性。每台计算机传递数据。分布式数据库系统具有高度的透明性。每台计算机上的用户不需要了解所访问的数据究竟在什么地方,就像使用上
15、的用户不需要了解所访问的数据究竟在什么地方,就像使用集中式数据库一样。集中式数据库一样。l分布式数据库系统适合于那些各部门在地理上分散的组织机分布式数据库系统适合于那些各部门在地理上分散的组织机构的事务处理。它比集中式系统有更高的可靠性,在个别结构的事务处理。它比集中式系统有更高的可靠性,在个别结点或个别通信链路发生故障时可以继续工作,从而分散了工点或个别通信链路发生故障时可以继续工作,从而分散了工作负荷。如果本结点的数据子集包含了要查询的全部内容,作负荷。如果本结点的数据子集包含了要查询的全部内容,那么显然比集中式数据库在全集上查找要节省时间。那么显然比集中式数据库在全集上查找要节省时间。l
16、数据(数据(data)data):实际上是描述事物的符号记录实际上是描述事物的符号记录。1.2 1.2 数据库系统数据库系统1.2.1 1.2.1 数据、数据库、数据库管理系统数据、数据库、数据库管理系统n数据数据n数据库数据库l数据库(数据库(DBDB):长期储存在:长期储存在计算机内计算机内、有组织有组织、可共享可共享的的数据集合。即是按照一定的组织方式来组织、存储和管理数数据集合。即是按照一定的组织方式来组织、存储和管理数据的据的“仓库仓库”。l数据库中的数据按一定的数据模型组织、描述和储存,具数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,
17、并可为各有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。种用户共享。l数据库中的数据是一种处理用的中间数据,称为数据库中的数据是一种处理用的中间数据,称为业务数据业务数据。它与输入输出数据不同。可以将输入数据转变成业务数据存它与输入输出数据不同。可以将输入数据转变成业务数据存入数据库中,也可以从数据库中的数据推导产生出输出数据。入数据库中,也可以从数据库中的数据推导产生出输出数据。l数据库管理系统(数据库管理系统(DBMSDBMS):为数据库的建立、使用和维护而配:为数据库的建立、使用和维护而配置的软件。它是科学地组织数据并将其存储在数据库中,置的软件。它是科学地组织数据并将其
18、存储在数据库中,高效高效地处理这些数据的一个软件系统。(地处理这些数据的一个软件系统。(Microsoft AccessMicrosoft Access是是DBMSDBMS)n数据库系统数据库系统1.2.2 1.2.2 数据库系统的使用数据库系统的使用l数据库系统外观图示如下:数据库系统外观图示如下:批处理用户批处理用户1 1批处理用户批处理用户2 2终端用户终端用户1 1终端用户终端用户2 2终端用户终端用户3 3数数据据库库DBMSn数据库管理系统数据库管理系统l专业用户:即应用程序员。他们具务一定的计算机专业知识,专业用户:即应用程序员。他们具务一定的计算机专业知识,经常要存取数据库中的
19、大量数据,或编写应用程序来存取并经常要存取数据库中的大量数据,或编写应用程序来存取并处理数据库中的数据,故又称为批处理用户。(如:库存盘处理数据库中的数据,故又称为批处理用户。(如:库存盘点处理、工资处理等)。点处理、工资处理等)。l终端用户:他们通过终端设备,使用简便的查询命令来存取终端用户:他们通过终端设备,使用简便的查询命令来存取数据库中的数据。这类用户多为非计算机专业人员。他们对数据库中的数据。这类用户多为非计算机专业人员。他们对数据库的操作经常以数据检索为主。数据库的操作经常以数据检索为主。l系统用户:他们负责对数据库进行维护,以保证数据库系统系统用户:他们负责对数据库进行维护,以保
20、证数据库系统的正常运行。这种用户是数据库管理员(的正常运行。这种用户是数据库管理员(DBADBA)。他们要对)。他们要对数据库全面负责,而且具有较高的技术水平。数据库全面负责,而且具有较高的技术水平。数据库的用户分类数据库的用户分类用户对数据的操作用户对数据的操作l用户对数据库的操作主要有:检索、插入、更新和删除等。用户对数据库的操作主要有:检索、插入、更新和删除等。用户与数据库的联系用户与数据库的联系l位于数据库和用户之间的是数据库管理系统,它的主要任务位于数据库和用户之间的是数据库管理系统,它的主要任务是完成用户对数据库的存取请求,即检索、插入、更新或删是完成用户对数据库的存取请求,即检索
21、、插入、更新或删除等操作。也就是说,用户不能直接接触数据库,而只能通除等操作。也就是说,用户不能直接接触数据库,而只能通过数据库管理系统来存取数据。数据库管理系统的另一个主过数据库管理系统来存取数据。数据库管理系统的另一个主要任务是为数据库管理员提供维护数据库的手段。要任务是为数据库管理员提供维护数据库的手段。数据的共享数据的共享l每个数据库用户都只使用数据库中的部分数据,而不是全体。每个数据库用户都只使用数据库中的部分数据,而不是全体。不同用户使用的数据可以任意重叠,甚至是同一批数据,这就不同用户使用的数据可以任意重叠,甚至是同一批数据,这就是数据的共享。是数据的共享。1.2.3 1.2.3
22、 数据库系统的组成数据库系统的组成l数据库系统(数据库系统(DBSDBS)是指采用了数据库技术的计算机系统,它是)是指采用了数据库技术的计算机系统,它是一种实际可运行的,按照数据库方式存储、维护和向应用系统提一种实际可运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的系统,是存储介质、处理对象和管理系统的供数据或信息支持的系统,是存储介质、处理对象和管理系统的集合体。通常由集合体。通常由数据库数据库、硬件硬件、软件软件和和数据管理员数据管理员组成。组成。数据库数据库它通常由两大部分组成:它通常由两大部分组成:l物理数据库:有关应用所需要的业务数据的集合。它是数据物理数据库:有关应
23、用所需要的业务数据的集合。它是数据库的主体库的主体l描述数据库:关于各级数据结构的描述数据。通常由一个数描述数据库:关于各级数据结构的描述数据。通常由一个数据字典系统管理。据字典系统管理。数据库是与一个特定组织的各项应用相关的全部数据的汇集。数据库是与一个特定组织的各项应用相关的全部数据的汇集。软件支持系统软件支持系统数据库系统的核心组成部分是数据库系统的核心组成部分是DBMSDBMS。DBMSDBMS是在操作系统支是在操作系统支持下工作的庞大软件。利用持下工作的庞大软件。利用DBMSDBMS提供的一系列命令,用户提供的一系列命令,用户可以建立数据库文件,定义数据以及对数据进行各种操作。可以建
24、立数据库文件,定义数据以及对数据进行各种操作。数据系统的支持软件还包括操作系统、各种实用程序等。数据系统的支持软件还包括操作系统、各种实用程序等。另外,在开发操纵数据库的应用系统时,不仅可以使用数另外,在开发操纵数据库的应用系统时,不仅可以使用数据库管理系统自含的程序设计语言,也可以使用其他软件据库管理系统自含的程序设计语言,也可以使用其他软件开发工具,如:开发工具,如:PowerBuilderPowerBuilder,DelphiDelphi,Visual BasicVisual Basic,Visual C+Visual C+等,在这种情况下,支持软件还应包括相应的等,在这种情况下,支持软
25、件还应包括相应的宿主语言(软件开发工具)及其编译系统。宿主语言(软件开发工具)及其编译系统。硬件支持系统硬件支持系统运行数据库系统的计算机要有足够大的内存储器、大容量的磁运行数据库系统的计算机要有足够大的内存储器、大容量的磁盘等联机直接存取设备和较高的传输数据的硬件设备,以支持盘等联机直接存取设备和较高的传输数据的硬件设备,以支持对外存储器的频繁访问;还需要有足够数量的脱机存储介质,对外存储器的频繁访问;还需要有足够数量的脱机存储介质,如软盘、外接式硬盘、磁带、可擦写式光盘等,以存放数据库如软盘、外接式硬盘、磁带、可擦写式光盘等,以存放数据库备份。备份。数据库管理员数据库管理员管理、开发和使用
26、数据库系统的人员主要有数据库管理员、系管理、开发和使用数据库系统的人员主要有数据库管理员、系统分析员、应用系统员和用户。数据库系统中不同人员涉及不统分析员、应用系统员和用户。数据库系统中不同人员涉及不同的数据抽象级别,具有不同的数据视图。同的数据抽象级别,具有不同的数据视图。对于较大规模的数据库系统来说,必须有人全面负责建立、对于较大规模的数据库系统来说,必须有人全面负责建立、维护和管理数据库系统,承担这种任务的人员称为维护和管理数据库系统,承担这种任务的人员称为数据库管数据库管理员理员。数据库管理员是控制数据整体结构的人,负责保护和。数据库管理员是控制数据整体结构的人,负责保护和控制数据,使
27、数据能被任何有权使用的人有效使用。控制数据,使数据能被任何有权使用的人有效使用。数据库管理员的数据库管理员的职责职责包括:定义并存储数据库的内容,监督包括:定义并存储数据库的内容,监督和控制数据库的使用,负责数据库的日常维护,必要时重新和控制数据库的使用,负责数据库的日常维护,必要时重新组织和改进数据库。组织和改进数据库。数据库管理员负责维护数据库,但对数据库的内容则不负责。数据库管理员负责维护数据库,但对数据库的内容则不负责。而且,为了保证数据的安全性,数据库的内容对数据库管理而且,为了保证数据的安全性,数据库的内容对数据库管理员应该是封锁的。(如:数据库管理员知道职工记录类型中员应该是封锁
28、的。(如:数据库管理员知道职工记录类型中含有工资数据项,可以根据应用的需要将该数据项类型由含有工资数据项,可以根据应用的需要将该数据项类型由6 6位位数字扩充到数字扩充到7 7位数字型,但是不能读取或修改任一职工的工资位数字型,但是不能读取或修改任一职工的工资值。值。带有带有DBMS的计算机系统层次结构的计算机系统层次结构应用系统应用系统DBMS操作系统操作系统硬硬 件件1.2.4 1.2.4 数据库系统的结构数据库系统的结构当当设计数据库设计数据库时,对数据库的时,对数据库的结构结构感兴趣;感兴趣;即即模模式式(SchemaSchema):数数据据库库中中数数据据的的逻逻辑辑结结 构和特征的
29、描述构和特征的描述当当应用数据库应用数据库时,关心的是数据库中存在的数据时,关心的是数据库中存在的数据 实例(实例(InstanceInstance)。)。数数据据库库中中的的数数据据经经常常变变化化,而而数数据据库库的的结结构构在在一一定定时时 间范围内不会改变。间范围内不会改变。因此因此,数据库中结构的定义可以在多个抽象级别进行,形成数据库中结构的定义可以在多个抽象级别进行,形成多个级别的数据库模式。多个级别的数据库模式。l数据库系统有一个严谨的体系结构来保证其功能得以实现。数据库系统有一个严谨的体系结构来保证其功能得以实现。根据美国标准化协会和标准计划与需求委员会根据美国标准化协会和标准
30、计划与需求委员会(ANSI/SPARSANSI/SPARS)提出的建议,数据库系统的结构是)提出的建议,数据库系统的结构是三级模三级模式式和和二级映射二级映射结构。结构。数数据据库库系系统统的的三三级级模模式式不不仅仅可可以以使使数数据据具具有有独独立立性性,而而且且还还可可以以使使数数据据达达到到共共享享,使使同同一一数数据据满满足足更更多多用用户户的的不不同要求。同要求。模式模式/物理模式映射物理模式映射概念模式概念模式子模式子模式/模式映射模式映射外模式外模式B B外模式外模式A A应用程序应用程序应用程序应用程序应用程序应用程序DBMS内内 模模 式式物理级数据库物理级数据库概念级数据
31、库概念级数据库用户级数据库用户级数据库数据库系统的数据库系统的三级模式三级模式和和二级映射二级映射结构图结构图三种模式三种模式数据库的基本结构是由用户级、概念级和物理级组成的三级结数据库的基本结构是由用户级、概念级和物理级组成的三级结构,分别称为概念模式、外模式和内模式。构,分别称为概念模式、外模式和内模式。1 1、概念模式概念模式:简称模式,是由数据库设计者综合所有用户:简称模式,是由数据库设计者综合所有用户数据,按照统一的观点构造的全局逻辑结构。是数据库中数据,按照统一的观点构造的全局逻辑结构。是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数全体数据的逻辑结构和特性的描述,是所
32、有用户的公共数据视图;它是用模式描述语言来描述的、由多种概念记录据视图;它是用模式描述语言来描述的、由多种概念记录组成的数据库。概念模式是数据库的整个逻辑描述,是数组成的数据库。概念模式是数据库的整个逻辑描述,是数据库所采用的数据模型。它由数据库管理员统一组织管理,据库所采用的数据模型。它由数据库管理员统一组织管理,故又称为故又称为DBADBA视图视图。DBMSDBMS提供数据定义语言提供数据定义语言DDLDDL来描述逻辑模式,严格定义数来描述逻辑模式,严格定义数据的名称、特征、相互关系、约束等。据的名称、特征、相互关系、约束等。2 2、内模式内模式:又称物理模式或存储模式,是数据在数据库系统
33、:又称物理模式或存储模式,是数据在数据库系统的内部表示,它描述数据在存储介质上的安排与存储方式的内部表示,它描述数据在存储介质上的安排与存储方式,是是低级描述低级描述。一般由。一般由DBMSDBMS提供的语言或工具完成;提供的语言或工具完成;它是由系统程序员设计和组织的,是系统程序员所看到和理它是由系统程序员设计和组织的,是系统程序员所看到和理解的数据库。物理数据库就是实际存放在外存储器上的数据解的数据库。物理数据库就是实际存放在外存储器上的数据库,实际上是许多物理文件的集合。库,实际上是许多物理文件的集合。要要修修改改存存储储数数据据库库的的结结构构(例例如如,用用倒倒排排文文件件代代替替多
34、多链链表表),那么仅仅需要把这些修改反映在存储模式中;,那么仅仅需要把这些修改反映在存储模式中;通通常常我我们们不不关关心心内内模模式式的的具具体体技技术术实实现现,而而是是从从一一般般组组织织的的观观点点(即即概概念念模模式式)或或用用户户的的观观点点(外外模模式式)来来讨讨论论数数据据库库的的描描述述。但但我我们们必必须须意意识识到到基基本本的的内内模模式式和和存存储储数数据据库的存在。库的存在。3 3、外模式外模式:又称子模式:又称子模式(用户模式用户模式,视图视图),是模式的子集,是模式的子集或变形,是与某一应用有关的数据的逻辑表示;是用户与或变形,是与某一应用有关的数据的逻辑表示;是
35、用户与数据库的接口,是应用程序可见的数据描述。从逻辑关系数据库的接口,是应用程序可见的数据描述。从逻辑关系上看,外模式是概念模式的一部分,或者说是模式的一个上看,外模式是概念模式的一部分,或者说是模式的一个逻辑子集。逻辑子集。外模式是从概念厝式导出的子模式。对应于外模式的数据外模式是从概念厝式导出的子模式。对应于外模式的数据库是用户所看到和使用的数据库,因此,每个用户必须使库是用户所看到和使用的数据库,因此,每个用户必须使用一个外模式,用户通过应用程序也只能操纵其外模式范用一个外模式,用户通过应用程序也只能操纵其外模式范围内的数据。当然,多个用户也可以使用一个外模式。用围内的数据。当然,多个用
36、户也可以使用一个外模式。用户通过子模式描述语言来描述用户级数据库的记录,还可户通过子模式描述语言来描述用户级数据库的记录,还可以利用数据操纵语言来操作这些记录。以利用数据操纵语言来操作这些记录。举例:举例:民航售票系统包括处理航班程序和处理旅客程序。民航售票系统包括处理航班程序和处理旅客程序。-程序的使用人员不必知道关于人事档案、丢失的行程序的使用人员不必知道关于人事档案、丢失的行李、飞行员的航行分配等信息;李、飞行员的航行分配等信息;-调度员可能需要知道关于航班、飞机和人事档案等调度员可能需要知道关于航班、飞机和人事档案等 信息(如那些飞行员有资格驾驶信息(如那些飞行员有资格驾驶747),但
37、不必知道雇),但不必知道雇员的工资、旅客等信息。员的工资、旅客等信息。所以可以为订票部门建立一个数据库视图,为调度部所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的部门门建立另一个完全不同的部门。不同用户需求不同,看待数据的方式也可以不同不同用户需求不同,看待数据的方式也可以不同 ,对数据,对数据保密的要求也可以不同,使用的程序设计语言也可以不同,保密的要求也可以不同,使用的程序设计语言也可以不同,因此不同用户的外模式的描述可以使不同的。因此不同用户的外模式的描述可以使不同的。NoteNote:视图处理的数据并不实际存储在数据库中,而视图处理的数据并不实际存储在数据库中,而
38、仅可以从逻辑数据库中构造出来。视图比(逻辑)模仅可以从逻辑数据库中构造出来。视图比(逻辑)模式的抽象级别更高。式的抽象级别更高。举例:举例:“年龄年龄”在人事部门数据库中,但(逻辑)模在人事部门数据库中,但(逻辑)模式重金包含出生年月。当用户希望通过访问视图得到式重金包含出生年月。当用户希望通过访问视图得到年龄时,年龄时,DBMSDBMS翻译这个要求,在从物理数据库上取出翻译这个要求,在从物理数据库上取出的数据完成计算。的数据完成计算。注:一个数据库只有一个模式,一个内模式,但可注:一个数据库只有一个模式,一个内模式,但可以有多个外模式。以有多个外模式。三者关系三者关系:无论哪一级模式都只是处
39、理数据的一个框架,按这些框架无论哪一级模式都只是处理数据的一个框架,按这些框架填入的数据才是数据库的内容。以外模式、概念模式或物填入的数据才是数据库的内容。以外模式、概念模式或物理模式为框架的数据库分别称为用户数据库、概念数据库理模式为框架的数据库分别称为用户数据库、概念数据库和物理数据库。物理数据库是实际存放在外存储器里的数和物理数据库。物理数据库是实际存放在外存储器里的数据库,而概念数据库和用户数据库只不过是对物理数据库据库,而概念数据库和用户数据库只不过是对物理数据库的抽象的逻辑描述而已。用户数据库是概念数据库的部分的抽象的逻辑描述而已。用户数据库是概念数据库的部分抽取,概念数据库是物理
40、数据库的抽象表示,物理数据库抽取,概念数据库是物理数据库的抽象表示,物理数据库是概念数据库的具体实现。是概念数据库的具体实现。二级映射二级映射三级模式之间的联系是通过二级映射来实现三级模式之间的联系是通过二级映射来实现,以保证数据库系统以保证数据库系统的数据独立性,即物理独立性与逻辑独立性。映射用来指定映的数据独立性,即物理独立性与逻辑独立性。映射用来指定映射双方进行数据转换的规则。射双方进行数据转换的规则。1 1、子模式子模式/模式映射模式映射:表达了用户数据库和概念数据库之间的:表达了用户数据库和概念数据库之间的对应关系。对应关系。数数据据库库系系统统投投入入使使用用后后,可可能能有有必必
41、要要修修改改模模式式(如如增增加加新新关系、属性、改变类型),这时:关系、属性、改变类型),这时:重重新新定定义义外外模模式式/模模式式映映象象=现现存存外外模模式式不不变变=应应用用程程序序不不变变 DBADBA职责职责2 2、模式模式/物理模式映射物理模式映射:表达了概念数据库和物理数据库之间:表达了概念数据库和物理数据库之间的对应关系。的对应关系。用户根据子模式来操纵数据库时,数据库系统通过子模式用户根据子模式来操纵数据库时,数据库系统通过子模式/模式模式映射使用户数据库与概念数据库相联系,又通过模式映射使用户数据库与概念数据库相联系,又通过模式/物理模式物理模式映射与物理数据库相联系,
42、从而使用户实际使用物理数据库的映射与物理数据库相联系,从而使用户实际使用物理数据库的数据。实际的转换工作是由数据库管理系统来完成的。数据。实际的转换工作是由数据库管理系统来完成的。当内模式发生变化时:当内模式发生变化时:重重新新定定义义模模式式/内内模模式式映映象象=模模式式保保持持不不变变=外外模模式保持不变式保持不变=建立在外模式上的应用程序保持不变建立在外模式上的应用程序保持不变1.2.5 1.2.5 数据库管理系统的功能与组成数据库管理系统的功能与组成l数据库管理系统作为数据库系统的核心软件,其数据库管理系统作为数据库系统的核心软件,其主要目标主要目标是是使数据成为方便用户使用的资源,
43、易于为各种用户所共享,使数据成为方便用户使用的资源,易于为各种用户所共享,并增强数据的安全笥、完整性和可用性。并增强数据的安全笥、完整性和可用性。l数据库系统的三级模式实际上是在用户数据的逻辑结构与物数据库系统的三级模式实际上是在用户数据的逻辑结构与物理存储结构之间加入了数据的整体逻辑结构。整体逻辑结构理存储结构之间加入了数据的整体逻辑结构。整体逻辑结构涉及到所有用户的数据定义,是全局的数据视图。这三级模涉及到所有用户的数据定义,是全局的数据视图。这三级模式之间可以有很大差别。为了实现三级结构之间的转换,式之间可以有很大差别。为了实现三级结构之间的转换,DBMSDBMS提供了相邻二级结构之间的
44、映像。用户只需关心自己用提供了相邻二级结构之间的映像。用户只需关心自己用到的局部逻辑结构就可以了,而不必关心数据在系统内的表到的局部逻辑结构就可以了,而不必关心数据在系统内的表示和存储。示和存储。lDBMSDBMS保证了数据和操纵数据的应用程序之间的物理独立性和保证了数据和操纵数据的应用程序之间的物理独立性和逻辑独立性。逻辑独立性。逻辑独立性逻辑独立性:是指由系统提供数据的总体逻辑结构和面向某:是指由系统提供数据的总体逻辑结构和面向某个具体应用的局部逻辑之间的映射或转换功能,当数据的总个具体应用的局部逻辑之间的映射或转换功能,当数据的总体逻辑结构改变时,能够通过映射来保持局部逻辑结构不变,体逻
45、辑结构改变时,能够通过映射来保持局部逻辑结构不变,从而应用程也不需要进行修改。从而应用程也不需要进行修改。物理独立性物理独立性:是指当数据的存储结构改变时,由系统提供数:是指当数据的存储结构改变时,由系统提供数据的物理结构与逻辑结构之间的映射或转换功能,保持数据据的物理结构与逻辑结构之间的映射或转换功能,保持数据的逻辑结构不变,从而不必修改应用程序。的逻辑结构不变,从而不必修改应用程序。DBMS功能功能l数据库定义功能:数据库定义功能:数据库定义也称为数据库描述,包括定义构成数据库系统的模式、数据库定义也称为数据库描述,包括定义构成数据库系统的模式、存储模式和外模式;定义外模式与模式之间、模式
46、与存储模式存储模式和外模式;定义外模式与模式之间、模式与存储模式之间的映射;以及定义有关的约束条件。(如:为保证数据库之间的映射;以及定义有关的约束条件。(如:为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全中数据具有正确语义而定义的完整性规则,为保证数据库安全而定义的用户口令和存取权限等)而定义的用户口令和存取权限等)l数据库操纵功能:数据库操纵功能:数据库操纵是数据库操纵是DBMSDBMS面向用户的功能。面向用户的功能。DBMSDBMS接收、分析和执行用户接收、分析和执行用户对数据库提出的各种操作要求,并完成数据库数据的检索、插对数据库提出的各种操作要求,并完成数据库数据
47、的检索、插入、删除和更新等各种数据处理任务。入、删除和更新等各种数据处理任务。l数据库运行控制功能:数据库运行控制功能:DBMS运行时的核心工作是对数据库的运行进行管理,包括执运行时的核心工作是对数据库的运行进行管理,包括执行访问数据库时的安全性检查、完整性约束条件的检查和执行、行访问数据库时的安全性检查、完整性约束条件的检查和执行、数据共享的并发控制,以及数据库的内部维护(如索引、数据数据共享的并发控制,以及数据库的内部维护(如索引、数据字典的自动维护)等。所有访问数据库的操作都要在这些控制字典的自动维护)等。所有访问数据库的操作都要在这些控制程序的统一管理下进行。其目的是保证数据库的可用性
48、和可靠程序的统一管理下进行。其目的是保证数据库的可用性和可靠性。性。1、数据安全性控制功能、数据安全性控制功能这是对数据库的一种保护措施。是防止因非授权用户存取数据这是对数据库的一种保护措施。是防止因非授权用户存取数据而造成数据泄密或破坏。(如:设置口令,确定用户的访问密而造成数据泄密或破坏。(如:设置口令,确定用户的访问密级和数据存取权限,经系统审查通过后才可执行所允许的操作。级和数据存取权限,经系统审查通过后才可执行所允许的操作。2、数据完整性控制功能、数据完整性控制功能完整性是数据的准确性和一致性的测度。在将数据添加到数完整性是数据的准确性和一致性的测度。在将数据添加到数据库时,对数据的
49、合法性和一致性的检验将会提高数据的完据库时,对数据的合法性和一致性的检验将会提高数据的完整性。这是整性。这是DBMS对数据库提供保护的另一个方面。对数据库提供保护的另一个方面。DBMSDBMS提供以下四方面的数据控制功能提供以下四方面的数据控制功能3、并发控制功能、并发控制功能数据库是提供给多个用户共享的,因此用户对数据的存取可能数据库是提供给多个用户共享的,因此用户对数据的存取可能是并发的,即多个用户可能同时使用同一个数据库,因此是并发的,即多个用户可能同时使用同一个数据库,因此DBMS应能对多用户的并发操作加以控制、协调。如:当一个应能对多用户的并发操作加以控制、协调。如:当一个用户正在修
50、改某些数据项时,如果其他用户也要同时存取这些用户正在修改某些数据项时,如果其他用户也要同时存取这些数据项,就可能导致错误。数据项,就可能导致错误。DBMS对要修改的记录采取一定的措施。如:可以加锁而暂时对要修改的记录采取一定的措施。如:可以加锁而暂时拒绝其他用户的访问,等修改完成燕存盘后再开锁。拒绝其他用户的访问,等修改完成燕存盘后再开锁。l数据字典:数据字典:数据字典(数据字典(data dictionary DD)中存放着对实际数据库各级中存放着对实际数据库各级模式所做的定义,即对数据库结构的描述。这些数据是数据库模式所做的定义,即对数据库结构的描述。这些数据是数据库中有关数据的数据,称之