数据库的4个基本概念
-
数据:是数据库中存储的基本对象
- 定义:描述事物的符号记录
- 种类:数字、文字、图形、图像、音频、视频等多种形式
- 数据的含义称为数据的语义,数据与其语义是不可分的
-
数据库(DB)
- 是长期存储在计算机内、有组织的,可共享的大量数据的集合
- 基本特征:
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
-
数据库管理系统(DBMS)
-
位于用户与操作系统之间的一层数据管理软件
-
是基础软件是一个大型复杂的软件系统
-
主要功能
-
-
数据定义功能
- 提供数据定义语言
- 定义数据库中的数据对象
-
数据组织、存储和管理
- 分类组织、存储和管理各种数据
- 确定组织数据的文件结构和存取方式
- 实现数据之间的联系
- 提供多种存取方法提高存取效率
-
数据操纵功能
- 提供数据操作语言
- 实现对数据库的基本操作(查询、插入、删除和修改)
-
数据库的事务管理和运行管理
- 数据库在建立、运行和维护时由数据库管理系统统一管理和控制
- 保证数据的安全性、完整性、多用户对数据的并发使用
- 发生故障后的系统恢复
-
数据库的建立和维护功能
- 数据库初始数据的装载和转换
- 数据库转储、恢复功能
- 数据库的重组织(性能变差,重新安排记录的存储等)
- 性能监视、分析等
-
其他功能
- 数据库管理系统与网络中其它软件系统的通信
- 数据库管理系统系统之间的数据转换
- 异构数据库之间的采访和互操作
- 数据库系统
- 凡使用数据库技术管理数据的软件系统都称为数据库(应用)系统
- 构成:数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员
数据管理技术的产生和发展
-
数据管理是指对数据进行分类、组织、编码、存储、检索和维护,数据处理的中心问题
-
发展动力
- 应用需求的推动
- 计算机硬件的发展
- 计算机软件的发展
-
数据管理三个阶段的比较
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 没有操作系统 | 有文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据的管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据面向的对象 | 某一应用程序 | 某一应用 | 现实世界(一个部门、企业、跨国组织等) |
数据的共享程度 | 无共享,冗余度极大 | 共享性差,冗余度大 | 共享性高,冗余度小 |
数据的独立性 | 不独立,完全依赖于程序 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据的结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
数据不保存 | 可长期保存 |
数据库系统的特点
数据结构化
-
数据的整体结构化是数据库的主要特征之一
-
整体结构化
- 不再仅仅针对某一个应用,而是面向全组织
- 不仅数据内部结构化,整体是结构化的,数据之间具有联系
- 数据记录可以***变长***
- 数据的最小存取单位是***数据项***
数据的用***数据模型***描述,无需应用程序定义
数据的共享性高,冗余度低且易扩充
- 数据***面向整个系统***,可以被多个用户、多个应用共享使用
- 数据共享的好处
- 减少数据冗余,节约存储空间
- 避免数据之间的不相容性与不一致性
- 使系统易于扩充
数据独立性高
- 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变
- 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变
- 数据独立性:由数据库管控系统的二级映像功能来保证
数据由数据管理系统统一管理和控制
-
数据库管理系统提供的数据控制功能
-
数据的安全性保护
保护数据以防止不合法的使用造成的数据的泄密和破坏
-
数据的完整性检查
保证数据的正确性、有效性和相容性
-
并发控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果
-
数据库恢复
将数据库从错误状态恢复到某一已知的正确状态
-
小结
- 数据库是长期存储在计算机内有组织的大量的共享的数据集合
- 可以供各种用户共享,具有最小冗余度和较高的数据独立性
- 数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复