数据库系统与应用-(1)课件.ppt

上传人(卖家):三亚风情 文档编号:3492265 上传时间:2022-09-07 格式:PPT 页数:140 大小:959KB
下载 相关 举报
数据库系统与应用-(1)课件.ppt_第1页
第1页 / 共140页
数据库系统与应用-(1)课件.ppt_第2页
第2页 / 共140页
数据库系统与应用-(1)课件.ppt_第3页
第3页 / 共140页
数据库系统与应用-(1)课件.ppt_第4页
第4页 / 共140页
数据库系统与应用-(1)课件.ppt_第5页
第5页 / 共140页
点击查看更多>>
资源描述

1、第1章数 据 库 基 础第第1章数据库基础章数据库基础1.1 数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统 1.2 数据库的结构数据库的结构 1.3 数据模型数据模型 1.4 数据库语言数据库语言 1.5 数据字典数据字典 1.6 常用常用DBMS 1.7 数据库技术的发展数据库技术的发展 习题习题第1章数 据 库 基 础1.1 数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统1.1.1信息与数据信息与数据为了了解世界、研究世界和交流情况,人们需要描述各种事物。信息是现实世界各种事物的特征、形态以及不同事物间的联系等在人脑里的抽象反映。对事物描述的符

2、号记录就是数据。数据是信息存在的一种形式。信息的传输需要通信,信息的保存需要数据库。第1章数 据 库 基 础数据是人类社会的重要资源,数据处理是指对数据进行收集、整理、存储、加工和传播等一系列工作的总称。数据处理经历了手工处理、机械处理到现在的电子处理三个阶段。数据管理是数据处理的中心问题,它从人工管理阶段到文件系统阶段,再到现在的数据库系统阶段,使得对所有的数据能实行统一、集中的管理,数据的存储独立于使用它的程序,从而最大限度地实现了数据共享。第1章数 据 库 基 础1.1.2数据库数据库数据库、数据库管理系统和数据库系统经常被作为同义词使用。严格地讲,数据库、数据库管理系统和数据库系统是三

3、个不同的概念。数据库是相互关联的持久数据的集合。它是基于某种数据模型存储起来、为某个特定组织的多种应用服务、具有尽可能小的数据冗余度、相互关联的持久数据的集合。数据库的概念包含以下三个含义:第1章数 据 库 基 础(1)数据库是具有逻辑关系和确定意义的数据集合。逻辑上无关的数据集合不能称为数据库。(2)数据库是针对明确的应用目标而设计、建立和加载的。每个数据库都有一组用户,并为这些用户的应用服务。(3)一个数据库表示了现实世界的某些方面。一个数据库所表示的现实世界的改变必须及时地反映到该数据库中来。第1章数 据 库 基 础1.1.3数据库管理系统数据库管理系统 人们通常所说的“数据库”,实质上

4、是指“数据库管理系统”。数据库管理系统是一个通用的管理数据库的软件系统,是由一组计算机程序构成的。数据库管理系统负责数据库的定义、建立、操纵、管理和维护,能够对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等。数据库管理系统提供了一个软件环境,使用户能方便快速地建立、维护、检索、存取和处理数据库中的信息。第1章数 据 库 基 础数据库管理系统(DataBase Management System,DBMS)实现数据库系统的各项功能,应用程序必须通过DBMS访问数据库。DBMS可以看成是操作系统的一个特殊用户,它向操作系统申请所需的软、硬件资源,并接受操作系统的控制和调度。操作系统则

5、是DBMS与硬件之间的接口,是DBMS的基础。第1章数 据 库 基 础1.数据库管理系统的功能数据库管理系统的功能现代DBMS一般具有以下功能:(1)提供高级的用户接口。现代DBMS都提供了非过程的数据库语言,用户只需提出要什么数据,而至于如何获取这些数据则由DBMS负责。通过这些接口,用户看到的数据是其逻辑形式,操作数据库的语言是非过程数据库语言。目前,图形接口也越来越普遍。第1章数 据 库 基 础(2)数据库定义。DBMS提供支持多种数据定义语言(DDL)的DDL处理器或编译器,它接受数据定义(数据库的三级视图)的源形式,并将其转换成相应的目标形式。(3)数据库的操纵。DBMS提供处理数据

6、操纵语言(DML)的DML处理器或编译器,以检索、更新或删除数据库中现有的数据。第1章数 据 库 基 础(4)查询处理和优化。这里的查询处理泛指用户对数据库所提的访问请求,包括数据检索、数据修改和定义新的数据等。查询处理必须经过优化,才能有效地完成相应的请求。查询处理和优化是DBMS的基本任务,直接影响到DBMS的性能。第1章数 据 库 基 础(5)数据字典管理。数据字典也称数据目录。在数据库中保存的是持久和共享的数据,因此,数据的定义应该独立于应用程序,并长期保存在数据库中,就构成了数据字典。数据字典保存的是关于数据库中数据的描述信息,以及一切访问、管理数据所必须的信息。可以将其看成是一个存

7、储有关数据库系统信息的特殊数据库。因此,数据字典管理是DBMS的基本功能。总之,数据字典是影响系统全局、以读为主的数据,对系统的影响很大,值得精心设计。第1章数 据 库 基 础(6)并发控制。多用户并发地访问数据库时,不可避免地会发生冲突,如对同一数据,一个用户要读,另一个用户要写,并发执行时就可能产生不可靠的结果。DBMS提供的并发控制机制有效地解决了这种冲突。(7)恢复功能。在数据库出现故障,遭到破坏时,DBMS提供的恢复功能能使数据回到故障前的状态,最大限度地保护数据。(8)完整性约束检查。DBMS提供完整性检查机制,对数据的语法和语义进行检查以确保数据库中数据的正确。第1章数 据 库

8、基 础(9)安全性访问控制。DBMS监控用户的请求,控制访问权限,防止对数据库中数据的非法访问,保证数据的安全性。(10)数据库的维护。DBMS必须提供有效机制,记录数据库运行时的各种状态,对数据库的性能进行监督和分析,在性能变坏时,及时进行调整,如重定义、重组织数据库等,以保证数据库的正常运行。(11)数据通信功能。DBMS提供与操作系统的联机处理、与分时系统和远程作业输入的相应接口以及与网络软件的通信功能等。第1章数 据 库 基 础2.数据库管理系统的组成数据库管理系统的组成数据库管理系统是一个负责对数据库的全部访问和维护的软件系统。按其功能主要可分为:运行控制程序、语言处理程序和服务性程

9、序三大类。(1)运行控制程序,负责数据库系统运行时的管理、调度和控制。它由系统总控程序、存取控制程序、并发控制程序、数据存取程序和完整性检查程序等模块组成。(2)语言处理程序,向用户提供数据库的定义、操纵等功能,由以下几部分组成:数据描述语言DDL处理器:包括模式、子模式和内模式的描述语言;第1章数 据 库 基 础 数据操纵语言DML处理器:提供各种操纵语言;终端查询语言处理器;主语言的预编译器。(3)服务性程序,又称实用程序或例行程序。它提供数据库中数据的装入和维护等服务性功能,主要由数据库装入程序、工作日志程序、重组织程序、修复和重启动程序、性能统计分析程序和转储程序等组成。第1章数 据

10、库 基 础1.1.4数据库系统数据库系统数据库系统是指一个实际可运行的,按照数据库方式存储、维护和向应用系统提供信息或数据支持的计算机系统。该系统的目标是存储信息并支持用户检索和更新所需的信息。数据库系统包括四个主要部分:数据、硬件、软件和用户系统维护人员。由此可看出,一个数据库系统是指包括数据库在内的整个计算机系统。第1章数 据 库 基 础1.数据库系统的组成数据库系统的组成1)数据数据库是数据的集合,数据以一定的组织形式存于存储介质中,一般是磁盘。数据库中的数据既是集成的,又是共享的。集成和共享使得不同的用户能以不同的方式来观察一个数据库中的数据。2)硬件硬件即计算机裸机,包括整个系统运行

11、所必需的硬设备。数据库系统需要大容量的存储设备,常使用大容量磁盘、冗余磁盘陈列、磁带机等。第1章数 据 库 基 础3)软件软件包括负责数据库管理和控制的数据库管理系统(DBMS)、支持DBMS运行的操作系统以及其他各种应用程序,如实用程序、应用开发工具、辅助设计、报表书写器、事务管理器和事务处理监控器等。对数据库系统来说,DBMS是最重要的软件部分,它为用户提供了一种在硬件层上观察数据库的高级方式,并且支持用户以这种高级方式表达操作请求。第1章数 据 库 基 础4)用户数据库系统主要有以下四类用户。(1)应用程序员。应用程序员负责设计应用系统的程序模块,编写数据库应用程序,对数据库进行操作。他

12、们使用某些程序设计语言,如COBOL、C+或第四代语言编写程序。这些程序通过向DBMS发出SQL语句请求来访问数据库,它们既可以是批处理应用程序,也可以是联机应用程序,目前大多数应用程序都是联机方式的。第1章数 据 库 基 础(2)终端用户。通过联机工作站或终端与系统进行交互式访问。终端用户既可以用联机应用程序访问数据库,也可以使用系统软件提供的交互式接口来访问数据库。大多数数据库系统都包括一种固有的应用程序查询语言处理器。通过它,用户可以交互地向DBMS发出数据库请求,实现对数据库的访问。第1章数 据 库 基 础(3)数据库管理员(DBA)。DBA是控制数据整体结构的一组人员,负责数据库系统

13、的正常运行,具有建立、监控、维护数据库的责任。因此,DBA要熟悉企业的全部数据及其用途,充分了解所有用户的需求,并且要对数据库系统很熟悉,要求具有系统分析员和运筹学专家的知识,所以,DBA通常是信息技术方面的专业人员,负责全局控制。第1章数 据 库 基 础(4)系统维护人员。系统维护人员包括系统分析员和系统程序员。他们使用专用的数据库查询语言对数据库中的数据进行操作,主要负责应用系统的需求分析、规范说明和系统设计。2.数据库系统的特点数据库系统的特点现在,从微型机到大型机都装有数据库,不论是单用户系统,还是多用户系统,数据库系统都已成为计算机应用系统的核心部分,究其原因,是因为数据库系统具有以

14、下一些特点。第1章数 据 库 基 础(1)数据集成化。所谓数据集成化,是指按照一定的数据模型来组织和存储数据,又称为数据的结构化。结构化的数据能反映数据之间的自然联系,这是传统文件中的数据所不具备的。数据库中的数据不是面向个别应用,而是从某个组织的全部应用来考虑的,因而它是面向全系统的,不同的应用所需的数据只是整体数据的一个子集。数据集成化保证了对数据的集中控制,并尽可能地减少数据的冗余。第1章数 据 库 基 础(2)数据独立性。数据库是在传统的文件系统的基础上发展起来的,数据独立性是数据库系统的客观要求。数据独立性是指应用程序不会因为物理表示和访问技术的改变而改变。与文件系统的一个重要区别是

15、:数据库中的数据与应用程序之间不存在数据依赖,也就是说,数据的逻辑结构、存储结构和存取方法等不会因为应用程序的修改而修改,反之亦然。数据的独立性包含两级:物理独立性和逻辑独立性。第1章数 据 库 基 础 物理独立性,即当数据的物理结构,如存储结构、存储位置和存取方法等发生改变时,数据库的逻辑结构并不受到影响,因而也不会引起应用程序的改变。逻辑独立性,即当数据库总体结构,如数据的定义、数据类型、数据间的联系等发生改变时,无需修改原来的应用程序。目前,数据的逻辑独立性并没有完全实现,但这并不表明数据库系统不支持数据的独立性。一个具有数据独立性的系统,称为面向数据的系统,数据库系统就是一个面向数据的

16、系统。第1章数 据 库 基 础(3)数据共享。数据共享是促成数据库技术发展的一个重要原因,也是体现数据库技术先进性的一个重要方面。数据共享指的是数据库中的每项数据都可以被不同的用户共享。也就是说,每一个用户都可以因不同的目的而访问相同的数据,不同的用户甚至可以同时访问同一数据(也称并发访问)。数据共享不仅指现有的应用程序可以共享数据库中的数据,而且新的应用程序也可以操作这些数据,这就是说,不向数据库中增加任何新数据也可能满足新的应用程序对数据的要求。共享数据的用户还可以是批处理用户和终端用户。第1章数 据 库 基 础(4)减少数据冗余。在非数据库系统中,每个应用程序都有自己专用的数据文件,这样

17、就使得数据在存储时有相当大的重复,称为数据冗余。大量的数据冗余不仅浪费了存储空间,而且当冗余的数据发生改变时,很难保持数据的一致性。数据库从整体上来组织和存储数据,数据是集成化和结构化的,因此大大减少了数据冗余。第1章数 据 库 基 础(5)避免数据的不一致。当数据出现冗余时,本应相同的数据在不同的应用中出现了不同的值,这种情况称为数据的不一致性。处于不一致状态的数据库可能提供给用户错误或矛盾的信息。由于数据库系统在理论上消除了数据冗余,因而可以避免数据的不一致。即使存在某些冗余,也受到了控制,DBMS提供了对数据的各种控制和检查,确保冗余的记录中任何一条发生改变时会自动地应用到另一条,保证对

18、用户来说数据库总是一致的。第1章数 据 库 基 础(6)提供事务支持。事务是一个逻辑单元,包括一些数据库操作特别是一些更新操作。比如,将一定的现金从账户A转移到账户B。显然,这里要求两个更新操作:一个是从账户A中提出现金;另一个是把现金存入账户B。这两个操作是同一事务的一部分,系统必须确保两个操作要么都做,要么都不做,即使在执行过程中出现故障也必须如此。第1章数 据 库 基 础(7)保持数据的完整性。数据的完整性就是确保数据库中的数据是正确的。同样事实的两条记录,若不一致就是失去了完整性。只要数据冗余存在,就可能引起数据的不完整性。即使没有冗余,数据库中也可能包含错误的信息。比如,一个人的年龄

19、为负数,一个人一个月工作40天等。数据库的集中控制可以有效地避免这类问题的发生。它通过数据库管理员(DBA)定义的一些完整性约束,由数据库系统在每一次更新操作执行时都能按照完整性约束进行检验,以保证数据的完整性。由于数据库中的数据是共享的,因此,如果没有正确的控制,一个用户的错误可能会引起一连串的反应,并殃及其他用户。所以,数据的完整性在数据库中显得尤其重要。第1章数 据 库 基 础(8)增强安全性保护。数据的安全性主要指数据保密和防止数据的非法使用。数据共享并不意味着向一切用户开放所有的数据。数据库系统的集中性要求建立好的安全系统。DBA定义安全性约束或规则,规定各用户的访问权限,当用户要访

20、问敏感数据时,数据库系统检查安全性约束或规则,以确保数据的安全。第1章数 据 库 基 础(9)平衡相互矛盾的请求。不同用户的应用不尽相同,DBA与任何其他用户都不同,他了解一个组织或企业的全局需求,在他的指示下建立的数据库能够提供最佳的全局服务,使得最重要的应用所需的数据能以最快的速度存取,而对其他应用的性能影响相对较小。第1章数 据 库 基 础(10)故障的发现和正常状态的恢复。由于软、硬件的故障及操作上的失误,数据库系统在运行过程中很难保证不受到局部性或全局性的破坏,而且有些破坏是无法人工复原的。数据库系统具有一套完整的措施能及时发现故障,并迅速将数据库恢复到故障前的正确状态,以保证系统的

21、正常运行。第1章数 据 库 基 础(11)加强标准化。随着信息处理技术的不断发展,信息的标准化显得越来越重要,各个团体、行业、部门、国家和国际组织正在不断地完善和制定标准。标准化不但能简化信息管理的过程,而且使信息更具有通用性。DBA对数据库的集中控制,能够保证在数据表示时遵循上述相关标准。标准化的数据表示便于数据交换或在不同系统中的移动;同时,数据命名和文档标准化也有利于数据共享、增强数据的可理解性。数据的标准化程度越高,系统的应用范围就越广泛,在某种程度上,数据库技术和标准化技术是互相促进发展的。第1章数 据 库 基 础1.2 数据库的结构数据库的结构1978年,美国ANSI/X3/SPA

22、RC(美国国家标准协会的计算机与信息处理委员会下属的标准规划与需求委员会)的DBMS研究组发表了SPARC报告。SPARC报告提出了一个标准化的数据库系统模型,对数据库的总体结构、特征、各个组成部分以及相应接口都作了明确的规定。SPARC报告把数据库的结构从逻辑上分成三级结构,定义了数据库的三个层次,反映了看待数据库的三种不同角度,如图1-1所示。第1章数 据 库 基 础图1-1 数据库的三级结构第1章数 据 库 基 础1.2.1 模式、内模式与外模式模式、内模式与外模式数据库中用数据模型对现实世界的某一部分所进行的模拟称之为数据模式。数据库系统的数据模式结构从逻辑上可分为三级结构,即外模式、

23、模式和内模式。1.内模式内模式内模式,又称存储模式。它描述数据库的内部视图,即描述数据的物理结构和存储方式。内模式用另一种数据描述语言内部DDL来描述和定义。它规定数据项、记录、数据集、索引和存取路径在内的一切物理组织方式,以及优化性能、响应时间和存储空间需求。它还规定记录的位置、块的大小与溢出区等。第1章数 据 库 基 础内模式对一般用户是透明的,但它的设计直接影响数据库的性能。所以,不单单是数据库的设计和维护者应对存储模式有充分的了解,数据库的用户也应该对存储模式有所了解,这样才能更好地使用数据库。模式、子模式和内模式都存储于数据字典中,是数据字典的最基本的内容。数据库管理系统DBMS通过

24、数据字典管理和访问这三级数据模式。第1章数 据 库 基 础2.模式模式模式,又称逻辑模式或概念模式。它描述整个数据库中数据的逻辑结构和特征,是所有用户的公共数据视图。模式的设计是数据库设计的最基本任务。数据库系统提供模式描述语言模式DDL来描述和定义模式。用该DDL语言书写的数据库模式称为源模式。源模式在系统中不能直接运行,需先经过相应的编译程序编译成机器代码称为目标模式。在模式设计的初期,可用数据结构图(也称为模式图)或E-R图来表示模式。第1章数 据 库 基 础模式既不同于存储模式,也不涉及物理存储细节。它比存储模式更抽象,但又与子模式不同,与具体的应用程序及相关的高级程序设计语言无关,描

25、述的是数据库的结构,而不是数据库本身,它只是装配数据的一个框架。第1章数 据 库 基 础3.外模式外模式外模式,又称子模式或用户模式。它是用户通过应用程序所能看到的数据库即外部视图,是数据库与用户之间的接口。由于每个用户所需要的数据不完全一样,而且用户也希望自己的数据具有一定的保密性,因此每个用户的子模式不一定相同,但不同的用户可以使用同一个子模式。从逻辑关系上看,子模式是模式的一个子集或是从模式推导而来,因此模式的设计是子模式设计的基础。数据库系统提供子模式描述语言子模式DDL来描述用户视图。子模式DDL和用户选用的程序设计语言具有相容的语法。第1章数 据 库 基 础显然,一个数据库可以有多

26、个不同的子模式,允许它们有一定的重叠;一个子模式既可以只为一个应用程序使用,也可以为多个应用程序共享。设立子模式有如下优点:(1)保证数据的独立性。应用程序与存储数据库之间经子模式、模式隔开,使得当数据的存储模式发生改变时无需修改或重新编写应用程序,这保证了数据的物理独立性。同时由于子模式对数据的描述可以不同于模式,因此,当模式发生改变时,也不必重写或修改原来的应用程序。第1章数 据 库 基 础例如,在模式中增加新的记录型但不破坏原有记录型之间的联系,或在原有记录型之间增加新的联系而不必修改子模式,因而也就不必修改原来的应用程序,这在一定程度上实现了数据的逻辑独立性。(2)有利于数据共享。子模

27、式是从同一模式下派生的,因此大量减少了数据冗余,提高了数据共享,有利于扩充应用服务。第1章数 据 库 基 础(3)简化用户接口,便于用户使用。用户只需根据相应的子模式编写应用程序或在终端上输入操作命令而不需要知道数据库的物理存储结构。(4)有利于数据的安全和保密。由于用户只能操纵其子模式范围内的数据,因而阻断了与数据库中其他数据之间的联系,使数据的安全性和保密性得以保证。第1章数 据 库 基 础1.2.2数据独立性数据独立性数据库的三种模式间包括两种映射:外模式与模式之间的映射和模式与内模式之间的映射。外模式与模式之间的映射实现外模式与模式的相互转换;模式与内模式之间的映射实现模式与内模式的相

28、互转换。数据库系统的这两种映射实现了数据库系统的两种数据独立性。第1章数 据 库 基 础数据库系统的第一种数据独立性称为物理数据独立性。物理数据独立性由内模式与模式之间的映射实现。物理数据独立性是指当数据库的内模式(即物理存储结构)发生改变时,数据的逻辑结构不变。当数据库的内模式发生改变时,物理数据独立性保证用户编写的应用程序可以不变。但是,为了保证应用程序能够正确执行,我们需要修改内模式与模式之间的映射。第1章数 据 库 基 础数据库系统的第二种数据独立性称为逻辑数据独立性。逻辑数据独立性由模式与外模式之间的映射实现。逻辑数据独立性是指当数据库的概念模式发生改变时,数据库的外模式不变。当数据

29、库的模式发生改变时,逻辑数据独立性保证建立在外模式上的应用程序不需要修改。当然,为了保证应用程序能够正确执行,我们需要修改模式与外模式之间的映射。第1章数 据 库 基 础两种数据独立性的本质是把数据定义从应用程序中分离出来。应用程序中的数据存取(即两种映射工作)由数据库管理系统完成,从而减少了编制应用程序的工作量,也减少了对应用程序的维护和修改。值得注意的是,实际中的数据库系统其逻辑数据独立性不能完全保证直接建立在数据库模式上的应用程序与数据的独立。当数据库的模式改变时,这些应用程序可能仍然需要修改。从这种意义上说,数据库系统提供的逻辑数据独立性是不完备的。第1章数 据 库 基 础1.3 数数

30、 据据 模模 型型数据抽象是数据库系统的主要特点之一,它具有很大的优越性。数据模型是实现数据抽象的主要工具,也是数据库系统的重要基础。数据模型决定数据库系统的结构、数据定义语言和数据操作语言、数据库设计方法、数据库管理系统软件的设计与实现。第1章数 据 库 基 础数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的联系、数据的语义和完整性约束。很多数据模型还包括一个操作集合,这些操作用来说明对数据库的存取和更新。数据模型应满足三方面的要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前已经存在很多数据模型,这些数据模型可以分为四类:基于对象的数据模型、

31、基于记录的数据模型、物理数据模型和逻辑数据模型。第1章数 据 库 基 础1.3.1基于对象的数据模型基于对象的数据模型基于对象的数据模型用于在概念和视图抽象级别上描述数据。这类数据模型具有相当灵活的结构化能力,而且允许明确地定义完整性约束。目前已经出现了很多基于对象的数据模型,其中比较知名的有实体-联系模型、面向对象的数据模型、二元数据模型、语义数据模型、函数数据模型等。第1章数 据 库 基 础1.实体实体-联系模型联系模型实体-联系模型包括实体、属性、实体间联系等概念。实体对应于现实世界中可区别的客观对象或抽象概念。例如,学校、人、树、动物、植物、国家、武术都是实体。属性是实体特征的抽象。例

32、如,人的属性可以包括“姓名”、“生日”、“职务”、“特长”等。实体有“型”和“集”之分,实体型是属性的集合,同一类型实体的集合就是实体集。当一个实体型的所有属性的值都确定以后,就得到这个实体型的一个实例。第1章数 据 库 基 础在一个实体型的属性中有一组特殊的属性,这组属性的值可以区别出该实体型的不同实例。例如,在人的属性中,“姓名”和“生日”的值可以区别不同的人。这组特殊属性称为实体型的键属性。实体间联系对应于客观世界中各种对象或抽象概念之间的联系。例如,工厂、产品、用户这三个实体之间,存在“某个工厂为某个用户生产某种产品”的联系。实体间的联系可以分成三种:1 1联系、1 M联系和M N联系

33、。第1章数 据 库 基 础1)1 1联系若对于实体集A中的每一个实体,实体集B至多有一个实体与之对应,反之亦然,则称实体集A与实体集B的联系是1 1联系。如每个人都有一个身份证,每个身份证都属于一个人。2)1 M联系对实体集A中每一个实体,实体集B中有几个实体与之对应,反之,对于实体集B中每一个实体,实体集A至多只有一个实体与之对应,称实体集A与实体集B的联系是1 M。如地球上有多个国家,所有国家都在同一个地球上。第1章数 据 库 基 础3)M N联系对实体集A中的每一个实体,实体集B中有N个实体(N1)与之对应,反之,对于实体集B中每一个实体,实体集A亦有M个实体(M1)与之对应,则称实体集

34、A与实体集B为多对多联系,即M N联系。如一种武术有很多武术家练,一个武术家也可以练很多种武术。第1章数 据 库 基 础不仅实体可以具有属性,联系也可以有属性,如“学生”和“课程”之间的联系“选课”可以具有属性“成绩”、“考试时间”等。实体-联系模型常使用E-R图来描述现实世界。E-R图有三个基本要素:矩形框、椭圆框和菱形框。(1)矩形框表示实体型,在框内注明实体名。第1章数 据 库 基 础(2)椭圆框表示实体(或联系)的属性,用无向边将对应实体(或联系)与椭圆连接,属性名写在椭圆框内。(3)菱形框表示实体间的联系,联系名写在菱形框内,用无向边连接相互联系的实体。在菱形框的两边标注联系的种类。

35、下面给出三种基本的E-R图,如图1-2所示。第1章数 据 库 基 础图1-2 基本的E-R图第1章数 据 库 基 础实体联系模型除了具有实体、属性、键属性、实体间联系的概念以外,还具有表示完整性约束的能力。一个重要的完整性约束是实体间联系的基数。设实体间联系RS把实体型E1和E2联系在一起。如果RS的基数为1 M,则E1的每个实例可以与E2的多个实体实例相关联,而E2的每个实体实例只能与E1的一个实体实例相关联。第1章数 据 库 基 础2.面向对象的数据模型面向对象的数据模型与实体联系模型类似,面向对象的数据模型建立在对象集合的基础上,其基本数据结构是对象,主要概念是对象类。对象类由一组变量和

36、一组程序代码构成。变量表示对象类的特征。一个对象类的程序代码定义了该对象变量上的操作,称为这个对象类的方法。一个对象的变量可以是另一个对象,对象的嵌套层次数没有任何限制。当一个对象类的每个变量都赋以确定的值以后,就得到了这个对象类的一个对象。把数据和方法组合为一个对象的思想类似于程序设计语言中抽象数据类型的概念。第1章数 据 库 基 础在面向对象的数据模型中,一个对象存取另一个对象的数据的唯一途径是调用被存取对象的某个方法。对象方法的调用通过在对象之间传送消息来实现。对象方法的调用接口是对外可见的,对象内部的变量和程序编码是封闭的不可见的。面向对象的数据模型实现了数据的独立性。下面用一个例子来

37、说明这种独立性。我们可以把银行的账户作为一个对象,记作account。对象account具有两个变量:一个是账号变量number,另一个是存款余额变量balance。第1章数 据 库 基 础account具有一个方法pay_interest,负责计算每个账户的利息并增加到该账户的balance变量中。该银行以往付给每个账户的利息都是8%。现在,银行调整利息如下:只有balance高于1000元的账户才能获得8%的利息,其他账户只能获得6%的利息。使用其他数据模型实现这种利息调整,必须修改有关的应用程序。使用面向对象的数据模型,只需修改方法pay_interest就可以实现这种利息调整,不需要任

38、何其他改变,更不需要修改应用程序。第1章数 据 库 基 础在面向对象的数据模型中,每个对象必须具有一个独立于该对象所包含的值的唯一标识符。这样,具有相同值的对象就可以标识为不同的对象。面向对象的数据模型既能用来定义数据库的整体逻辑结构,也可以用来提供数据库系统实现的高级描述。第1章数 据 库 基 础1.3.2基于记录的数据模型基于记录的数据模型基于记录的数据模型可以用来定义数据库的模式和外模式。基于记录的数据模型把数据库定义为多种具有固定格式的记录型。每个记录型由固定数量的域或属性构成。每个域或属性具有固定的长度。使用定长记录定义数据库可以简化数据库物理级的实现。这类数据模型具有独立的语言,用

39、户可以使用这种语言表示数据库查询和更新要求。具有代表性的基于记录的数据模型包括关系数据模型、网状数据模型、层次数据模型。目前,关系数据模型比网状和层次数据模型更受欢迎。第1章数 据 库 基 础1.关系数据模型关系数据模型人们常常习惯于用表格的形式来表示所关心的现实世界中的信息。如表1-1就是一个大学的基本情况简表。在这个表中各个学院的基本情况一目了然。这样的一张表就是一个关系。关系数据模型的核心是数学概念关系。一个关系可以视为一个表。每个表具有固定个数的列。每一列具有一个名字,称为关系的属性。每一行数据称为一个元组。关系数据模型使用关系表示数据和数据之间的联系。关系数据模型具有坚实的理论基础,

40、是目前多数商品化数据库系统所采用的数据模型。在第2章还要对关系模型作进一步说明。第1章数 据 库 基 础表表1-1 大学基本情况表大学基本情况表编 号学院名称院 长教师人数学生人数1信息学院张忠16422002机械学院李良14821003材料学院王栋8818004电气学院赵梁1261900第1章数 据 库 基 础2.层次数据模型层次数据模型层次模型用树结构表示记录型及记录型间的联系。树的节点是记录型。树上仅有一个节点无父节点,称为根节点。其他非根节点均有且只有一个父节点。上一层记录型和下一层记录型是1 N的联系。整个模型就像一棵倒立的树。按照模型的架构,填入具体数据就组成数据库。数据库中的记录

41、值之间的联系在模型的约束下,依然保持树状的样子。换言之,层次模型中,不管记录型还是记录值,其组织形式都是树,都呈1 N联系。图1-3给出了一个层次模型及其实例。第1章数 据 库 基 础图1-3 层次模型及其实例第1章数 据 库 基 础层次模型的特点是记录之间的联系通过指针实现,检索效率较高,但查找记录时要指定存取路径。在图1-3中,若要查找学生张仁的记录,必须明确指出从根节点开始沿途所经过的路程,这就是存取路径。由于树状结构层次顺序严格且复杂,使得编写操作数据的应用程序也很复杂。第1章数 据 库 基 础层次模型层次分明,适合于表示现实世界中上下有辈分层级的事物以及事物间有着1 N联系的状况,它

42、不能直接表示M N联系。层次模型为了能够处理M N联系,往往提供多种辅助手段,但都很复杂,用户不但不易掌握,编程序也相当麻烦。第1章数 据 库 基 础3.网状数据模型网状数据模型网状模型中最有代表性的文件是美国CODASYL(Conference of Data System Language)组织下属机构数据库任务组(DBTG)于1971年提出的DBTG报告。该报告首次提出了网状数据模型中的一些最基本的概念。目前运行的大部分数据库管理系统都在不同程度上实现了DBTG报告或其后的修改文本。第1章数 据 库 基 础网状模型用有向图结构表示记录型及记录型间的联系,如图1-4所示。有向图中的节点是记

43、录型,有向边表示从箭尾一端的记录型到箭头一端的记录型是1 N联系。如果记录型之间是M N联系,则要把它分拆成两个1 N联系再作图。整体上看,网状模型的结构是节点的连通图。与树状模型比较,有向图中可以有一个以上的节点无父节点,每个节点可有多于一个父节点。第1章数 据 库 基 础图1-4 网状模型第1章数 据 库 基 础网状模型的特点是记录之间的联系通过指针实现,检索效率较高。但编写应用程序很复杂,程序员必须非常熟悉数据库的逻辑结构。在网状数据库中存取数据,主要使用导航的存取方法。所谓导航,就是根据记录间的联系来存取记录。第1章数 据 库 基 础与层次模型相比,网状模型具有较强的数据处理能力;与关

44、系模型相比,网状模型缺乏形式化基础和操作代数。由于在网状系统中,实体间的联系是用复杂的指针链来实现的,因此其数据语言的非过程化程度低,但存取效率高。在某些应用领域,如CAD/CAM图形数据库系统中,由于网状模型提供了描述三维图形信息的更为自然的结构形式,是支持实现图形边界表示法的有力工具,因此得到了广泛的采用,并仍有较强大的生命力。第1章数 据 库 基 础1.3.3物理数据模型物理数据模型物理数据模型用来实现物理抽象,与逻辑数据模型相比,它很少被使用。两个比较知名的物理数据模型是一体化模型(Unifying Model)和框架存储器模型(Frame Memory Model)。数据模型和数据模

45、式不应混淆,正如不应把程序设计语言和用程序设计语言所编写的一段程序混为一谈一样。数据模型是描述数据的手段,而数据模式是用给定数据模型对具体数据的描述。第1章数 据 库 基 础数据模式是相对稳定的,而实例是相对变动的。数据模式反映一个单位的各种事物的结构、属性、联系和约束,实质上是用数据模型对一个单位的模拟。而实例反映数据库的某一时刻的状态,即这一单位的当前状态。第1章数 据 库 基 础1.4数数据据库库语语言言用户既然通过计算机对数据库进行各种各样的操作,例如查询、增加、删除、更新数据,定义、修改数据模式等,那么DBMS必须为用户提供相应的手段,即命令和语言。这些命令和语言构成了用户与数据库的

46、接口。这种接口的好坏直接关系到用户对数据库的使用。第1章数 据 库 基 础因此,当今的DBMS都在改善用户接口,力争使接口对用户来说更加方便和友好。数据库的用户有多种类型,包括专业的和非专业的,因此,DBMS通常也提供多种用户接口,以满足不同用户的需求。但DBMS提供的只是对数据库进行操作的语言,称之为数据库语言,而非完备的计算机程序设计语言。数据库语言通常分为数据描述语言和数据操纵语言。第1章数 据 库 基 础1.4.1 数据描述语言数据描述语言数据描述语言(Data Description Language,DDL)定义数据库的各级数据结构及它们之间的映像,定义各种完整性约束和安全保密限制

47、条件。DDL又可进一步分为模式描述语言(Schema DDL)、子模式描述语言(Subschema DDL)和数据存储描述语言(Data Storage Description Language,DSDL),可分别用来描述数据库的模式、子模式和存储模式。第1章数 据 库 基 础(1)模式描述语言(模式DDL)。模式DDL定义和描述一个数据库的整体逻辑结构,它具有如下功能:命名模式:定义模式名,也就是数据库名;定义数据项:定义数据项名、类型、长度等;定义记录型:定义记录名、记录组成、数据项的排列顺序、关键字等;定义记录之间的联系:说明相联系的记录及联系的类型;描述安全控制方式:制定用户使用权限、

48、密码、数据的安全级别等;描述完整性约束:规定各数据项的定义域,各数据项的值之间应满足的相互制约条件。第1章数 据 库 基 础(2)子模式描述语言(子模式DDL)。子模式DDL描述用户所用数据的逻辑结构。由于子模式是模式的子集,因此子模式是建立在模式的基础上的,子模式DDL与模式DDL的区别在于模式DDL描述的是整个数据库的整体逻辑结构,而子模式DDL描述的是数据库的局部逻辑结构。子模式DDL的功能与模式DDL基本相同,只是在子模式DDL中必须对模式/子模式的映像进行描述。此外,子模式DDL在对应数据项的表示形式、记录的组成以及安全性和完整性约束条件等方面也可以与模式DDL有所不同。第1章数 据

49、 库 基 础(3)数据存储描述语言(DSDL)。DSDL是一种将数据库模式映像到物理存储模式的语言,DSDL根据数据库的物理设计的要求和数据库的模式定义来定义和描述数据库的存储结构,说明数据在存储介质上的组织形式,同时,DSDL也描述了模式到存储模式的映像。DSDL描述的是数据库三级结构中最低的一级,通过DSDL能保持数据的独立性,减少了由于存储结构的改变而导致的程序维护任务的增加。其主要功能有:描述数据的存储表示方式,如定点数、浮点数、字符串等不同类型的数据如何存储和表示;第1章数 据 库 基 础 描述模式中所定义的数据单位在物理存储介质上的存储,说明模式中数据的物理布局;描述所用的寻址方式

50、和检索技术;描述实现记录间联系的方法。模式DDL、子模式DDL和DSDL都是高级程序设计语言,用它们写成的各级模式都是源模式,必须经过相应的编译器编译成目标模式。这些目标模式对数据库从不同角度进行了描述,可以说它们构成了数据库的描述数据库。第1章数 据 库 基 础1.4.2数据操纵语言数据操纵语言数据操纵语言(Data Manipulation Language,DML)是用户程序设计语言与DBMS之间的接口,是DBMS向应用程序提供的一组宏指令或调用语句。这些语句可以看成是应用程序设计语言的扩充,即一个独立的子语言或者只是一个特殊的DBMS所提供的一组调用命令。用户通过DML对数据库中的数据

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库系统与应用-(1)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|