第5 章 数据库技术基础 数据库技术是信息管理的重要技术,是一种利用计算机辅助管理数据的 方法,它研究的是如何组织和存储数据,高效地获取和处理数据。 5.1 数据库知识 5.1.1 数据库应用及发展 1.数据库的常见应用 (1)校园一卡通。主要实现校园卡的金融消费功能和身份识别功能,实 现“一卡在手,走遍校园”的功能,应用于学校教学、借书、医疗、管理、生活等 各个方面。校园一卡通的网络拓扑结构如图5-1所示。 图5-1 校园一卡通网络拓扑结构 第5章数据库技术基础 167 (2)企业进销存。企业进销存是对企业生产经营中采购、采购退货、采购付款、销售、 销售退货、销售付款、退货情况、盘库、仓库调拨、借入、借出、借入还出、借出还入,供方客 户资料,供方供货汇总、明细报表,采购付款汇总、明细报表进行多仓库、多币种、多结算方 式、多报表的管理,进销存可以摆脱繁杂的数字统计等琐事。如图5-2为进销存业务流程 示意图。 图5- 2 进销存业务流程示意图 校园一卡通及企业进销存的实现,离不开数据库技术的支持,各种信息以数字化的形 式存储在数据库中,通过数据库达到数据共享的目的。 2. 数据库的历史 数据库及其技术出现在20 世纪60 年代后期,当时已经出现了大容量且价格低廉的 磁盘且操作系统已成熟,数据处理的规模越来越大。为了解决数据独立和共享问题,实现 数据的统一管理,数据库技术应运而生。数据库系统中应用程序与数据的关系如图5-3 所示。 数据库技术满足了集中存储大量数据以方便众多用户使用的需求。具有如下特点。 (1)采用一定数据模型。以数据为中心按一定的方式存储,即按一定的数据模型组 织数据,最大限度地减少数据的冗余。 (2)最低的冗余度。数据冗余是指在数据库中数据的重复存放。数据冗余不仅浪费 了大量的存储空间,而且还会影响数据的正确性。数据冗余是不可避免的,但是数据库可 以最大限度地减少数据的冗余,确保最低的冗余度。 (3)有较高的数据独立性。处理数据时用户所面对的是简单的逻辑结构,而不涉及 具体的物理存储结构,数据的存储和使用数据的程序彼此独立,数据存储结构的变化尽量 不影响用户程序的使用,使得应用程序保持不变。 (4)安全性。并不是每一个用户都能允许访问全部数据,通过设置用户的使用权限 168 大学计算机基础(第6版) 图5- 3 数据库与应用程序关系示意图 可以防止数据的非法使用和丢失,在数据库被破坏时,可以把数据库恢复到可用状态。 (5)完整性。系统采用一些完整性检验以确保数据符合某些规则,保证数据库中数 据始终是正确的。 在数据库出现之前,人们对数据的管理依次经历了人工管理与文件系统管理两个 阶段。 (1)人工管理阶段处理数据的方式,是把程序和数据放在一起。如图5-4所示,Visual Basic程序对10 个数据从大到小排序,10 个数据是嵌入在程序当中的,虽然是处理同批 数据,但是程序之间没有共享数据。在20 世纪50 年代中期以前是人工管理阶段,这个阶 段程序与数据的关系如图5-5所示。 图5- 4 人工管理阶段程序与数据的关系图5- 5 程序与数据在一起 (2)文件系统阶段。20 世纪50 年代中期至60 年代中期,由于计算机大容量存储设 备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入一个 新的阶段。在这个阶段,以数据文件为单位存储在外存,且由操作系统统一管理。操作系 统为用户使用文件提供了友好界面。这一阶段数据管理的主要特征如下。 ①数据可以长期保存。大量用于数据处理的数据可以长期保留在外存上反复进行 查询、修改、插入和删除等操作。 ②程序与数据有了一定的独立性。程序与数据分开,有了程序文件与数据文件的区 别,如图5-6所示的VisualBasic程序对10 个数据从大到小排序,10 个数据是从文件当 中读取。 第5章数据库技术基础 169 ③用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据, 实现了以文件为单位的数据共享。 文件系统阶段程序与数据的关系如图5-7所示。 图5- 6 文件管理阶段程序与数据的关系图5- 7 程序与数据分开 3. 数据库系统新技术 从20 世纪60 年代美国IBM 公司开发的第一个数据库系统开始,数据库技术经过了 几十年的发展,已成为一个数据模型丰富、新技术内容层出不穷、应用领域日益广泛的体 系,是计算机科学技术中发展最快、应用最广泛的重要分支之一,也是计算机信息系统和 计算机应用系统重要的技术基础和支柱。 20 世纪80 年代,数据库技术成功应用于商业领域。同时,这一时期也出现了一系列 重大的社会进步和科技进步,这些都大大地刺激并影响了数据库的设计和发展。尤其是 进入20 世纪90 年代以来,数据库的发展更加令人眼花缭乱,不断推陈出新,形成了一个 庞大的数据库家族。 (1)面向对象数据库管理系统。面向对象数据库管理系统将数据的特性和面向对象 的特性结合起来。数据的特性包括数据的完整性、安全性、持久性、事务管理、并发控制、 备份、恢复、数据操作和系统调节,面向对象的特性包括继承性、封装性和多态性等。 (2)并行数据库管理系统。并行数据库管理系统是数据库技术与并行技术相结合的 结果,其目的是提供一种高性能、高可用性、高扩展性的数据库管理系统。这种数据库可 以充分发挥多处理机结构的优势,将数据分布存储在多个磁盘上,并且利用多个处理机对 磁盘数据进行并行处理,从而解决了磁盘I/O瓶颈问题。如图5-8所示,为共享内存并行 数据库管理系统构成。并行数据库管理系统的基本思想在于通过先进的并行查询技术, 开发查询间并行、查询内并行以及操作内并行来提高性能和查询的效率。 (3)分布式数据库管理系统。分布式数据库管理系统是对网络互相连接的计算机系 统上的逻辑相关数据的存储和处理。分布式数据库管理系统是由多个结点的数据库组成 的,也就是说,一个单独的数据库被分成多个分片,这些分片存储于某个网络中的不同的 计算机上,数据处理也分散到多个不同的网络结点上。分布式数据库系统是一种多重来 源、多重位置的数据库,核心是多结点数据库。图5-9为分布式数据库管理系统构成。 (4)空间数据库管理系统。空间数据库管理系统是描述空间位置和点、线、面、体积 特征的空间数据,以及描述这些空间对象特征属性的数据作为处理对象的数据库,其数据 模型和查询语言能支持空间数据类型和空间索引,并提供空间查询和其他空间分析方法。 170 大学计算机基础(第6版) 图5- 8 并行数据库管理系统构成 图5- 9 分布式数据库管理系统构成 空间数据库是利用数据库技术实现空间数据的有效存储、管理和检索,为各种空间数据库 的用户服务。 (5)非关系型的数据库。随着互联网网站的兴起,传统的关系数据库在应付超大 规模、高并发及海量数据的高效率存储和访问的纯动态网络服务已经显得力不从心, 暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅 速的发展。 (6)移动数据库管理系统。装配无线联网设备的移动计算机能够与固定网络甚至其 他移动计算机相连,用户不再需要固定地连接在某一个网络中不变,而是可以携带移动计 算机自由地移动,这样的环境,称为移动计算。移动数据库管理系统是指在移动计算环境 中的分布式数据库。可以从两个层面上来理解移动数据库:一个是用户在移动时可以存 取后台数据库数据或其副本,另一个是用户可以带着后台数据的副本移动。图5-10 为移 动数据库管理系统构成。 1.数据知识 5.2 1. 数据 数据是事物特性的反映和描述,是数字、文字、声音、图形、图像等符号的集合。数据 第5章数据库技术基础 171 图5-10 移动数据库管理系统构成 在空间上的传递称为通信(以信号方式传输), 数据在时间上传递称为存储(以文件形式 存取)。 2. 信息 信息是向人们或机器提供关于现实世界新的事实的知识,是数据中所包含的意义,是 和数据关系密切的另外一个概念,数据是信息的符号表示(或称为载体), 信息则是数据的 内涵,是对数据语义的解释。 3. 知识 知识是可用于指导实践的信息。知识不是数据和信息的简单积累,是人们在改造世 界的实践中所获得的认识和经验的总和。知识又分为显性知识和隐性知识。显性知识是 已经或可以文本化的知识,并易于传播。隐性知识是存在于个人头脑中的经验或知识,需 要进行大量的分析、总结和展现,才能转化成显性知识。 4. 数据处理 数据处理是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从 大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是 有价值、有意义的数据。数据处理是系统工程和自动控制的基本环节。数据处理贯穿于 社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地 影响着人类社会发展的进程。 数据处理的基本过程包括数据收集、数据整理、数据描述、数据分析4个阶段。 5.3 数据库概念 1. 1.E- R 图 E-R图(Entity-RelationshipApproach)即为实体-联系图,是数据关系分析的一种表 示方法。E-R图用矩形表示实体名,矩形框内写明实体名;用椭圆形表示属性,并用无向 边将其与相应的实体型连接起来;用菱形表示联系,菱形框内写明联系名,如图5-11~ 图5-13 所示。E-R图也可以说是现实世界到信息世界的一种抽象,抽象过程如图5-14 所示。 172 大学计算机基础(第6版) 图5-11 一对一联系图5-12 一对多联系 图5-13 多对多联系图5-14 抽象过程 学生实体具有学号、姓名、性别、年龄、学院等属性,用E-R图表示如图5-15 所示。再 例如:用“供应量”来描述联系“供应”的属性,如图5-16 所示用E-R图表示某供应商供应 了多少数量的零件给某个项目。 图5-15 学生实体及属性图5-16 联系的属性 2. 数据库 数据库(database)是依照某种数据模型组织起来并以文件的形式存放在存储器中的 数据集合。在生活中,手机的使用越来越普遍,手机里常存有很多亲戚和朋友的姓名和电 话号码,用来方便地保持与他们的联系,这些姓名及电话号码通常记录在手机里的一个通 讯簿(电话、联系人)中,当与亲戚和朋友打电话时,查找就很方便。这个通讯簿(电话、联 系人)就是一个简单的数据库。这个数据库除了查找方便外,还可以根据需要随时在其中 添加新朋友的姓名和电话号码数据,也可以修改和删除某个人的数据。 3. 数据库的数据模型 数据库的数据模型主要分3类:层次数据模型、网状数据模型、关系数据模型。 (1)层次数据模型。层次数据模型是最早使用的一种数据模型,采用层次模型数据 通过链接方式,将相互关联的记录组织起来,形成一种层次关系,构成树状结构。 这种树状结构,就像一棵倒挂的树,把每一条记录看成是树上的一个结点,则最上一 第5章数据库技术基础 173 层的结点类似于树根,称为根结点,结构中的每一结点都可以链接一个或多个结点,这些 结点称后继结点或子结点。与子结点相链接的上一层结点称该子结点的前驱结点或亲结 点。链接则表示结点之间的联系。如图5-17 为某学校行政管理的数据模型。 (2)网状数据模型。网状数据模型也是早期经常使用的一种数据模型,网状数据模 型采用网状结构表示实体与实体之间的联系,网状数据库则是使用网络模型作为自己的 存储结构。 在这种结构中,各数据记录便组成网络中的结点,有联系的各结点通过链接方式链接 在一起,构成一个网状结构,这种结构的结点之间的联系较为复杂。某学院教学管理的数 据模型如图5-18 所示。 图5-17 某学校行政管理的数据模型图5-18 某学院教学管理的数据模型 (3)关系数据模型。关系数据模型简称关系模型,是目前使用最广泛的一种数据模 型,关系模型以其概念简单清晰、操作直观方便、易学易用等优势,受到了众多用户的青 睐。现在的数据库产品90% 以上都是以关系模型为基础的。 关系模型采用关系作为逻辑结构,实际上关系就是一张二维表,一般简称表。一张二维 表都是由行和列构成,每一行称为一条记录,每一列称为一个字段,如表5-1教工登记表。 表5- 1 教工登记表 工作证编号姓名性别年龄职称基本工资部门 22001 江海男30 讲师650.00 信息系 22002 张大山男52 副教授750.00 计算机系 22003 王兰英女45 副教授750.00 电子系 22004 张柳女38 讲师650.00 通信系 22005 王坤男55 教授850.00 外语系 22006 李天洋男28 助教500.00 历史系 4. 数据库的数据组织 数据库中的数据组织分4个级别:字段、记录、表和数据库文件,它们之间的关系如 图5-19 所示。 (1)字段。字段是定义数据库数据的最小单位。字段与现实世界实体的属性对应, 每个字段都有一个名称,被称为字段名。字段的值可以是数值、字母、字母数字、汉字等形 174 大学计算机基础(第6版) 图5-19 数据库数据组织透视图 式。字段的取值有一定的范围,被称为域,域以外的任何值对该字段都是无意义的。 (2)记录。记录由若干相关联的字段组成,是处理和存储信息的基本单位,是关于一 个实体的数据总和。构成记录的字段表示实体的若干属性。为了标识每个记录的唯一 性,就必须有记录标识符(也称为键)。能标识记录唯一性的键称为候选键,确定作为记录 的唯一标识的某一候选键称为主键。 (3)表。表是一个给定类型的记录的全部具体值的集合,用表名称来标识。由于表 可以看成是具有相同性质的记录的集合,因而具有以下特性:表的记录格式相同,长度相 等;不同的行是不同的记录,因而具有不同的内容;不同的列则代表不同的字段,相同一列 中的数据的属性(性质)相同;每一行各列的内容是不能分割的,行的顺序和列的顺序不影 响表内容的表达。 (4)数据库文件。数据库文件是比表更大的数据组织形式,是具有特定关系的表的集合。 5. 数据库的体系结构 数据库的体系结构分3个层:数据库的视图结构、数据库的逻辑结构、数据库物理结 构。数据库的视图结构是用户的数据视图,最接近于用户,称为外模式;数据库的逻辑结 构是介于物理结构和视图结构两者之间,称为模式;数据库的物理结构是数据的物理存储 方式,称为内模式。如图5-20 所示。 图5-20 数据库三层体系结构 第5章数据库技术基础 175 外模式是数据库的视图结构。外模式是最接近用户的,对应于不同的用户,用户的应 用目的不同、使用权限不同,对应的外模式的定义就不同,每个用户只能使用自己权限范 围内的外模式的数据,而无法涉及其他用户定义的外模式数据。 模式是数据库的逻辑结构。模式表示了数据库的全部信息内容,定义了数据库的全 部数据的逻辑结构,主要描述数据库中存储什么数据以及这些数据之间有何种关系。 内模式是数据库的物理结构。用于定义数据的存储方式和物理结构,处在最底层。 5.4 数据库管理系统 1. 数据库管理系统(databasemanagementsystem,DBMS)是一种操纵和管理数据库的 大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数 据库的安全性和完整性。如图5-21 所示。 图5-21 数据库管理系统的构成 5.关系数据库 2 5.1 关系数据库概念 2. 本节主要讲解关系数据库的相关概念。 1. 关系 在关系数据库中,基本数据结构被限制为二维表格,数据在用户观点下的逻辑结构就 是一张二维表,每一张二维表称为一个关系(n)。关系数据模型中最基本的概念是 关系,表5-2给出的工资表就是一个关系。 relatio