第07章 数据库技术——信息技术导论
课程:0A006 信息技术导论(北京大学,SQN 2008) 章节:第7章 数据库技术 原文件:第07章 数据库技术.ppt,约30+页
章节概述
本章是信息技术导论课程中的数据库入门章节,从最基础的数据库概念讲起,逐步深入到关系模型、数据库设计以及新一代数据库技术发展。全章分为三大节:
- 数据库与数据库管理系统(7.1)——基本概念、组成、特点、三级模式结构
- 关系模型与关系数据库(7.2)——从现实世界到数据世界的抽象、数据模型、关系模型核心概念、数据库设计
- 新一代数据库技术的发展(7.3)——分布式、面向对象、多媒体、模糊、空间、工程、数据仓库与挖掘、XML数据库等8个方向
7.1 数据库与数据库管理系统
7.1.1 身边的数据库应用
- 超级市场购物(商品库存、销售记录)
- 信用卡消费(交易记录、账户余额)
- 图书馆系统(书目、借阅记录)
- 学籍管理(学生信息、成绩)
- 基于网络的数据库(电商、社交网络等)
7.1.2 数据库系统的组成
数据库系统(DBS, Data Base System)是以计算机为基础的记录保持系统,主要由四部分组成:
| 组成部分 | 说明 |
|---|---|
| 数据库(Data Base) | 以一定结构存储在一起、相互关联的结构化数据集合;不仅存数据,还存数据之间的关系;通常多个库,每库由若干张表(Table)组成 |
| 数据库管理系统(DBMS) | 三大功能:描述数据库(逻辑/存储结构、语义、保密)、管理数据库(运行控制、并发、安全/完整/保密、增删改查)、维护数据库(初始装入、日志、性能监视、重组、恢复) |
| 数据库应用系统 | 程序员根据用户需要在 DBMS 支持下开发的应用系统 |
| 数据库用户 | 多种角色,承担不同任务 |
四类数据库用户
| 用户角色 | 职责 |
|---|---|
| 终端用户 | 操作应用系统,通过UI使用数据库;模式结构对其透明 |
| 应用程序员 | 编制应用程序,操作数据库;DBMS映像功能使其不必考虑存储细节 |
| 系统分析员 | 负责需求分析与规范说明,参与系统软硬件配置与各级模式概要设计 |
| 数据库管理员(DBA) | 全面管理和控制数据库系统;其素质决定数据库应用水平,是最重要的人员 |
7.1.3 数据库系统的特点
- 可实现数据共享 —— 多用户同时存取
- 可减少数据冗余 —— 避免重复存储
- 在一定程度上可避免不相容 —— 数据一致性
- 可实施标准化 —— 统一数据格式与命名
- 可保证数据安全 —— 权限控制
- 可保证完整性 —— 数据正确、相容
7.1.4 数据库系统三级模式结构
从DBMS角度看,数据库系统采用三级模式结构:
| 模式层级 | 别名 | 描述 |
|---|---|---|
| 外模式 | 用户模式 | 数据库用户看到的视图模式;是局部数据的逻辑结构和特征描述,与某一应用有关 |
| 概念模式 | 逻辑模式 | 使用概念数据模型描述整个数据库的逻辑结构;隐藏物理存储细节,描述实体、数据类型、联系和用户操作 |
| 内模式 | 存储模式 | 数据库系统内部的表示;对数据的物理结构和存储方式的描述 |
三级模式之间通过两级映像(外模式/概念模式映像、概念模式/内模式映像)实现数据的逻辑独立性和物理独立性。
7.1.5 数据库系统研究的范围
三大领域:
- 数据库管理系统软件的研制 —— DBMS 本身的开发
- 数据库设计 —— 针对具体应用构建数据库模式
- 数据库理论 —— 关系理论、依赖理论等基础研究
7.1.6 数据库系统的结构类型
按应用与发展可分为:
- 单机结构 —— 单用户
- 集中式数据库系统结构 —— 主机+终端
- 客户机/服务器结构(C/S) —— 客户端与数据库服务器分离
- 浏览器/服务器结构(B/S) —— 三层架构:浏览器 → Web服务器 → 数据库服务器
- 多层结构 —— 更复杂的分布式分层架构
7.2 关系模型与关系数据库
7.2.1 从现实世界到数据世界
数据建模是一个三层抽象过程:
现实世界 → 概念世界(信息世界) → 数据世界(机器世界)
| 层级 | 术语对应 | 说明 |
|---|---|---|
| 现实世界 | 个体、全体 | 客观存在且可识别的事物称为个体(具体或抽象);相同特征个体的集合称为”全体” |
| 概念世界 | 实体(Entity)、属性(Attribute)、联系(Relationship) | 现实世界经选择、命名、分类等抽象过程产生概念模型;最常见的是实体-联系(E-R)模型 |
| 数据世界 | 记录、数据项/字段、文件 | 实体 → 记录;属性 → 数据项/字段;实体集 → 文件 |
实体间的三种联系
- 一对一(1:1) —— 一个实体对应另一个实体集中的一个实体
- 一对多(1:n) —— 一个实体对应另一个实体集中的多个实体
- 多对多(m:n) —— 两个实体集之间互相多对多
7.2.2 数据模型
- 模型(Model):对客观世界复杂对象的抽象描述;抽象过程叫建模(Modeling)
- 数据模型(data model):数据库系统中用于提供信息表示和操作手段的形式构架
数据模型的两个级别
| 级别 | 说明 | 典型代表 |
|---|---|---|
| 概念模型 | 按用户观点对数据建模,表示数据的逻辑特性(实体/属性/联系) | E-R模型 |
| 实施模型 | 侧重于数据的表达方式和数据库结构的实现方法 | 层次模型、网状模型、关系模型 |
数据模型的三要素
- 数据结构 —— 描述系统静态特性,研究对象类型的集合
- 数据操作 —— 描述系统动态特性,允许执行的操作集合
- 完整性约束 —— 一组完整性规则的集合,保证数据的正确性和相容性
7.2.3 关系模型的基本概念及性质
七个基本概念
| 概念 | 对应日常概念 | 说明 |
|---|---|---|
| 关系(Relation) | 表 | 由行和列组成 |
| 关系名 | 表名 | 每个关系有一个名称 |
| 元组(Tuple) | 行 | 表中每一行对应一个实体 |
| 属性(Attribute) | 列 | 每一列对应实体的一个属性,有属性名 |
| 值域(Domain) | 取值范围 | 每个属性的取值范围;不同属性的值域可以相同 |
| 主码(Primary Key) | 主键 | 唯一标识元组的属性或属性组合;主属性不能为空(NULL) |
| 外码(Foreign Key) | 外键 | 一个表的主码放到另一个表中作为联系纽带 |
关系模型的四条性质
- 不允许存在完全相同的元组 —— 每行代表不同实体
- 元组的顺序无关紧要 —— 行可任意交换
- 各列属性值取自同一个域 —— 同一列分量性质相同
- 列的次序可任意交换 —— 但列不能重复
三种基本关系运算
- 选择(Selection) —— 从关系中选取满足条件的元组(水平方向筛选)
- 投影(Projection) —— 从关系中选取若干属性组成新的关系(垂直方向筛选)
- 连接(Join) —— 将两个关系按一定条件拼接成一个新的关系
7.2.4 关系数据库的发展与特点
三代数据库技术演进
层次数据库 → 网状数据库 → 关系数据库
围绕数据结构和数据模型的演变,经历了三个阶段。
关系数据库的五大特点
- 数据高度结构化
- 易于编制应用程序
- 数据独立性高
- 功能强大
- 理论基础深 —— 以关系代数/关系演算为数学基础
7.2.5 关系数据库设计
数据库设计是一项软件工程,必须遵循软件工程原理和方法。设计过程四步:
- 确定目的和收集数据 —— 需求分析阶段
- 建立概念模型 —— E-R图等概念设计
- 建立数据模型 —— 逻辑设计,转换为关系模式
- 实施与维护数据库 —— 物理实现、运行维护
7.2.6 关系数据库的发展动向
- 可移植性 —— 跨多机种、多操作系统
- 标准化 —— SQL 等标准统一
- 开发工具 —— 配套工具链完善
- 分布式功能 —— 支持分布式部署
- 开放性 —— 开放接口与标准
- 其他扩展 —— 多媒体管理能力、知识管理能力、工程管理能力
7.3 新一代数据库技术的发展
八大方向:
1. 分布式数据库
- 物理上分布、逻辑上集中
- 优点:性能良好、可扩充性好、可用性好
2. 面向对象数据库
- 数据模型:对象、封装、对象标识符、类层次、子类、继承
- DBMS管理:持久性对象、版本管理、方案进化、一致性维护、分散环境适应性
- 访问界面:消息扫描、持久性程序设计语言、计算完备性
3. 多媒体数据库
- 定义:能够管理数值、文字、表格、图形、图像、声音等多种媒体的数据库
- 特点:支持多种媒体字段类型及用户自定义类型;支持定长/非定长数据集成管理;良好用户界面;支持多媒体特殊查询及处理接口
4. 模糊数据库
- 解决模糊数据的表达和处理问题
- 使数据库描述的模型更自然、更贴切地反映客观世界
5. 空间数据库(Spatial DataBase)
- 空间数据:表示空间物体的位置、形状、大小和分布特征等信息
- 特点:不仅包括物体本身的空间位置及状态信息,还包括物体的空间关系信息
- 属性数据:非空间数据,描述空间物体的性质,进行语义定义
6. 工程数据库
- 存储和管理各种工程设计图形和文档
- 为工程设计(如CAD)提供服务
7. 数据仓库与数据挖掘
- 数据仓库:把整个企业的数据(无论地理位置、格式和通信要求)集成在一起;将当前业务信息分离出来;可访问各种数据库
- 数据挖掘:从大型数据库或数据仓库中发现并提取隐藏信息的新技术;目的是寻找数据间潜在关联,发现被忽略的要素;对预测趋势和决策行为有用
8. 基于XML的数据库
- XML 本身不是数据库,是描述型标记语言
- 与HTML同属SGML(标准通用标记语言,ISO-8879)的应用
其他新成员:智能数据库、知识数据库、演绎数据库等。
核心概念速查表
| 概念 | 英文 | 一句话定义 |
|---|---|---|
| 数据库 | DB | 结构化、关联的数据集合 |
| 数据库管理系统 | DBMS | 管理数据库的软件系统(描述/管理/维护) |
| 数据库系统 | DBS | DB + DBMS + 应用 + 用户的整体 |
| 数据库管理员 | DBA | 全面管理和控制数据库的人 |
| 外模式 | External Schema | 用户看到的视图 |
| 概念模式 | Conceptual Schema | 全局逻辑结构 |
| 内模式 | Internal Schema | 物理存储结构 |
| 实体 | Entity | 客观存在且可识别的事物 |
| 属性 | Attribute | 实体的特征 |
| 元组 | Tuple | 表中的一行 |
| 主码 | Primary Key | 唯一标识元组的属性/属性组 |
| 外码 | Foreign Key | 表间联系的纽带 |
| 关系模型 | Relational Model | 以二维表为基础的数据模型 |
关联笔记
- 《数据库系统概念》 —— 数据库系统经典教材
- 《深入理解计算机系统》-CSAPP-第3版-Bryant-O-Hallaron —— 系统级视角的计算机知识
- 数据库设计与实践课程(0A102)— chap02 ER模型 / chap03 关系模型 / chap04 SQL / chap07 关系规范化 / chap09 事务 / chap10 性能调优
- FCS 3.1 流式细胞术数据文件标准 —— 特定领域的数据格式标准
- Gating-ML 2.0 - 流式细胞仪门控描述XML标准 —— 特定领域的XML数据标准