1.1 数据库系统概述
1.1.1 数据库的4个基本概念
- 数据(data)
- 定义:描述事物的符号记录称为数据。
数据有多种表现形式,例如数字、文字、图形、图像、音视频等; - 数据需要进行解释,数据的解释是对数据含义的说明,称为语义。
- 定义:描述事物的符号记录称为数据。
- 数据库(DataBase,DB)
- 定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
- 数据库中的数据按照一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
- 数据库管理系统(DataBase Management System, DBMS)
- 定义:数据库管理系统是位于用户和操作系统之间的一层数据管理软件,是计算机的基础软件。
- 数据库管理系统的主要功能有:
(1)数据定义功能:提供数据定义语言(DDL)。
(2)数据组织、存储和管理:基本目标是提高存储空间利用率和方便存取。
(3)数据操纵功能:提供数据操纵语言(DML)。
(4)数据库的事务管理和运行管理。
(5)数据库的建立和维护功能。
(6)其他功能:通信、数据转换等。
- 数据库系统(DataBase System, DBS)
- 定义:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
- 数据库系统表示如下图:
1.1.2 数据管理技术的产生和发展
- 人工管理阶段
- 特点:数据不保存、应用程序管理数据、数据不共享、数据不具有独立性。
- 文件系统阶段
- 特点:数据可以长期保存、由文件系统管理数据。
- 缺点:数据共享性差、冗余度大,数据独立性差。
- 数据库系统阶段
具体内容见1.1.3。
- 数据管理三个阶段的比较如下表:
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 无操作系统 | 有文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据面向的对象 | 某一应用程序 | 某一应用 | 现实世界 |
数据的共享程度 | 无共享,冗余度极大 | 共享性差,冗余度大 | 共享度高,冗余度小 |
数据的独立性 | 不独立 | 独立性差 | 高度的物理独立性和一定的逻辑独立性 |
数据的结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
1.1.3 数据库系统的特点
- 数据结构化
- 数据库系统实现整体数据的结构化是数据库系统与文件系统的本质区别。
- 数据的共享性高、冗余度低且易扩充
- 数据共享可以大大减少数据冗余,节约存储空间,还能避免数据间的不相容性与不一致性。
- 数据面向整个系统,具有结构,可以共享,容易增加新应用,所以弹性大,易于扩充。
- 数据独立性高
- 数据独立性包括物理独立性和逻辑独立性。
(1)物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。
(2)逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。
- 数据独立性包括物理独立性和逻辑独立性。
- 数据由数据库管理系统统一管理和控制
- 数据库管理系统提供以下几方面的数据控制功能:
(1)数据的安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏。
(2)数据的完整性检查:数据完整性指数据正确性、有效性和相容性。
(3)并发控制。
(4)数据库恢复。
- 数据库管理系统提供以下几方面的数据控制功能:
1.2 数据模型
- 定义:数据模型是对现实世界数据特征的抽象,是数据库系统的核心和基础。
1.2.1 两类数据模型
- 概念模型(信息模型)
- 逻辑模型和物理模型
主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。
1.2.2 概念模型
- 信息世界中的基本概念
(1)实体:客观存在并可相互区别的事物。
(2)属性:实体所具有的某一特性。
(3)码:唯一标识实体的属性集。
(4)实体型:用实体名及其属性名集合来抽象和刻画同类实体。
(5)实体集:同一类型实体的集合。
(6)联系:实体间联系是指不同实体集间的联系,有一对一、一对多和多对多等多种类型。 - 概念模型的一种表示方法:实体-联系方法,E-R方法也称为E-R模型。
1.2.3 数据模型的组成要素
- 数据模型=数据结构+数据操作+数据的完整性约束条件。
- 数据结构
数据结构描述数据库的组成对象及对象之间的联系,是对系统静态特性的描述。 - 数据操作
数据操作是指数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 - 数据的完整性约束条件
数据的完整性约束条件是一组完整性规则。
1.4 数据库系统的组成
- 硬件平台及数据库
要求:①足够大的内存 ②足够大的磁盘或磁盘阵列,足够大的磁带或光盘 ③系统有超高的通道能力 - 软件
软件主要包括:
(1)数据库管理系统
(2)支持数据库管理系统运行的操作系统
(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序
(4)以数据库管理系统为核心的应用开发工具
(5)为特定应用环境开发的数据库应用系统 - 人员
主要包括:
(1)数据库管理员(DBA)
① 决定数据库中的信息内容和结构
② 决定数据库的存储结构和存取策略
③ 定义数据的安全性要求和完整性约束条件
④ 监控数据库的使用和运行
⑤ 数据库的改进和重组、重构
(2)系统分析员和数据库设计人员
(3)应用程序员
(4)用户
① 偶然用户
② 简单用户
③ 复杂用户