1.1 数据库系统概述
1.1.1 数据库的4个基本概念
数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的4个基本概念。
01数据(data)
(1)定义
数据是数据库中存储的基本对象。
(2)数据的定义
描述事物的符号记录称为数据。
(3)数据的种类
文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等,这些都是数据。
(4)数据的特点
数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义的不可分的。
数据是有结构的。记录是计算机中表示和存储数据的一种格式和一种方法。
02数据库(DataBase,DB)
(1)定义
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
(2)数据库的基本特征
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。
概括地讲,数据库数据具有永久存储、有组织和可共享三个基本特点。
03数据库管理系统(DataBase Management System,DBMS)
(1)定义
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
(2)用途
科学地组织和存储数据、高效地获取和维护数据。
(3)数据库管理系统的主要功能
①数据定义功能
提供数据定义语言(Data Definition Language,DDL)
定义数据库中的数据对象的组成与结构
②数据组织、存储和管理
分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。
确定在存储级上组织数据的文件结构和存取方式
实现数据之间的联系
提供多种存取方法(如索引查找、hash查找、顺序查找等)来提高存取效率
③数据操纵功能
提供数据操纵语言(Data Manipulation Language,DML)
实现对数据库的基本操作,如查询、插入、删除和修改等
④数据库的事务管理和运行管理
数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行
保证数据的安全性、完整性、多用户对数据的并发使用
发生故障后的系统恢复
⑤数据库的建立与维护功能
数据库初试数据的输入、转换功能
数据库的转储、恢复功能
数据库的重组织功能
性能监视、分析功能
⑥其他功能
数据库管理系统与网络中其他软件系统的通信功能
两个数据库管理系统或者文件系统的数据转换功能
异构数据库之间的互访和互操作功能
04数据库系统(DataBase System,DBS)
(1)定义
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。
在一般不引起混淆的情况下,人们通常把数据库系统简称为数据库。
(2)数据库管理员
数据库的建立、使用和维护等工作只能靠一个数据库管理系统远远不够,还要有专门的人员来完成,这些人被称为数据库管理员。
图1 数据库系统
1.1.2 数据管理技术的产生与发展01数据管理的定义
数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
02数据管理技术的发展过程
人工管理阶段(20世纪50年代中之前)
文件系统阶段(20世纪50年代末—60年代中)
数据库系统阶段(20世纪60年代末—现在)
人工管理阶段 |
文件系统阶段 |
数据库系统阶段 |
||
背景 |
应用背景 |
科学计算 |
科学计算、数据管理 |
大规模数据管理 |
硬件背景 |
无直接存取存储设备 |
磁盘、磁鼓 |
大容量磁盘、磁盘阵列 |
|
软件背景 |
无操作系统 |
有文件系统 |
有数据库管理系统 |
|
处理方式 |
批处理 |
联机实时处理、批处理 |
联机实时处理、分布处理、批处理 |
|
特点 |
数据的管理者 |
用户(程序员) |
文件系统 |
数据库管理系统 |
数据面向的对象 |
某一应用程序 |
某一应用 |
现实世界(一个部门、企业、跨国组织等) |
|
数据的共享程度 |
无共享,冗余度极大 |
共享性差、冗余度大 |
共享性高、冗余度小 |
|
数据的独立性 |
不独立,完全依赖于程序 |
独立性差 |
具有高度的物理独立性和一定逻辑独立性 |
|
数据的结构化 |
无结构 |
记录内有结构、整体无结构 |
整体结构化,用数据模型描述 |
|
数据控制能力 |
应用程序自己控制 |
应用程序自己控制 |
由DBMS提供数据安全性、完整性、并发控制和恢复能力 |
1.1.3 数据库系统的特点01数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
整体结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的。
02数据的共享性高、冗余度低且易扩充
数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享可以大大减少数据冗余,节约存储空间。数据共享还能避免数据之间的不相容性与不一致性,并且能使得数据库系统弹性大,易于扩充。
03数据独立性高
物理独立性指用户的应用程序与数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
数据独立性是由数据库管理系统提供的二级映像功能来保证的。
04 数据由数据库管理系统统一管理和控制
(1)数据的安全性(security)保护
保护数据以防止不合法的使用造成的数据的泄密和破坏。
(2)数据的完整性(Integrity)检查
保证数据的正确性、有效性和相容性。
(3)并发(Concurrency)控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
(4)数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态。
图2 数据库系统阶段应用程序与数据之间的对应关系
综上所述,数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。