《新编计算机文化基础》11 数据库技术基础_第1页
《新编计算机文化基础》11 数据库技术基础_第2页
《新编计算机文化基础》11 数据库技术基础_第3页
《新编计算机文化基础》11 数据库技术基础_第4页
《新编计算机文化基础》11 数据库技术基础_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章数据库技术基础1243311.1基本概念11.2数据模型11.3关系数据库

11.4数据库设计

11.1基本概念11.1.1数据库数据是描述事物的符号记录,它具有多种表现形式,可以是文字、图形、图像、声音、语言等。经过组织的比特的集合是数据,而具有特定释义和意义的数据则是信息。信息是现实世界事物的存在方式或状态的反映。信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息已是社会各行各业不可缺少的资源,这是信息的社会属性。数据库(DataBase,DB),不是传统意义上的“仓库”,它是在计算机存储设备上的,而且数据是按一定的格式存放的。因此,所谓数据库就是指有组织的、可共享的数据集合,并且这些数据集合能够长期存储在计算机内。下一页返回11.1基本概念数据库中的数据按一定的数学模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。人们收集并抽取出一个应用所需要的大量数据后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和管理大量的复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。上一页下一页返回11.1基本概念11.1.2数据库管理系统(DBMS)1.DBMS的功能数据库管理系统主要是实现对共享数据有效的组织、管理和存取,因此它应具有如下几个方面的功能。(1)数据定义。DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用户可以对数据库的结构描述定义,包括外模式、模式和内模式的定义;数据库的完整性定义;安全保密定义,如口令、级别、存取权限等。这些定义存储在数据字典中,是DBMS运行的基本依据。(2)数据库操作。DBMS向用户提供数据操纵语言(DataManipulationLanguage,DML),实现对数据库中数据的基本操作,如检索、插入、修改和删除。上一页下一页返回11.1基本概念DML分为两类:宿主型和自含型。所谓宿主型是指将DML语句嵌入某种主语言(如C等)中使用;自含型是指可以单独使用DML语句,供用户交互使用。(3)数据库运行管理。数据库在运行期间多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复等是DBMS的重要组成部分。这些功能可以保证数据库系统的正常运行。(4)数据组织、存储和管理。DBMS分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等;要确定以何种文件结构和存取方式在存储级上组织这些数据,以提高存取效率。实现数据间的联系、数据组织和存储的基本目标是提高存储空间的利用率。上一页下一页返回11.1基本概念(5)数据库的建立和维护。数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能监测和分析等。(6)其他功能。如DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个DBMS或文件系统的数据转换功能等。2.数据库管理系统的特征通过DBMS管理数据的特点如下:(1)数据结构化且统一管理。数据库中的数据由DBMS统一管理。由于数据库系统采用复杂的数据模型表示数据结构,数据模型不仅描述数据本身的特点,还描述数据之间的联系;上一页下一页返回11.1基本概念数据不再面向某个应用,而是面向整个应用系统;数据易维护、易扩展,数据冗余明显减少,真正实现了数据的共享。(2)有较高的数据独立性。数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,应用程序关心的只是数据的逻辑结构,无须了解数据在磁盘上的数据库中的存储形式,从而简化应用程序,大大减少应用程序编制的工作量。数据的独立性包括数据的物理独立性和逻辑独立性。(3)数据控制功能。DBMS提供了数据控制功能,以适应共享数据的环境。数据控制功能包括对数据库中数据的安全性、完整性、并发和恢复的控制。上一页下一页返回11.1基本概念3.RDBS、OODBS和ORDBS关系数据库系统(RelationDataBaseSystems,RDBS)是支持关系模型的数据库系统,在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体间的联系的关系的集合构成一个关系数据库有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。微机方式下的简单的DBMS系统,包括常见的FoxBASE、FoxPro、Access等。上一页下一页返回11.1基本概念面向对象的数据库系统(ObjectOrientedDataBaseSystem,OODBS)是支持以对象形式对数据建模的数据库关系系统。这包括对以下功能的支持:支持对象的类、支持类属性的继承、支持子类。面向对象的数据库管理系统比关系数据更优越的观念已经在一些产品中体现。一个面向对象数据库系统必须符合以下两个条件:它必须是一个DBMS;它必须是面向对象的,也就是说,它要与现在的面向对象语言中的定义一致,有复杂对象、对象标识、封装、对象或类、继承性、与推迟绑定结合的重载、扩展性、计算的完整性等特点。上一页下一页返回11.1基本概念对象关系数据库系统(ObjectorientedRelationDataBaseSystem,ORDBS)在传统的关系数据模型基础上,提供元组、数据、集合之类更为丰富的数据模型以及处理新的数据类型操作的能力,这样形成的数据模型称为“对象关系数据模型”,基于对象关系数据模型的DBS称为对象关系数据库系统。上一页下一页返回11.1基本概念11.1.3.数据库系统数据库系统(DataBaseSystem,DBS)广义上讲是由数据库、硬件、软件和人员组成的,其中管理的对象是数据。数据是经过组织的比特的集合,而信息是具有特定释义和意义的数据。(1)数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。(2)硬件:系统所使用的所有数据存储在一个或几个数据库中。一般尽量集成在一个数据库中,为各个用户程序所使用。上一页下一页返回11.1基本概念(3)软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(DataBaseManagementSystem,DBMS)是数据库系统的核心软件,要在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效地获取和维护数据的系统软件。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立和维护。(4)人员:主要有4类。第一类是系统分析员和数据库设计人员,系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计;数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。上一页下一页返回11.1基本概念第二类为应用程序员,负责编写使用数据库的应用程序,这些应用程序可对数据进行检索、建立、删除或修改。第三类为最终用户,他们利用系统的接口或利用查询语言访问数据库。第四类用户是数据库管理员(DataBaseAdministrator,DBA),负责数据库的总体信息控制。DBA的具体职责包括:决定数据库中的信息内容和结构;决定数据库的存储结构和存取策略;定义数据库的安全性要求和完整性约束条件;监控数据库的使用和运行;数据库的性能改进、数据库的重组和重构,以提高系统的性能。上一页下一页返回11.1基本概念11.11.4数据库管理技术的发展计算机的主要应用之一就是数据处理,将大量的信息以数据的形式存放在磁盘上。数据处理是对各种数据进行收集、存储、加工和传播的一系列活动。数据管理是数据处理的中心问题,是对数据进行分类、组织、编码、存储检索和维护。数据管理技术发展经历了人工管理、文件系统和数据库系统3个阶段。1.人工管理阶段早期的数据处理都是通过手工进行的,因为当时的计算机主要用于科学计算。计算机上没有专门管理数据的软件,也没有诸如磁盘之类的设备来存储数据,那时应用程序和数据之间的关系如图11-1所示。上一页下一页返回11.1基本概念这种数据处理具有以下几个特点:(1)数据量较少。数据和程序一一对应,即一组数据对应一个程序,数据面向应用,独立性很差。由于应用程序所处理的数据之间可能会有一定的关系,故程序和程序之间就会有大量的重复数据。(2)数据不保存。因为在该阶段计算机主要用于科学计算,一般不需要将数据长期保存,只在计算一个题目时,将数据输入计算机,算完题,得到计算机结果即可。(3)没有软件系统对数据进行管理。程序员不仅要规定数据的逻辑结构,而且在程序中还要设计物理结构,包括存储结构的存取方法、输入输出方式等。也就是说,数据对程序不具有独立性,一旦数据在存储器上改变物理地址,就需要相应地改变用户程序。上一页下一页返回11.1基本概念2.文件系统阶段20世纪50年代中期以后,计算机的硬件和软件的飞速发展,计算机不再只用于科学计算的单一任务,而可以做一些非数值数据的处理。又由于大容量的磁盘等辅助存储设备的出现,使得专门管理辅助存储设备上的数据的文件系统应运而生,它是操作系统中的一个子系统。在文件系统中,按一定的规则将数据组织成为一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。文件系统对数据的管理,实际上是通过应用程序和数据之间的接口实现的,如图11-2所示。这种数据处理具有以下几个特点:上一页下一页返回11.1基本概念(1)数据以文件的形式长期保存。由于计算机大量用于数据处理,数据需要长期留在外存上反复处置,即经常对其进行查询、修改、插入和删除等操作。因此,在文件系统中,按一定的规则将数据组织为一个文件,在外存储器中长期保存。(2)数据的物理结构与逻辑结构有了区别,但较简单。程序员只需用文件名与数据打交道,不必关心数据的物理位置,可由文件系统提供的读写方法去读/写数据。(3)文件形式多样化。为了方便数据的存储和查找,人们研究了许多文件类型,如索引文件、链接文件、顺序文件和倒排文件等。数据的存取基本上是以记录为单位的。上一页下一页返回11.1基本概念(4)程序与数据之间有一定的独立性。应用程序通过文件系统对数据文件中的数据进行存取和加工,因此,处理数据时,程序员不必过多地考虑数据的物理存储的细节,文件系统充当应用程序和数据之间的一种接口,这样可使应用程序和数据都具有一定的独立性。这样,程序员可以集中精力于算法,而不必过多地考虑物理细节。并且,数据在存储上的改变不一定反映在程序上,这可以大大节省维护程序的工作量。尽管文件系统有上述优点,但是,这些数据在数据文件中只是简单地存放,文件中的数据没有结构,文件之间并没有有机的联系,仍不能表示复杂的数据结构;数据的存放仍依赖于应用程序的使用方法,基本上是一个数据文件对应于一个或几个应用程序;上一页下一页返回11.1基本概念数据面向应用,独立性较差,仍然出现数据重复存储,冗余度大,一致性差(同一数据在不同文件中的值不一样)等问题。3.数据库系统阶段数据库系统是由计算机软件、硬件资源组成的系统,它实现了有组织地、动态地存储大量关联数据,方便多用户访问,它与文件系统的重要区别是数据的充分共享、交叉访问,以及与应用程序的高度独立性。这一阶段程序和数据的关系如图11-3所示。数据库系统阶段数据管理的特点如下:(1)采用复杂的数据模型表示数据结构。上一页下一页返回11.1基本概念数据模型不仅描述数据本身的特点,还描述数据之间的联系。数据不再面向某个应用,而是面向整个应用系统。数据冗余明显减少,实现数据共享。(2)有较高的数据独立性。数据库也是以文件方式存储数据的,但是它是数据的一种更高级的组织形式,在应用程序和数据库之间由DBMS负责数据的存取。DBMS对数据的处理方式和文件系统不同,它把所有应用程序中使用的数据以及数据间的联系汇集在一起,以便于应用程序查询和使用。上一页下一页返回11.1基本概念数据库系统与文件系统的区别是:数据库对数据的存储是按照同一结构进行的,不同的应用程序可以直接操作这些数据(即对应用程序的高度独立性)。数据库系统对数据的完整性、唯一性和安全性都提供一套有效的管理手段(即数据的充分共享性)。数据库系统还提供管理和控制数据的各种简单操作命令,使用户编写程序时容易掌握(即操作方便性)。上一页下一页返回11.1基本概念11.1.5数据库的三级模式结构数据库系统是数据密集型应用的核心,其体系结构受数据库运行所在的计算机系统,及其计算机体系结构中的联网、并行和分布的影响。站在不同的角度看数据库体系结构也不同,如站在用户的角度看,数据库体系结构分为集中式、分布式、C/S(客户机/服务器)和并行结构;站在数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构。事实上,数据库的产品很多,它们使用不同的数据库语言,建立在不同的数据库上,数据的存储结构也不相同,但是体系结构基本上都具有相同的特点,就是“三级模式和两级映像”,如图11-4所示。上一页下一页返回11.1基本概念1.概念模式概念模式也称为模式或逻辑模式,是对数据库的整体逻辑结构和特征的描述,也称为DBA视图,是所有用户的公共数据视图,是数据库管理员看到的数据库。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。概念模式反映的是数据库的结构和联系,是相对稳定的;而实例反映的是数据库某一时刻的状态,是相对变动的。概念模式是以某种数据模型为基础,综合考虑所有用户的需求,并将这些需求有机地连接成为一个逻辑整体,是现实世界中一个组织或部门实体及其联系的抽象模型在具体数据库系统中的实现。上一页下一页返回11.1基本概念需要说明的是,概念模型不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性等要求。但是,概念模式不涉及存储结构、访问技术等细节。只有这样,概念模式才能做到“物理数据独立性”。概念模式是根据DBMS提供的DDL来定义和描述的。2.外模式外模式也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户与数据库系统之间的接口。不同数据库用户的外模式可以不同。描述外模式的数据定义语言称为“外模式DDL”。有了外模式后,程序员不必关心概念模式,只与外模式发生联系,按外模式的结构存储和操纵数据。上一页下一页返回11.1基本概念3.内模式内模式也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。一个数据库只有一个内模式,它是DBMS管理的最底层,是物理存储设备上存储数据时的物理抽象。内模式是根据DBMS提供的DDL来定义和描述的。总之,数据按外模式的描述提供给用户,按内模式的描述存储在磁盘上,而按概念模式提供了连接这两级模式的相对稳定的中间观点,并使得两级的任意一级的改变都不受另一级的影响。上一页下一页返回11.1基本概念4.数据库的二级映像数据库系统的三级模式是对数据进行三个级别的抽象,使用户能抽象地处理数据,而不必关心数据在机器中的具体表示方式和存储方式。为了实现三个抽象层次的联系和转换,数据库系统在三级模式之间提供了二级映像:模式/内模式映像、外模式/模式映像。正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。(1)模式/内模式的映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。(2)外模式/模式的映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。上一页下一页返回11.1基本概念数据库的二级映像保证了数据库系统的数据能够具有较高的逻辑独立性和物理独立性。(1)数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。由于应用程序处理的只是数据的逻辑结构,这样可以保证数据的物理独立性,当数据的物理结构改变了,应用程序不用改变。(2)数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。上一页返回11.2数据模型11.2.1概念模型概念模型是对客观事物及其联系的抽象,用于信息世界的建模,强调其语义表达能力,以及能够较方便、直接地表达应用中各种语义知识。这类模型概念简单、清晰、易于被用户理解,是用户和数据库设计人员之间进行交流的语言。这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型,然后再把概念模型转换为计算机上某一DBMS支持的数据模型。概念模型的概念主要如下:下一页返回11.2数据模型11.2.1概念模型概念模型是对客观事物及其联系的抽象,用于信息世界的建模,强调其语义表达能力,以及能够较方便、直接地表达应用中各种语义知识。这类模型概念简单、清晰、易于被用户理解,是用户和数据库设计人员之间进行交流的语言。这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型,然后再把概念模型转换为计算机上某一DBMS支持的数据模型。概念模型的概念主要如下:1.实体上一页下一页返回11.2数据模型实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校每个学生都是一个实体,而所有学生具有相同的属性,因此学生的集合可以定义为一个实体集。2.属性实体所具有的某一方面的特性。一个实体可以由若干个属性来刻画。如学生由学号、姓名、年龄、性别等属性组成。上一页下一页返回11.2数据模型3.关键字实体的某一属性或属性组合,其取用的值能唯一标识出某一实体,称为关键字,也称为码。如学号是学生实体集的关键字,由于姓名有相同的可能,故不应作为关键字。4.域域是某些属性的取值范围。如姓名的域为字符串集合。5.实体型具有相同属性的实体必须具有相同的特性。由实体名及其属性名集合来抽象和刻画的同类实体,称为实体型。例如,学生(学号,姓名,性别,班号)就是一个实体型。上一页下一页返回11.2数据模型6.实体集同型实体的集合称为实体集。如全体学生就是一个实体集。7.联系实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。这里讨论实体集之间的联系。1)两个不同实体集间的联系两个不同实体集之间存在一对一、一对多和多对多的联系类型。(1)一对一:表示实体集E1中的一个实体最多只与实体集E2中的一个实体相联系。记为1∶1。上一页下一页返回11.2数据模型(2)一对多:表示实体集E1中的一个实体可与实体集E2中的多个实体相联系。记为1∶n。(3)多对多:表示实体集E1中的多个实体可与实体集E2中的多个实体相联系。记为m∶n。2)两个以上不同实体集之间的联系两个以上不同实体集之间存在1∶1∶1、1∶1∶n、1∶m∶n和狉∶m∶n的联系。3)同一实体集内的二元联系同一实体集内的各实体之间也存在1∶1、1∶n和m∶n的联系。上一页下一页返回11.2数据模型概念模型中最常用的方法为“实体—联系”方法,简称“E-R”方法。该方法直接从现实世界中抽象出实体和实体间的联系,然后用非常直观的E-R图来表示数据模型。在E-R图中有如表11-1所示的几个主要构件。如图11-5所示为某学校教学管理E-R模型。11.2.2常用的数据模型1.层次模型层次模型表示数据与数据间的联系,采用的是树型结构。在层次模型中,每一个记录类型(实体)用一个结点表示,结点之间的连线表示记录之间的联系,并且根结点以外的其他结点有且仅有一个双亲结点,如图11-6所示。上一页下一页返回11.2数据模型2.网状模型采用网络结构表示数据与数据间的联系的数据模型称为网状模型。在网状模型中,允许一个以上的结点无双亲,一个结点可以有多于一个的双亲,如图11-7所示。3.关系模型关系模型是目前最常用的数据模型之一。关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中的变量的概念。上一页下一页返回11.2数据模型给定变量的值随时间可能发生变化;类似地,当关系被更新时,关系实例的内容也随时间发生了变化。如图11-8所示就是一个关于学生、课程、成绩的关系模型。下面三个二维表就分别表达了如图11-8所示的三个模式。学生表模式如表11-2所示。课程表模式如表11-3所示。成绩表模式如表11-4所示。上一页返回11.3关系数据库11.3.1基本术语1.关系一个关系就是一张二维表,每个关系有一个关系名。2.元组表中的一行即为一个元组,对应存储文件中的一个记录值。3.属性表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或是字段值。4.域下一页返回11.3关系数据库属性的取值范围,即不同元组对同一个属性的值所限定的范围。5.关系模式对关系的描述称为关系模式,格式为:关系名(属性名1,属性名2,…,属性名n)一个关系模式对应于一个关系文件的结构。6.候选关键字属性或属性组合,其值能够唯一地标识一个元组。7.主关键字在一个关系中可能有多个候选关键字,从中选择一个作为主关键字。8.外关键字上一页下一页返回11.3关系数据库如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。9.主属性包含在任何候选关键字中的属性称为主属性,不包含在任何候选关键字中的属性称为非关键字属性。10.关系数据库模式关系的描述称为关系模式。可以形式地表示为:R(U,D,dom,F)上一页下一页返回11.3关系数据库其中,R表示关系名;U表示组成该关系的属性名集合;D表示属性的域;dom表示属性向域的映像集合;F为属性间数据的依赖关系集合。通常将关系模式简记为:R(犝)或R(A1,A2,A3,…,An)式中,R为关系名,A1,A2,A3,…,An为属性名或域名。通常在关系模式主属性上加下划线表示该属性为主码属性。下面给出了一个简单的关系模型,其中图11-9给出了关系模式。教师(教师编号,姓名,性别,所在系名)课程(课程号,课程名,教师编号,上课教室)上一页下一页返回11.3关系数据库图11-10给出了这两个关系模式的关系,关系名称分别为教师关系和课程关系,均包含两个元组,教师关系的教师编号为主关键字,课程关系的课程号为主关键字。11.完整性约束完整性规则是一种用来保证当授权用户对数据库做修改时不会破坏数据的一致性的手段。关系模型的完整性是对关系的某种约束条件。在关系模型中有三类完整性约束:实体完整性、参照完整性和用户自定义完整性。上一页下一页返回11.3关系数据库(1)实体完整性:规定了基本关系R的主属性A不能为空值。(2)参照完整性:现实世界中的实体间往往存在某种联系,在关系模型中实体及实体间的联系是用关系描述的,这样自然就存在着关系与联系间的引用。(3)用户自定义完整性:针对某一具体关系数据库的约束条件,反映某一具体应用涉及的数据必须满足的语义要求。上一页下一页返回11.3关系数据库11.3.2关系运算关系代数运算符有4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符。根据运算符的不同,关系代数运算可分为传统的集合运算和专门的关系运算。传统的集合运算是从关系的水平方向进行的,包括并、交、差及广义笛卡尔积;专门的关系运算既可以从关系的水平方向进行运算,也可以从关系的垂直方向进行运算,包括选择、投影、连接以及除法。如表11-5所列,并、差、笛卡尔积、投影、选择是5种基本的运算,因为其他运算可以通过基本的运算导出。上一页下一页返回11.3关系数据库1.传统的集合运算并、差、交和广义笛卡尔积是4种传统的集合运算。(1)并(Union)。关系R与S具有相同的关系模式,即R与S的元数相同(结构相同)。关系R与关系S的并记作:R∪S={t|t∈R∨t∈S}式中,t为元组变量。并的结果仍为n目关系,由属于R或属于S的元组组成。(2)差(Difference)。关系R与S具有相同的关系模式,即R与S的元数相同(结构相同)。上一页下一页返回11.3关系数据库关系R与关系S的差记作:R-S={t|t∈R∧tS}其中,t为元组变量。差的结果关系仍是n目关系,由属于R而不属于S的所有元组组成。(3)交(Intersection)。关系R与S具有相同的关系模式,即R与S的元数相同(结构相同)。关系R与关系S的交记作:R∩S={t|t∈R∧t∈S}其中,t为元组变量。并的结果仍是n目关系,由既属于R又属于S的元组组成。关系的交可以用差来表示,即R∩S=R-(R-S)。上一页下一页返回11.3关系数据库(4)广义笛卡尔积(ExtendedCartesianProduct)。两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。记作R×S,其形式定义为:R×S={t|t=<tn,tm>∧tn∈R∧tm∈S}如果R和S中有相同的属性名,可在属性名的前面加关系名作为限定,以示区别。如果R有k1个元组,S有k2个元组,则R和S的广义笛卡尔积有k1×k2个元组。表11-6、表11-7分别为关系R和S。表11-8为关系R与S的并。上一页下一页返回11.3关系数据库表11-9为关系R与S的交。表11-10为关系R与S的差。表11-11为关系R与S的广义笛卡尔积。2.专门的关系代数运算专门的关系运算包括选择、投影、连接、除等。(1)选择(Selection)。选择运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的元组,其形式定义为:上一页下一页返回11.3关系数据库σF(R)={t|t∈R∧F(t)=True}其中,F中的运算对象是属性名(或列的序号)或常数,运算符是算术比较符(<,≤,>,≥,=,≠)和逻辑运算符(∧,∨,)。(2)投影(Projection)。投影运算是从关系的垂直方向进行的运算,是从关系R中选择出若干属性列组成新的关系,其形式定义为:

(R)={t[A]|t∈R}其中,犃为R中的属性列。(3)连接(Join)。上一页下一页返回11.3关系数据库连接运算是从两个关系R和S的笛卡尔积中选取满足条件的元组。所以,可以认为笛卡尔积是无条件连接,其他连接操作是有条件连接。连接分为θ连接、等值连接和自然连接3种。下面分别叙述如下:(1)θ连接:从R与S的笛卡尔积中选取属性间满足一定条件的元组,其形式定义为:RS={t|t=<tn,tm>∧tn∈R∧tm∈S∧tn[X]θtm[Y]}其中:“tn[X]θtm[Y]”为连接的条件,θ是比较运算符,X和Y分别为R和S上度数相等,且可比的属性组。tn[X]表示R中tn元组的相应于属性X的一个分量。上一页下一页返回11.3关系数据库tm[Y]表示S中tm元组的相应于属性Y的一个分量。(2)等值连接:当θ为“=”时,称之为等值连接,记为RS。其形式定义如下:RS={t=<tn,tm>∧tn∈R∧tm∈S∧tn[X]=tm[Y]}(3)自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。如果tn表示R关系的元组变量,tm表示S关系的元组变量;R和S具有相同的属性组B,且B=(B1,B2,…,B犽);上一页下一页返回11.3关系数据库并假定R关系的属性为A1,A2,…,An-犽,B1,B2,…,B犽,S关系的属性为B1,B2,…,B犽,B犽+1,B犽+2,…,Bm;tm为S的元组变量tm去掉重复属性B所组成的新的元组变量。自然连接可以记为RS。其形式定义如下:如下:RS={t=<tn,tm>∧tn∈R∧tm∈S∧R.B1=S.B1

∧R.B2=S.B2

∧…∧R.Bn=S.Bn}上一页下一页返回11.3关系数据库(4)除(Division)。除运算是同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应满足元组在X上的分量值x的象集Yx包含关系S在属性组Y上投影的集合。其形式定义如下:R÷S={tn[X]|tn∈R∧Πy(S)Yx}其中,Yx为x在R中的象集,x=tn[X],且R÷S的结果集的属性组为X。上一页返回11.4数据库设计11.4.1数据库设计概述1.数据库设计的特点早期的数据库设计致力于数据模型和建模方法研究,注重结构特性的设计而忽视了对行为的设计。也就是说比较重视在给定的应用环境下,采用什么原则、方法来建造数据库的结构,而没有考虑应用环境要求与数据库结构的关系,因此结构设计与行为设计是分离的。2.数据库设计方法简述下一页返回11.4数据库设计由于信息结构复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工试凑法。使用这种方法也与设计人员的经验和水平有直接关系,数据库设计成为一种技艺而不是工程技术,缺乏学科理论和工程方法的支持,工程的质量难以保证,常常是数据库运行一段时间后又不同程度地发现各种问题,增加了系统维护的代价。通过人们的努力,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。上一页下一页返回11.4数据库设计规范设计法中比较著名的有新奥尔良(NewOrleans)方法。它将数据库设计分为四个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。基于ER模型的数据库设计方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法。规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。3.数据库设计的基本步骤按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:上一页下一页返回11.4数据库设计(1)需求分析。进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。(2)概念结构设计。概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。(3)逻辑结构设计。逻辑结构设计是将概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。上一页下一页返回11.4数据库设计(4)物理结构设计。数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。(5)数据库实施。在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护。数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整和修改。上一页下一页返回11.4数据库设计11.4.2需求分析需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。1.需求分析的任务需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。上一页下一页返回11.4数据库设计2.需求分析的方法进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些需求。常用的调查方法有:(1)跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。(2)开会调查。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。(3)请专人介绍。(4)询问。对某些调查中的问题,可以找专人询问。(5)设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效的,也易于为用户接受。上一页下一页返回11.4数据库设计(6)查阅记录。查阅与原系统有关的数据记录。3.数据流图调查了解了用户的需求以后,还需要进一步分析和表达用户的需求。结构化分析方法(StructuredAnalysis,简称SA方法)是一种简单实用的方法。SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。数据流图表达了数据和处理过程的关系。4.数据字典上一页下一页返回11.4数据库设计数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析获得的主要成果。数据字典在数据库设计中占有很重要的地位。它是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。(1)数据项。数据项是不可再分的数据单位。(2)数据结构。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。上一页下一页返回11.4数据库设计(3)数据流。数据流是数据结构在系统内传输的路径。(4)数据存储。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档或手工凭单,也可以是计算机文档。(5)处理过程。处理过程的具体处理逻辑一般用判定表或判定树来描述。5.用户确认需求分析得到的数据流图和数据字典要返回给用户,通过反复完善,最终取得用户的认可。最后,强调两点:上一页下一页返回11.4数据库设计(1)需求分析阶段的一个重要而困难的任务是收集将来应用所涉及的数据,设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充。(2)必须强调用户的参与,这是数据库应用系统设计的特点。数据库应用系统和广泛的用户有密切的联系,许多人要使用数据库。数据库的设计和建立又可能对更多人的工作环境产生重要影响。因此用户的参与是数据库设计不可分割的一部分。在数据分析阶段,任何调查研究没有用户的积极参加是寸步难行的。设计人员应该和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,并对设计工作的最后结果承担共同的责任。上一页下一页返回11.4数据库设计11.4.3概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。1.概念结构在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念结构的主要特点是:(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。上一页下一页返回11.4数据库设计(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。描述概念模型的有力工具是ER模型。2.概念结构设计的方法与步骤设计概念结构通常有四类方法:上一页下一页返回11.4数据库设计(1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化。(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。(4)混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。上一页下一页返回11.4数据库设计11.4.4逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本ER图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。1.E-R图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则:上一页下一页返回11.4数据库设计(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:(2)一个1∶1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式属性中加入另一个关系模式的码和联系本身的属性。(3)一个1∶n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论