数据库系统概论(第五版)
王 珊 萨师煊 编著
第1章 绪论
1.1 数据库系统概述
1.1.1 数据库的四个基本概念
数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的4个基本概念。
1. 数据( data )
可对数据做如下定义:描述事物的符号记录称为数据。数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
2. 数据库( DataBase,DB )
数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定格式存放的。
严格地讲,数据库是 长期存储在计算机内、有组织的、可共享的 大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有 较小的冗余度( redundancy )、较高的数据独立性( data independency )和 易扩展性( scalability ),并可为各种用户共享。
3. 数据库管理系统( DataBase Management System,DBMS )
如何科学地组织和存储数据?如何高效地获取和维护数据?完成这项任务就要用到一个系统软件—— 数据库管理系统 。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。 数据库管理系统 和操作系统一样 是计算机的基础软件 ,也是一个大型复杂的软件系统。它的主要功能包括:
(1)数据定义功能
数据库管理系统 提供数据定义语言( Data Definition Language,DDL ),用户通过它可以方便地对数据库中的数据 对象的组成与结构进行定义。
(2)数据组织、存储和管理
数据库管理系统要 分类组织、存储 和 管理 各种数据,包括数据字典、用户数据、数据的存储路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的 基本目标是提高存储空间利用率和方便存取,提供多种存取方法(如索引查找、hash查找、顺序查找等)来提高存取效率。
(3)数据操纵功能
数据库管理系统还 提供操纵语言( Data Manipulation Language,DML ),用户可以使用它操纵数据,实现对数据库的基本操作,如 查询、插入、删除 和 修改 等。
(4)数据库的事务管理和运行管理
数据库在 建立、运用 和 维护 时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的 安全性、完整性、多用户对数据的并发使用 以及 发生故障后的系统恢复 。
(5)数据库的建立和维护功能
数据库的建立和维护功能包括数据库初始数据的 输入、转换功能,数据库的 转储、恢复功能,数据库的 重组织功能和 性能监视、分析功能 等。这些功能通常是由一些实用程序或管理工具完成的。
(6)其他功能
其他功能包括 数据库管理系统与网络中其他软件系统的通信功能 ,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能 ,异构数据库之间的互访和互操作功能等 。
4.数据库系统( DataBase System,DBS )
数据库系统是由 数据库、数据库管理系统(及其应用开发工具)、应用程序 和 数据库管理员( DataBase Administrator,DBA )组成的 存储、管理 、处理 和 维护数据 的系统。应当指出的是,数据库的建立、使用和维护等工作只靠一个数据库管理系统远远不够,还要有专门的人员来完成,这些人被称为数据库管理员。
1.1.2 数据库管理技术的产生和发展
1. 人工管理阶段
①特点
(1)数据不保存
(2)应用程序管理数据
(3)数据不共享
(4)数据不具有独立性
2. 文件系统阶段
①优点
(1)数据可以长期保存
(2)由文件管理系统管理数据
②缺点
(1)数据共享性差,冗余度大
(2)数据独立性差
3 数据库系统阶段
用数据库系统来管理数据比较文件系统具有明显的优点,从文件系统到数据库系统标志着数据管理技术的飞跃。
1.1.3 数据库系统的特点
1.数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
在文件系统中,文件中的记录内部具有结构,但是记录的结构和记录之间的联系被固化在程序中,需要由程序员加以维护。这种模式既加重了程序员的负担,又不利于结构的变动。
所谓“整体”结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体式结构化的,数据之间是具有联系的。 也就是说,不仅要考虑某个应用的数据结构。
在数据库系统中,不仅数据是整体结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个或某一组数据项、一个记录或一组记录;而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。
2.数据的共享性高、冗余度低且易扩充
数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
所谓数据的不一致性是指同一数据不同副本的值不一样。采用人工管理或文件管理时,由于数据被重复存储,当不同的应用使用和修改不同的副本时就很容易造成数据的不一致。在数据库中数据共享减少了由于数据冗余造成的不一致现象。
由于数据面向整个系统,是由结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充, 可以适应各种用户的要求。可以选取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
3.数据独立性高
数据独立性 是借助数据库管理数据的一个显著优点,它已经成为数据库领