《第1章数据库基础.doc》由会员分享,可在线阅读,更多相关《第1章数据库基础.doc(16页珍藏版)》请在金锄头文库上搜索。
1、第1章 数据库基础【学习目标】本章将要学习数据库基础知识,包括数据库系统的基本概念、数据模型、数据库系统体系结构、关系数据库的基本概念、基本运算等。本章学习要点:u 数据库技术的基本概念;u 数据模型的定义、组成要素;u 关系数据库的基本概念;u 关系数据库的基本运算。【学习导航】数据库技术是研究数据库结构、存储、设计和使用的一门软件科学,是进行数据管理和处理的技术。目前,信息资源在各行各业都是重要的财富,以数据库核心的信息系统已经成为企业和其他组织自下而上和发展的重要条件。从某种意义上讲,数据库的建设规模、数据信息量的大小和使用频率已成为衡量一个国家信息化程度的重要标志。本章主要内容见图1-
2、1所示的学习导航。图1-1 本章学习内容导航1.1 数据库基础知识数据库技术产生于20世纪60年代末期,是数据管理的最新技术。随着计算机硬件技术和软件技术的发展,以及数据管理应用需求的日益增加,数据管理技术也在不断地发展和完善。1.1.1 数据管理技术的发展数据管理是指对数据进行收集、分类、组织、编码、存储、检索和维护,是数据处理的核心问题。最初的计算机主要是进行复杂的科学计算,随看计算机及其应用的发展,人们开始借助计算机进行数据处理。从计算机产生至今,数据管理技术一共经历了3个发展阶段,分别是人工管理阶段、文件系统阶段和数据库系统阶段。1人工管理阶段人工管理阶段(20世纪50年代),当时计算
3、机主要应用于科学计算。当时只有磁带、卡片、纸带等外存储器,没有磁盘等直接存取的存储设备;没有操作系统,也没有专门管理数据的软件;数据的处理方式是批处理,由程序设计人员安排数据的物理存储和加工处理。人工管理阶段的数据管理具有如下特点:(1)数据不长期保存在计算机里,用完就删除。由于计算机主要用于科学计算,程序处理时将数据输入,程序处理完毕将数据输出,一般情况下,输入数据和输出结果都不需要长期保存。(2)数据不具有独立性。当数据的逻辑存储结构或物理存储结构发生变化时,程序设计人员必须对程序做出相应的修改,不能保证数据与程序的独立性。(3)数据不共享。数据是面向应用的,一组数据对应于一个程序,当多个
4、程序使用到相同的数据时,也必须各自定义,无法实现数据共享,因此程序之间存在大量的冗余数据。(4)数据由程序自身管理,没有专门的软件系统负责数据管理,数据与程序结合在一起。人工管理阶段的数据管理如图1-2所示:图1-2 人式管理阶段的数据管理2文件系统阶段文件系统阶段是指20世纪50年代后期至60年代中期,计算机不仅应用于科学计算,而且广泛应用于数据管理领域。在这一阶段,由于计算机硬件有了磁盘、磁鼓等外部直接存储设备;软件有了操作系统、数据管理软件;数据的处理方式包括文件批处理和联机实时处理。这一阶段的特点是:(1)数据可以长期保存。由于计算机广泛应用于数据管理,程序经常性地对数据进行更新和查询
5、操作,因此数据需要以文件的形式长期保存在外存上。(2)操作系统的文件管理提供了对数据的输入和输出管理。程序设计人员不必过多考虑数据物理结构,减少了程序设计的工作量。(3)数据可以共享,但数据共享性差,冗余度大。虽然数据以文件的形式独立存储,能够被不同的程序共享使用,但文件的存储结构不统一,一个文件基本上对应于一组特定的程序。(4)数据独立性,数据文件之间彼此孤立,不能反映数据之间的联系,数据大量冗余。文件系统阶段的数据管理如图1-3所示。图1-3 文件系统阶段的数据管理3数据库系统阶段数据库系统阶段(20世纪60年代后期至今)。随着计算机硬件与软件技术的发展,计算机用于管理的规模越来越大,数据
6、量剧增,数据管理需求越来越广泛,文件系统作为数据管理手段已经不能满足应用的需要。为了解决多用户、多应用程序共享数据的需求,出现了专门管理数据的数据库系统;数据的处理方式包括批处理、联机实时处理和分布式处理。数据库系统阶段的数据管理具有如下特点:(1)数据结构化。在文件系统中,文件内部具有一定的数据结构,但文件之间相互独立,无法反映事物之间的联系。而数据库系统中,全部数据组织成为一个结构化的整体,数据结构是文件系统与数据库系统的本质区别。(2)数据的共享性高,冗余度低、易扩充。数据库系统不再向某个应用而是面向整个系统描述数据,因此数据可以被多个应用程序共享使用。数据共享可以减少数据冗余,节约存储
7、空间,同时还能够避免数据之间的不相容与不一致。(3)数据由数据库管理系统统一管理和控制。数据库管理系统不仅负责结构化数据的存取管理,而且提供了数据安全性控制、数据完整性控制、并发控制和数据恢复4种控制功能。(4)数据独立性高。数据库系统阶段的数据管理如图1-4所示。图1-4 数据库系统阶段的数据管理1.1.2 数据库技术的基本概念本节从一些常用术语和基本概念出发,介绍数据库的基础知识。1信息(Information)信息是现实世界事物的存在方式或运动状态的反映。信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息也是各行各业不可缺少的资源,这是它的社会属性。2数据(Data)数据是数
8、据库中存储的基本对象,是对客观事物特征的一种抽象的符号化表示,是记录下来的信息。日常生活中数据涉及的面很广,种类也很多,如数字、文字、图形、声音、图像等都是数据。把各种数据采用特定的二进制编码存入计算机,就是计算机中的数据。在计算机中,程序设计人员用数据抽象出事物的特性以表示事物。数据的形式不能完全表达其内容,需要经过语义解释。例如,利用自然语言描述一个学生:“张国是一名2008年入学的男大学生,1990年6月12日出生,海南人”在计算机世界里,为了存储和处理现实世界中的事物,我们就要抽象出感兴趣的事物特征,组成一个记录来描述该事物。对上述学生,我们最感兴趣的是学生的姓名、性别、出生年月、籍贯
9、、入学时间等,那么在计算机里就可以这样描述该生信息:张国,男,1990-6-12,海南,2008这就是该学生的数据,也称为记录。数据和信息二者密不可分,信息是客观事物性质或特征在人的头脑中的反映。信息只有通过数据形式表示出来才能被人理解和接受。3数据库(DataBase,DB)数据库顾名思义就是存放数据的仓库,是长期存储在计算机内部的、有组织的、可共享的、大量的数据集合。这种集合具有如下特点:(1)数据库中的数据按一定的数据模型组织、描述和存储;(2)具有较小的数据冗余度;(3)具有较高的数据独立性和易扩充性;(4)为所有用户共享。4数据库管理系统(Database Management Sy
10、stem,简称DBMS)数据库管理系统是位于用户和操作系统之间的一个数据管理软件。如我们学习的SQL Server 2005就是一个DBMS。数据库管理系统的功能包括以下方面:(1)数据定义功能。数据库管理系统提供数据定义语言。用来定义数据库的模式,定义有关约束条件,供用户建立数据库。(2)数据操纵功能。数据库管理系统提供数据操纵语言,实现对数据库中数据的检索、插入、删除和修改等操作。(3)数据库的运行管理功能。数据库管理系统统一管理数据库运行和维护,以保障数据的安全性、完整性、并发性和故障的系统恢复性。(4)数据库的建立和维护功能。数据库管理系统在数据建立和运行过程中,能够完成初始数据的输入
11、、转换,数据库的转储、恢复,数据库的性能监视和分析等任务。5数据库系统(Database System,DBS)数据库系统是指计算机系统中数据库后的系统,也可是采用数据库技术的计算机系统。为了避免混淆,通常将数据库系统称为数据库。狭义地讲,数据库系统的构成包括数据库和数据库管理系统;广义地讲,数据库系统的构成包括硬件、软件、数据库和用户。数据库系统的结构如图1-5所示。图1-5 数据库系统结构 图1-6 数据库系统在计算机系统中的地位数据库系统在计算机系统中的地位如图1-6所示:1.1.3 数据库系统的特点1数据结构化数据不再面向某一具体应用,而是面向现实世界,具有整体的结构化。不仅数据是结构
12、化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。2数据独立性高数据独立是指应用程序不随数据存储结构结构的改变而改变。数据独立性是数据库领域中一个常用术语,包括数据的物理独立性和数据的逻辑独立性。物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由数据库管理系统(DBMS)管理的,用户程序不需要了解。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。3数据的共享性高,冗余度低是,易扩充数据面向整个系统,可以被多个用户、多个应
13、用共享使用。数据共享可以大大减少数据冗余,节约存储空间,还可以避免数据之间的不相容性与不一致性。4数据由数据库管理系统(DBMS)统一管理和控制数据库的共享使多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。因此,DBMS不仅要有最基本的数据管理功能,不必须提供以下几方面的数据控制功能:(1)数据的安全性保护:数据的安全性是指保护数据以防止不合法的使用造成的数据泄密和破坏。(2)数据的完整性检查:数据的完整性是指数据的正确性、有效性和相容性。(3)并发控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对
14、多用户的并发操作加以控制和协调(4)数据库的恢复:是指当数据库中的数据遭到破坏或丢失,数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。总之,数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有较高的数据独立性。因此,数据库管理系统在数据库建立、运行和维护时对数据库进行统一控制,以保证数据为完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库系统进行恢复。1.2 数据模型数据库结构的基础是数据模型。数据模型是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。也可以理解为数据模型是指数据库中数据的组织形式和
15、联系方式。1.2.1 数据模型的定义数据模型是现实世界数据特征的抽象,是计算机对现实世界的模拟,是客观事物及其联系的数据描述。由于计算机不能直接处理现实世界中的具体事物,因此必须使用数据模型这个工具来把具体事物抽象转化成计算机能够处理的数据。数据模型应满足三方面要求:一是能较真实地模拟现实世界,二是容易为人所理解;三是便于在计算机上实现。一种数据模型要很好地满足这三方面的要求在目前尚很困难。因此,在数据库系统中都是针对不同的使用对象和应用目的而采用不同的数据模型。不同的数据模型提供的模型化数据和信息的方法是不同的。在数据抽象过程中,根据应用的目的不同,模型分为两类:第一类是概念模型,也称为信息模型,它是按用户的观点来对数据和信息进行抽象,主要用于数据库设计;第二类模型是数据模型,也称数据库模型,它是按计算机系统的观点建模,主要用于DBMSR的实现。数据抽象过程如图1-7所示:图1-7 数据抽象过程1.2.2 数据模型的组成要素数据模型由3个要素组成:数据结构、数据操作和数据的约束条件。数据结构是数据库对象类型的集合。这些对象是数据库的组成部分,通常包含两类,一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录;一类是与数据之间联系有关的对象。数据结构是对系统静态特性的描述。数据操作是对数据库