数据库应用技术:Access 2003
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 数据库基础知识

数据库技术是信息社会的重要基础技术之一,是计算机科学领域中发展最为迅速的分支。随着计算技术和计算机网络的发展,计算机应用领域迅速扩展,数据库应用领域也在不断地扩大。尤其从20世纪80年代开始,数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。一方面,新的数据库应用领域,如计算机辅助设计与制造、过程控制、办公自动化系统、地理信息系统和计算机集成制造系统等,越来越多地采用数据库存储并处理它们的信息资源,为数据库的应用开辟了新的天地;另一方面,在应用中管理方面的新需求也直接推动了数据库技术的研究与发展。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度,已成为衡量这个国家信息化程度的重要标志。

1.1.1 数据库的基本概念

1.数据

数据(Data)是数据库中存储的基本对象。数据在人们头脑中的第一个反应就是数字。其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文字、图形、图像、声音、学生成绩和商品营销情况等,这些都是数据。

数据就是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音和语言等,数据有多种表现形式,都可以经过数字化后存入计算机。

为了了解世界、交流信息,人们需要描述这些事物。在日常生活中,可直接用自然语言(如汉语)描述。在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征组成一个记录来描述。例如,在学生成绩管理中,人们最感兴趣的是学生的学号、姓名、课程和成绩等,因此可以描述(20080101、陈晓菡、网络技术、90)。

数据处理是指对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。数据处理的目的就是根据人们的需要,从大量的数据中抽取出对于特定的人们来说是有意义、有价值的数据,借以作为决策和行动的依据。数据处理通常也称为信息处理。

2.数据库

数据库(DataBase,简称DB)是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以为各种用户共享。

数据库是依照某种数据模型组织起来并存放在二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增加、删除、修改和检索由统一的软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

3.数据库管理系统

数据库管理系统(DataBase Management System,简称DBMS)是一种操纵和管理数据库的软件系统,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同一时刻或不同时刻去建立、修改和访问数据库。它主要包括以下几方面的功能。

● 数据定义功能。

DBMS提供数据定义语言(Data Definition Language,简称DDL),通过它可以方便地对数据库中的数据对象进行定义。

● 数据操纵功能。

DBMS还提供数据操纵语言(Data Manipulation Language,简称DML),可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。

● 数据库运行管理功能。

数据库在建立、运用和维护时由数据库管理系统统一管理、控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

● 数据库的建立和维护功能。

它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的管理重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。

数据库管理系统是对数据进行管理的系统软件,用户在数据库系统中做的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的,常见的DB2、Oracle、Sybase、MS SQL Server、MySQL、FoxPro和Access等软件都属于DBMS的范畴。

4.数据库系统

数据库系统(DataBase System,简称DBS)是指引进数据库技术后的计算机系统。一般由数据库、支持数据库系统的操作系统环境、数据库管理系统及其开发工具、数据库应用软件、数据管理员和用户组成,它们之间的关系如图1-1 所示。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBase Administrator,简称DBA)。

图1-1 数据库系统

近年来在数据库技术方面形成了以下4 个主攻方向:分布式数据库系统、面向对象的数据库管理系统、多媒体数据库和专用数据库系统。正是计算机科学、数据库技术、网络、人工智能和多媒体技术等的发展和彼此渗透结合,才不断扩展了数据库新的研究和应用领域。上述的4 个主攻方向不是孤立的,它们彼此促进,互相渗透。人们期待着21 世纪在信息处理技术上新的重大突破,数据管理技术的第三次飞跃即将到来。

1.1.2 数据库系统的特点

数据库技术的发展先后经历了人工管理、文件管理和数据库系统等阶段。目前,世界上已有许多大型数据库系统在运行,其应用已深入到人类社会生活的各个领域,并在计算机网络的基础上建立了许多国际性的联机检索系统。由于传统的数据库系统已无法满足各种应用的需求,因此,从20世纪80年代开始数据库研究出现了许多新的领域,相继研究出了分布式数据库系统、对象数据库系统和网络数据库系统。数据库系统与人工管理和文件系统相比,主要有以下特点。

1.数据结构化

数据结构化是数据库与文件系统的根本区别。在数据库系统中的数据彼此不是孤立的,数据与数据之间相互关联,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系,这就要求按照某种数据模型,将各种数据组织到一个结构化的数据库中。

2.实现数据共享,减少数据冗余

数据共享是数据库的一个重要特性。一个数据库不仅可以被一个用户使用,同时也可以被多个用户使用,多个用户也可以使用多个数据库,从而实现数据的共享。数据共享可以大大减少数据冗余,节约存储空间。由于在数据库系统中实现了数据共享,所以可以避免数据库中数据的重复出现,使数据冗余性大大降低。

3.数据独立性

数据独立性包括数据的物理独立性和逻辑独立性。

物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。

数据独立性是由DBMS的二级映像功能来保证的。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取只由DBMS完成,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

4.数据由DBMS集中管理

数据库被多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供以下几方面的数据控制功能。

● 数据的安全性保护。

数据的安全性是指保护数据以防止因不合法的使用造成数据的泄密和破坏。这使每个用户只能按规定,对某些数据以某些方式进行使用和处理。

● 数据的完整性检查。

数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据之间满足一定的关系。

● 并发控制。

当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。

● 数据库恢复。

计算机系统的硬件故障、软件故障、操作员的失误,以及故意的破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能,这就是数据库的恢复功能。

数据库是长期存储在计算机内有组织的大量共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。

1.1.3 关系数据库

基于关系数据模型的数据库系统称关系型数据库系统,所有的数据分散保存在若干个独立存储的表中,表与表之间通过公共属性实现“松散”的联系,当部分表的存储位置、数据内容发生变化时,表间的关系并不改变。这种联系方式可以将数据冗余(即数据的重复)降到最低。目前流行的关系数据库DBMS产品包括Access、SQL Server、FoxPro和Oracle等。

1.表的特点

在关系型数据库中,数据以二维表的形式保存,如图1-2所示。

图1-2 二维数据表

二维表有以下的特点。

(1)表由行、列组成,表中的一行数据称为记录,一列数据称为字段。

(2)每一列都有一个字段名。

(3)每个字段只能取一个值,不得存放两个或两个以上的数据。例如,学生表的“姓名”字段只能放入一个人名,不能同时放入曾用名,在确实需要使用曾用名的场合,可以添置一个“曾用名”字段。

(4)表中行的上下顺序、列的左右顺序是任意的。

(5)表中任意两行记录的内容不应相同。

(6)表中字段的取值范围称为域。同一字段的域是相同的,不同字段的域也有可能相同,如成绩表中的“成绩”字段的取值范围都可以是1000以内的实数。

2.关系操作

关系型数据库管理系统不但提供了数据库管理系统的一般功能,还提供了筛选、投影和连接3种基本的关系操作。

1)筛选

筛选是指从数据库文件中找出满足条件的若干记录。例如,从“学生”表中查找所有男生的记录,需要通过筛选操作来完成,如图1-3所示。

图1-3 筛选操作

2)投影

投影是指从数据库文件中找出满足条件的记录的多个字段。例如,从“学生”表中查找所有学生的“姓名”、“性别”和“出生日期”字段内容,需要通过投影操作来完成,如图1-4所示。

图1-4 投影操作

3)连接

连接是将两个数据库文件按某个条件筛选部分(或全部)记录及部分(或全部)字段组合成一个新的数据库文件。例如,从“课程”表和“成绩”表中,根据学号字段相同这一条件,连接生成一个新的表,新生成的表包括两个表中记录的部分(或全部)字段(同名字段只出现一次),如图1-5所示。

图1-5 连接操作

相关知识

数据模型

在数据库中,用数据模型这个工具来对现实世界进行抽象,数据模型是数据库系统中用于提供信息表示和操作手段的形式构架。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易被人所理解;三是便于在计算机上实现。

在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。不同的数据模型是提供给我们模型化数据和信息的不同工具。直接面向计算机的数据模型,是按计算机系统的观点对数据进行建模,主要用于DBMS的实现,常称为基本数据模型或数据模型,数据库中常用的基本数据模型有层次模型、网状模型和关系模型。

1.层次模型

层次模型用树形结构来表示各类实体及实体间的联系。现实世界中许多实体之间的联系本来就呈现出一种很自然的层次关系,如行政机构、家族关系等。

层次数据模型本身比较简单。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。

现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。

2.网状模型

与层次模型一样,网状模型中每个结点表示一个记录类型(实体),每个记录类型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。

网状数据模型能够更为直接地描述现实世界,如一个结点可以有多个双亲。它具有良好的性能,存取效率较高。而层次模型实际上是网状模型的一个特例。

网状数据模型的缺点主要是结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。其数据定义语言(DDL)和数据操纵语言(DML)复杂,用户不容易使用。

由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,这就加重了编写应用程序的负担。

3.关系模型

关系数据库系统是支持关系数据模型的数据库系统,现在普遍使用的数据库管理系统都是关系数据库管理系统。

关系模型是当前最重要的一种数据模型。从用户的角度看,关系模型的数据结构是一个二维表,它使用表格描述实体间的关系,由行和列组成。一个关系就是通常所说的一张二维表,如图1-6所示为“产品”表。

图1-6 “产品”表

表中的一行就是一条记录,又称为一个元组。表中的一列即为一个属性(字段),每个属性有一个名称即属性名(字段名)。例如,在图1-4 所示的“产品”表中有6 列,对应6个属性,即产品ID、产品名称、供应商、类别、单位数量和单价。

关系数据模型具有下列优点。

● 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。

● 关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。

● 关系模型的存取路径对用户透明(用户无须关心数据存放路径),从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

所以,关系数据模型诞生以后发展迅速,深受用户的喜爱。

随着数据库技术的应用和发展,面向对象数据模型和多媒体数据模型得到了广泛的重视,因此,它已成为目前数据库技术中最有前途和生命力的发展方向。