第07章 数据库技术——信息技术导论

课程:0A006 信息技术导论(北京大学,SQN 2008) 章节:第7章 数据库技术 原文件:第07章 数据库技术.ppt,约30+页

章节概述

本章是信息技术导论课程中的数据库入门章节,从最基础的数据库概念讲起,逐步深入到关系模型、数据库设计以及新一代数据库技术发展。全章分为三大节:

  1. 数据库与数据库管理系统(7.1)——基本概念、组成、特点、三级模式结构
  2. 关系模型与关系数据库(7.2)——从现实世界到数据世界的抽象、数据模型、关系模型核心概念、数据库设计
  3. 新一代数据库技术的发展(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 数据库系统的特点

  1. 可实现数据共享 —— 多用户同时存取
  2. 可减少数据冗余 —— 避免重复存储
  3. 在一定程度上可避免不相容 —— 数据一致性
  4. 可实施标准化 —— 统一数据格式与命名
  5. 可保证数据安全 —— 权限控制
  6. 可保证完整性 —— 数据正确、相容

7.1.4 数据库系统三级模式结构

从DBMS角度看,数据库系统采用三级模式结构:

模式层级别名描述
外模式用户模式数据库用户看到的视图模式;是局部数据的逻辑结构和特征描述,与某一应用有关
概念模式逻辑模式使用概念数据模型描述整个数据库的逻辑结构;隐藏物理存储细节,描述实体、数据类型、联系和用户操作
内模式存储模式数据库系统内部的表示;对数据的物理结构和存储方式的描述

三级模式之间通过两级映像(外模式/概念模式映像、概念模式/内模式映像)实现数据的逻辑独立性和物理独立性。

7.1.5 数据库系统研究的范围

三大领域:

  1. 数据库管理系统软件的研制 —— DBMS 本身的开发
  2. 数据库设计 —— 针对具体应用构建数据库模式
  3. 数据库理论 —— 关系理论、依赖理论等基础研究

7.1.6 数据库系统的结构类型

按应用与发展可分为:

  1. 单机结构 —— 单用户
  2. 集中式数据库系统结构 —— 主机+终端
  3. 客户机/服务器结构(C/S) —— 客户端与数据库服务器分离
  4. 浏览器/服务器结构(B/S) —— 三层架构:浏览器 → Web服务器 → 数据库服务器
  5. 多层结构 —— 更复杂的分布式分层架构

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模型
实施模型侧重于数据的表达方式和数据库结构的实现方法层次模型、网状模型、关系模型

数据模型的三要素

  1. 数据结构 —— 描述系统静态特性,研究对象类型的集合
  2. 数据操作 —— 描述系统动态特性,允许执行的操作集合
  3. 完整性约束 —— 一组完整性规则的集合,保证数据的正确性和相容性

7.2.3 关系模型的基本概念及性质

七个基本概念

概念对应日常概念说明
关系(Relation)表由行和列组成
关系名表名每个关系有一个名称
元组(Tuple)行表中每一行对应一个实体
属性(Attribute)列每一列对应实体的一个属性,有属性名
值域(Domain)取值范围每个属性的取值范围;不同属性的值域可以相同
主码(Primary Key)主键唯一标识元组的属性或属性组合;主属性不能为空(NULL)
外码(Foreign Key)外键一个表的主码放到另一个表中作为联系纽带

关系模型的四条性质

  1. 不允许存在完全相同的元组 —— 每行代表不同实体
  2. 元组的顺序无关紧要 —— 行可任意交换
  3. 各列属性值取自同一个域 —— 同一列分量性质相同
  4. 列的次序可任意交换 —— 但列不能重复

三种基本关系运算

  1. 选择(Selection) —— 从关系中选取满足条件的元组(水平方向筛选)
  2. 投影(Projection) —— 从关系中选取若干属性组成新的关系(垂直方向筛选)
  3. 连接(Join) —— 将两个关系按一定条件拼接成一个新的关系

7.2.4 关系数据库的发展与特点

三代数据库技术演进

层次数据库 → 网状数据库 → 关系数据库

围绕数据结构和数据模型的演变,经历了三个阶段。

关系数据库的五大特点

  1. 数据高度结构化
  2. 易于编制应用程序
  3. 数据独立性高
  4. 功能强大
  5. 理论基础深 —— 以关系代数/关系演算为数学基础

7.2.5 关系数据库设计

数据库设计是一项软件工程,必须遵循软件工程原理和方法。设计过程四步:

  1. 确定目的和收集数据 —— 需求分析阶段
  2. 建立概念模型 —— E-R图等概念设计
  3. 建立数据模型 —— 逻辑设计,转换为关系模式
  4. 实施与维护数据库 —— 物理实现、运行维护

7.2.6 关系数据库的发展动向

  1. 可移植性 —— 跨多机种、多操作系统
  2. 标准化 —— SQL 等标准统一
  3. 开发工具 —— 配套工具链完善
  4. 分布式功能 —— 支持分布式部署
  5. 开放性 —— 开放接口与标准
  6. 其他扩展 —— 多媒体管理能力、知识管理能力、工程管理能力

7.3 新一代数据库技术的发展

八大方向:

1. 分布式数据库

  • 物理上分布、逻辑上集中
  • 优点:性能良好、可扩充性好、可用性好

2. 面向对象数据库

  • 数据模型:对象、封装、对象标识符、类层次、子类、继承
  • DBMS管理:持久性对象、版本管理、方案进化、一致性维护、分散环境适应性
  • 访问界面:消息扫描、持久性程序设计语言、计算完备性

3. 多媒体数据库

  • 定义:能够管理数值、文字、表格、图形、图像、声音等多种媒体的数据库
  • 特点:支持多种媒体字段类型及用户自定义类型;支持定长/非定长数据集成管理;良好用户界面;支持多媒体特殊查询及处理接口

4. 模糊数据库

  • 解决模糊数据的表达和处理问题
  • 使数据库描述的模型更自然、更贴切地反映客观世界

5. 空间数据库(Spatial DataBase)

  • 空间数据:表示空间物体的位置、形状、大小和分布特征等信息
  • 特点:不仅包括物体本身的空间位置及状态信息,还包括物体的空间关系信息
  • 属性数据:非空间数据,描述空间物体的性质,进行语义定义

6. 工程数据库

  • 存储和管理各种工程设计图形和文档
  • 为工程设计(如CAD)提供服务

7. 数据仓库与数据挖掘

  • 数据仓库:把整个企业的数据(无论地理位置、格式和通信要求)集成在一起;将当前业务信息分离出来;可访问各种数据库
  • 数据挖掘:从大型数据库或数据仓库中发现并提取隐藏信息的新技术;目的是寻找数据间潜在关联,发现被忽略的要素;对预测趋势和决策行为有用

8. 基于XML的数据库

  • XML 本身不是数据库,是描述型标记语言
  • 与HTML同属SGML(标准通用标记语言,ISO-8879)的应用

其他新成员:智能数据库、知识数据库、演绎数据库等。


核心概念速查表

概念英文一句话定义
数据库DB结构化、关联的数据集合
数据库管理系统DBMS管理数据库的软件系统(描述/管理/维护)
数据库系统DBSDB + DBMS + 应用 + 用户的整体
数据库管理员DBA全面管理和控制数据库的人
外模式External Schema用户看到的视图
概念模式Conceptual Schema全局逻辑结构
内模式Internal Schema物理存储结构
实体Entity客观存在且可识别的事物
属性Attribute实体的特征
元组Tuple表中的一行
主码Primary Key唯一标识元组的属性/属性组
外码Foreign Key表间联系的纽带
关系模型Relational Model以二维表为基础的数据模型

关联笔记