1.1 什么是数据库
1.1.1 数据(Data)
数据的定义:描述事物的符号记录,是数据库中存储的基本对象;
数据的种类:文本、图形、图像、音频、视频、学生的档案记录、 货物的运输情况等;
数据的特点:数据的含义称为数据的语义,数据与其语义是不可分的。
1.1.2 数据库(DB)
数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小; 数据独立性较高;易扩展。
1.1.3 数据库管理系统(DBMS)
DBMS(Database Management System):位于用户与操作系统之间的一层数据管理软件,是专门用于实现对数据进行管理和维护的系统软件
DBMS的功能:科学地组织和存储数据、高效地获取和维护数据
常用的DBMS:ACCESS、MySQL、ORACLE、SQL SERVER(2000,2005,2008,2012,2016,2017)
1.1.4 数据库系统(DBS)
什么是数据库系统(Database System,DBS):在计算机系统中引入数据库后的系统构成;一个数据库系统是一个实际可运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的系统,它是存储介质、处理对象和管理系统的集合体。
在不引起混淆的情况下一般把数据库系统简称为数据库。
1.2 数据管理技术的产生和发展
数据管理和数据处理
数据管理:数据管理是指对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
数据处理:数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
数据管理技术的发展过程
人工管理阶段(20世纪40年代中——50年代中)
文件系统阶段(20世纪50年代末——60年代中)
数据库系统阶段(20世纪60年代末——现在)
新一代数据库管理系统(20世界90年代——未来)
1.2.1 人工管理阶段
时期:20世纪40年代中——50年代中
产生的背景
应用需求:科学计算
硬件水平:无直接存取存储设备
软件水平:没有操作系统
处理方式:批处理
对应关系图
特点
数据的管理者:用户(程序员),数据不保存
数据面向的对象:某一应用程序
数据的共享程度:无共享、冗余度极大
数据的独立性:不独立,完全依赖于程序
数据的结构化:无结构
数据控制能力:应用程序自己控制
1.2.2 文件系统阶段
时期:20世纪50年代末——60年代中
产生的背景:
应用需求——科学计算、管理
硬件水平——磁盘、磁鼓
软件水平——有文件系统
处理方式——批处理、联机实时处理
对应关系图
特点
数据的管理者:文件系统,数据可长期保存
数据面向的对象:某一应用程序
数据的共享程度:共享性差、冗余度大
数据的结构化:记录内有结构,整体无结构
数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序
数据控制能力:应用程序自己控制
缺点
数据共享性差,冗余度大
数据独立性差
1.2.3 数据库系统阶段
时期:20世纪60年代末以来
产生的背景
应用背景——大规模管理
硬件背景——大容量磁盘、磁盘阵列
软件背景——有数据库管理系统
处理方式——联机实时处理 , 分布处理 ,批处理
对应关系图
1.2.4 新一代数据库系统
分布式数据库:数据分布在网络上,但逻辑上属于同一个系统
空间数据库:主要描述、存储和处理空间数据及其属性
NoSQL数据库
面向对象数据库
信息存储与检索:如数字图书馆等
数据挖掘与数据仓库
1.3 数据库系统的组成
最基本组成部分:数据库、数据库管理系统(及其开发工具)、应用系统(硬件及软件环境)
核心——数据库管理系统DBMS
1.3.1 数据库系统的硬件
由于数据库中的数据量一般都比较大,而且DBMS具有的丰富的功能,使得其自身的规模很大,整个数据库系统对硬件资源的要求很高。 要有足够大的内存,用来存放操作系统、数据库管理系统、数据缓冲区和应用程序。 要有足够大的硬盘空间存放数据库,最好还要有足够的存放备份数据的磁盘。
1.3.2 数据库系统的软件
DBMS(数据库管理系统)
OS(操作系统)
具有数据库访问接口的高级语言及其编程环境,以便开发应用程序
实用工具,这些实用工具以DBMS为核心,一般是数据库厂商提供的、随DBMS软件一起发行
1.3.3 数据库系统中包含的人员
数据库管理员DBA
系统分析人员
数据库设计人员
应用程序编写人员
最终用户
1.4 数据库系统的特点
1.4.1 数据结构化
整体数据的结构化是数据库的主要特征之一
整体结构化:
不再仅仅针对某一个应用,而是面向全组织;
不仅数据内部结构化,整体是结构化的,数据之间具有联系;
数据库中实现的是数据的真正结构化:
数据的结构用数据模型描述,无需程序定义和解释
数据可以变长
数据的最小存取单位是数据项
1.4.2 数据的共享性高,冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享的好处:
减少数据冗余,节约存储空间
避免数据之间的不相容性与不一致性
使系统易于扩充
1.4.3 数据独立性高
物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映像功能来保证的。
1.4.4 数据由DBMS统一管理和控制
DBMS提供的数据控制功能
数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏
数据的完整性(Integrity)检查:将数据控制在有效范围内,或保证数据间满足一定关系。
并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态。