本系列为《数据库系统原理与应用(刘先锋等著)》的读书笔记。
一,数据库的概念
- 数据库定义:
数据库(DB)
是长期保存在计算机的存储设备上并按照某种模型组织起来的,可以被各种用户或应用共享的数据集合。 - 数据库分类:
关系数据库
,层次数据库
,网状数据库
. - 数据库基本特征:
1)具有较高的数据独立性;数据独立性
是指数据的组织方法和储存方法与应用程序互不依赖,彼此独立的特性,包括物理独立性
和逻辑独立性
。
2)数据库用综合的方法组织数据,保证尽可能高的访问效率;
3)具有较小的数据冗余,可以供多个用户共享;
4)具有安全控制机制,能够保证数据的安全,可靠;
5)数据允许多用户共享,能够有效,及时地处理数据,并能够保证数据的一致性和完整性。
二,数据库管理系统(DBMS
)
DBMS的定义:
DBMS
是位于用户与操作系统之间的数据管理软件
,数据库在建立,运用和维护时由数据库管理系统统一管理,控制。DBMS的目标:
1)用户界面友好;
2)功能完备;
3)效率高,DBMS应该具有较高的系统效率和高的用户生产率,其中系统效率包括:(1)计算机内部资源的利用率,即能够充分利用磁盘空间,CPU,设备等资源,并注意使各种资源的负载均衡以提高整个系统的效率;
(2)DBMS本身的运行效率,根据系统目标确定恰当的体系结构,数据结构和算法,保证DBMS运行的高效率;用户生产率
是指用户设计和开发应用程序的效率;4)结构清晰:DBMS内部结构清新,层次分明既便于支持其外层开发环境的构造,也便于自身的设计、开发与维护;
5)开放性:DBMS的开放性是指符合标准和规范,如ODBC标准
,SQL标准
等。DBMS的基本功能:
1)数据库定义功能:
DDL
可以定义数据库中数据之间的联系,可以定义数据的完整性约束条件和保证完整性的触发机制等,包括全局逻辑数据结构(模式)的定义,局部逻辑数据结构(外模式)的定义,保密定义等;
2)数据库操纵功能:DML
可以接收,分析和执行用户提出的访问数据库的各种要求,完成对数据库的各种基本操作,如对数据库的检索,插入,删除和修改等操作,可以重新组织数据的存储结构,可以完成数据库的备份和恢复等操作;
3)数据库的控制功能:DCL
包括整个数据库系统的运行控制,数据库的完整性控制,数据库的安全性控制及多用户环境下的数据库并发访问控制等;
4)数据库的运行管理功能:指DBMS
运行机制和管理功能;
5)数据库组织和存储管理功能
6)数据库的建立和维护功能
7)数据库通信功能DBMS的组成:
1)数据库定义语言及其翻译程序:
DDL
用于描述数据库中要存储的现实世界实体的语言,包括数据字典中数据库的逻辑结构,完整性约束,物理存储结构的表述,数据库的各种数据操作和数据库的维护管理的各种依据。包括:
模式DDL
:定义全局逻辑数据结构(包括所有字段的名称,特征及其相互关系),数据的完整性,安全性约束;外模式DDL
:为用户定义所用的局部逻辑数据结构(包括与用户的应用程序有关的字段名称,特征及其相互关系),描述外模式到模式之间的映射关系;内模式DDL
:用于描述数据在存储介质上的安排和存放方式,描述模式到内模式之间的映射关系;
2)数据库操纵语言及其编译(或解释)程序:
DML
用于实现对数据库的一些基本操作,如数据检索,数据插入,数据修改和数据删除,其中数据插入,数据修改和数据删除操作又称为数据更新操作
。分为:
宿主型DML
:本身不能独立使用,必须嵌入到宿主语言中,如C
,COLBOL
,PASCAL
等,因此也称嵌入型DML
,仅负责对数据库数据的操纵,其他工作都由宿主语言完成;自主型DML
,又称自含型DML
,可以独立进行数据查询,数据更新等操作,语法简单,使用方便,适合终端用户使用;
3)数据库运行控制程序:包括系统初启程序(DBMS
的神经中枢
),访问控制程序,安全性控制程序,完整性检查程序,并发控制程序,数据存取/更新程序,通信控制程序;
4)数据库服务实用程序:包括数据装入程序,工作日志程序,性能监督程序,数据库重新组织程序,系统恢复程序,转储/编辑/打印程序。
数据库管理与数据库管理员(
DBA
):1)
DBA
:从事数据库管理工作的人员,不是数据库的“占有者”,而是数据库的“保护者”。
2)DBA
职责- 在数据库设计开始之前,
DBA
首先调查数据库的用户需求。 - 在数据库设计阶段,
DBA
要负责数据库标准的制定和功用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全,可靠方面的设计,决定文件组织的方法。 - 在数据库运行阶段,
DBA
要负责对用户进行数据库方面的培训,负责数据库的转储和恢复,数据维护,用户的使用权限等,负责监控数据库的性能。
- 在数据库设计开始之前,
三,数据库系统(DBS
)
- DBS定义:指在计算机系统中引入数据库后的系统构成,一般由
数据库
,数据库系统运行环境
,数据库管理系统及其开发工具
,数据库管理员
和用户
组成。 数据库系统的三级模式结构:
1)模式定义:数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,而不涉及具体的值。
2)三级模式结构:外模式
:也称子模式
或者用户模式
,是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库的用户视图,是和某个应用相关的数据逻辑表示;一个数据库可以有多个外模式;模式
:也称逻辑模式
,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图,是数据库的整个逻辑描述,并说明一个数据库所采用的数据模型;一个数据库只有一个模式;内模式
:也称存储模式
,是数据物理结构和存储方式的描述,是数据库的内部表示方式;一个数据库只有一个内模式。
二级映像功能和数据独立性:
1)外模式/模式映像:当模式改变时,DBA
对各个外模式/模式的映像做出相应改变,使外模式保持不变,从而使应用程序不改变,保证了数据的逻辑独立性
;
2)模式/内模式映像:唯一定义了数据全局逻辑结构和存储方式之间的对应关系。当数据库的存储方式改变时,DBA
将对模式/内模式映像做出相应的改变,使模式保持不变,从而保证了数据的物理独立性
。数据库系统的体系结构:
1)单用户结构
的数据库系统:最早最简单,不能共享数据;
2)主从式结构
的数据库系统:结构简单,数据易于维护维护和管理,但系统的可靠性不高;
3)分布式结构
的数据库系统:数据在逻辑上上一个整体,但是分布在计算机网络的不同结点上。
4)客户端/服务器结构
的数据库系统数据库系统的工作流程:
1)DBA
建立并维护数据库;
2)用户编写应用程序;
3)应用程序在DBMS
支持下运行,在模式,外模式,内模式,用户源程序翻译为目标代码后,即可启动目标程序。
四,数据库的发展
人工管理阶段:
1)特点:数据不保存;应用程序管理数据;数据不共享;数据不具有独立性。文件系统阶段:
1)优点:数据可以长期保存;有专门的软件即文件系统管理数据,文件系统把数据组织成相互独立的数据文件;文件的形式多样化;
2)缺点:数据共享性差,冗余度大;数据独立性差;数据联系弱。数据库系统阶段
数据库技术的研究,应用领域和发展方向
- 数据模型
- 数据库管理系统软件的研制
- 数据操作
- 数据库理论:主要集中在关系的规范化理论,关系数据理论等。
代表性的数据库应用领域和发展方向:
- 因特网上的Web数据库
- 面向对象数据库
- 多媒体数据库
并行数据库
人工智能领域的知识库和主动数据库
模糊数据库系统