数据库原理 | 1. 概述
思维导图
- 概述
- 数据库概述
- 数据库的重要性
- 数据库是什么
- 数据
- 数据库
- 数据库管理系统
- 数据库系统
- 数据库的来历
- 数据库系统的特点
- 数据模型
- 信息世界的概念模型
- 基本概念
- 概念模型
- 机器世界的数据模型
- 数据模型
- 数据模型的三要素
- 类别
- 层次模型
- 网状模型
- 关系模型
- 关系模型的基本概念
- 数据库系统结构
- 数据库系统模式的概念
- 数据库系统的三级模式结构
- 模式
- 外模式
- 内模式
- 数据库的二级映像功能与数据独立性
- 三级模式与二级映像
- 外模式/模式映像
- 模式/内模式映像
数据库概述
数据库的重要性
如果把计算机分为如下几个层次:
- 软件产品
- 应用软件平台——协同软件、办公软件……
- 软件基础构架平台——中间件、应用基础服务器……
- 基础软件平台——数据库系统、操作系统……
- 硬件平台
因此数据库系统的地位与操作系统相当。
- 数据库技术产生于六十年代末,是数据管理的有效技术,是计算机科学的重要分支
- 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透
- 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志
数据库是什么
引入下列四个名词:
- 数据 Data
- 数据库 DataBase
- 数据库管理系统 DBMS
- 数据库系统 DBS
数据
数据(Data) 是数据库中存储的基本对象。
- 定义:描述事物的符号记录
- 种类:数字、文字、图形、图像、声音
- 特点:与其语义是不可分的
对于其特点,举一个例子:
学生档案中有一个学生记录record
(李明,男,199605,浙江省杭州市,计算机科学与技术专业,2014)
数据的形式不能完全表达其内容。
例如其中的浙江省杭州市,可以理解为现居住地,也可以理解为籍贯,凭主观直接理解,可能会产生歧义。
如果引入语义:
- 语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间
- 解释:李明是个大学生,1996年出生,杭州人,2014年考入计算机科学与技术专业
数据库
人们收集并抽取一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。
- 定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
数据库管理系统
数据管理系统(DataBase Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。
- 用途:科学地组织和存储数据、高效地获取和维护数据。
- 主要功能:
- 数据定义功能
- 数据操纵功能
- 数据库的运行管理
- 数据库的建立和维护
数据库系统
- 数据库系统(DatabaseSystem,简称DBS)是指在计算机系统中引入数据库后的系统构成。
- 在不引起混淆的情况下常常把数据库系统简称为数据库。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。
数据库的来历
数据库技术是数据管理的一个发展阶段,是最有效的数据管理方式。
数据管理:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
数据管理技术的发展:
- 人工管理阶段(40年代中——50年代中)
- 文件系统阶段(50年代末——60年代中)
- 数据库系统阶段(60年代末——现在)
数据库系统的特点
- 数据结构化
- 数据模型
- 数据独立性
- 逻辑独立性
- 物理独立性
- 数据共享性
- 共享性高
- 冗余度低
- 易扩充
- 数据的统一管理和控制
- 通过DBMS
数据模型
信息循环经历了三个领域:
- 现实世界
- 信息世界(概念模型)
- 计算机世界(逻辑模型和物理模型)
| 现实世界 | 信息世界 | 计算机世界 |
|---|---|---|
| 个体 | 实体 | 记录 |
| 特征 | 属性 | 数据项 |
| 总体 | 实体集 | 文件 |
| 事物及其联系 | 实体模型 | 数据模型 |
在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。
数据模型分成两个不同的层次
- 概念模型(信息模型)
是按用户的观点来对数据和信息建模。 - 数据模型(逻辑模型)
主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
信息世界的概念模型
基本概念
- 实体(Entity)
客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。 - 属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 - 码(Key)
唯一标识实体的属性称为码。 - 域(Domain)
属性的取值范围称为该属性的域。 - 实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 - 实体集(Entity Set)
同型实体的集合称为实体集。
概念模型
- 用户的观点表达世界。
- 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。
- 简单、清晰、易于用户理解
- 主要用于数据库设计。
概念模型的表示方法:实体—联系方法(E-R方法)
E-R模型的图形要素:
- 实体型——矩形框
- 属性——椭圆形框
- 联系——菱形框
机器世界的数据模型
数据模型
- 数据库系统的核心与基础。DBMS都是基于某种数据模型的或是支持某种数据模型的。
- 用计算机的观点描述现实世界。
- 主要用于数据库管理系统的实现。
- 可以细分为逻辑模型和物理模型。
数据模型的三要素
- 数据结构
描述数据库的组成对象以及对象之间的联系。 - 数据操纵
数据库中各种对象的实例允许执行的操作的集合(操作及规则)。 - 数据完整性约束
给定的数据模型中数据及其联系所具有的制约和依存规则。
类别
- 层次模型
- 网状模型
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
- ……
下文对前三个模型进行展开详述。
层次模型
-
数据结构
- 有且只有一个结点没有双亲节点,即为根节点。
- 根以外的其他结点有且只有一个双亲结点
-
数据操纵
- 支持查询、插入、删除、修改操作
- 任何一个给定的记录值只能按其层次路径查看
-
数据完整性约束
- 增删改查操作时要满足层次模型的完整性约束条件
- 双亲结点值与子女结点值的操作会产生关联和影响
-
优点
- 数据结构简单清晰
- 层次数据库查询效率高,效率优于关系模型
- 提供了良好的完整性支持
-
缺点
- 对现实世界的非层次性联系(如多对多联系)不适合
- 查询子女结点必须通过双亲结点
- 结构严密,因此命令趋于程序化
网状模型
- 数据结构
- 允许一个以上的节点无双亲
- 一个结点可以有多于一个的双亲
- 数据操作
- 支持增删改查操作
- 访问数据时必须选择适当的存取路径
- 数据完整性约束
- 支持记录码的概念
- 保证一个联系中双亲记录和子女记录之间是一对多的联系
- 支持双亲记录和子女记录之间的约束条件
- 优点
- 更为直接地描述现实世界
- 具有良好的性能,存取效率高
- 缺点
- 结构复杂,随着应用环境扩大,数据库结构会更加复杂,不易于掌握
- DDL、DML复杂,用户不易掌握、不易使用
- 记录间联系通过存取路径实现,用户需了解系统结构细节,编程负担重
关系模型
- 数据结构
- 表(二维表)
- 建立在严格的数据概念基础上
- 数据操作
- 支持增删改查操作
- 面向集合的操作,操作对象和结果都是关系
- 存取路径向用户隐蔽
- 数据完整性约束
- 实体完整性
- 参照完整性
- 用户定义的完整性
- 优点
- 关系模型建立在严格的数据概念基础上
- 关系模型概念单-一,既可以表示实体也可以表示联系
- 存取路径对用户透明,数据独立性更高、安全保密性更好,程序员工作简化
- 缺点
- 查询效率上不如格式化数据模型——DBMS查询优化
关系模型的基本概念
- 关系(Relation)
一个关系对应通常说的一张表。 - 元组(Tuple)
表中的一行即为-一个元组。 - 属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名。 - 码(Key) (等同于候选码)
表中的某个属性组,它可以唯一确定一个元组。 - 域(Domain )
属性的取值范围。 - 分量
元组中的一个属性值。 - 关系模式
对关系的描述
关系名(属性1,属性2,……,属性n)
学生(学号,姓名,年龄,性别,系,年级)
数据库系统结构
之前提过数据库系统具备数据独立性。是什么引起其数据独立性呢?这需要从数据库系统结构谈起。
- 数据库系统内部的模式结构
从数据库管理系统角度看
分为外模式、模式、内模式。 - 数据库系统外部的模式结构
从数据库最终用户角度看
单用户、主从式、分布式、客户/服务器、浏览器/应用服务器/数据库服务器……
数据库系统模式的概念
- 型和值的概念
- 型(Type)
对某一类数据的结构和属性的说明 - 值(Value)
是型的一个具体赋值
例如:学生记录
-
记录型:
(学号,姓名,性别,系别,年龄,籍贯) -
该记录型的一个记录值:
( 2017061161,李明,男,计算机,22, 江苏) -
模式(Schema)
- 数据库逻辑结构和特征的描述
- 是型的描述
- 反映的是数据的结构及其联系
- 模式是相对稳定的
-
模式的一个实例(Instance)
- 模式的一个具体值
- 反映数据库某一时刻的状态
- 同一个模式可以有很多实例
- 实例随数据库中的数据的更新而变动
数据库系统的三级模式结构

模式
- 模式(也称逻辑模式)
- 数据库中全体数据的逻辑结构和特征的描述
- 所有用户的公共数据视图,综合了所有用户的需求
- 模式的地位:是数据库系统模式结构的中间层
- 与数据的物理存储细节和硬件环境无关
一个数据库只有一个模式。
外模式
外模式(也称子模式或用户模式)
- 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
- 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
内模式
- 内模式(也称存储模式)
- 是数据物理结构和存储方式的描述
- 是数据在数据库内部的表示方式
- 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
- 索引的组织方式
- 数据是否压缩存储
- 数据是否加密
- 数据存储记录结构的规定
一个数据库只有一个内模式。
数据库的二级映像功能与数据独立性
三级模式与二级映像
-
三级模式是对数据的三个抽象级别
-
二级映象在DBMS内部实现这三个抽象层次的联系和转换
-
外模式/模式映像
-
模式/内模式映像
外模式/模式映像
- 定义外模式与模式之间的对应关系
- 每一个外模式都对应一个外模式/模式映象
- 映象定义通常包含在各自外模式的描述中
外模式/模式映像能够保证数据的逻辑独立性:
- 当模式改变时,数据库管理员修改有关的外模式/模式映象,使
外模式保持不变 - 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像
- 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
例如,说明逻辑记录和字段在内部是如何表示的 - 数据库中模式/内模式映象是唯一的
- 该映象定义通常包含在模式描述中
模式/内模式映像能够保证数据的物理独立性:
- 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变
- 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
练习题
-
信息世界下的数据模型是( )
A. 网状模型
B. 层次模型
C. 概念模型
D. 逻辑模型 -
在数据库管理技术发展的三阶段中,没有专门的软件对数据进行管理的是( )
- 人工管理阶段
- 文件系统阶段
- 数据库阶段
A. 1和2
B. 只有2
C. 2和3
D. 只有1 -
DB、DBS、DBMS之间的关系是( )
A. DBS包括DB和DBMS
B. DBMS包括DBIDBS
C. DB包括DBS和DBMNS
D. DBS就是DB,也就是DBMS -
在E-R图中,用来表示属性的图形是( )
A. 矩形
B. 椭圆形
C. 菱形
D. 平行四边形






