知识点
1.1 数据库系统的作用
1.1.1 数据与数据管理
数据:描述事物的符号记录。
无结构的文本形式描述 :钱塘江,男,1976年9月出生,江西南昌人,现工作于江西财经大学信息管理学院,教授,主要研究兴趣包括大数据管理、数据挖掘、情感分析。
(显然,数据的表现形式不能完全表达其内容,其含义即语义需要经过解释才能被正确理解,因此数据和关于数据的解释是不可分的。)
表格形式(有结构的记录形式)描述 : (表中一行数据组织在一起便构成一条记录,其数据的语义已由其所在列的表头栏目名解释,因此表格描述的数据称为结构化数据。)
半结构化数据 :介于完全结构化数据 (如关系型数据库、面向对象数据库中的数据)和完全无结构 的数据(如自然语言文本、音频、视频、图像文件等)之间的数据,XML文档就属于典型的半结构化数据,它一般是自描述的,数据的结构(即语义)和内容混在一起。
数据处理:从大量、杂乱无章、难以理解的数据中抽取并推导出对于某些特定的人们来说有价值、有意义的数据。
数据管理:对数据进行有效的分类 、组织 、编码 、存储 、检索 、维护 和应用 ——数据处理的中心问题。
1.1.2 数据管理技术的产生与发展
数据管理技术经历了人工管理 、文件系统 和数据库系统 三个阶段。
数据库管理系统阶段 DBMS :数据库管理系统(数据管理专门软件,由一个相互关联的数据集合和一组用以访问、管理和控制这些数据的程序组成。) DB :数据集合通常称为数据库
1.2 数据模型
1.2.1 数据模型的分类
数据库结构的基础是数据模型(data model)
数据模型是一个描述数据结构 、数据操作 以及数据约束 的数学形式体系(即概念及其符号表示系统),精确描述系统的静态特性、动态特性和完整性规则。
- 数据结构:刻画数据、数据语义以及数据与数据之间的联系。
- 数据约束:对数据结构和数据操作的
一致性 、完整性 约束,亦称为数据完整性约束 。
通过数据模型可以对现实世界的数据特征进行抽象。根据数据抽象的不同级别,将数据模型划分为3类:
- 概念模型:概念层次的数据模型,也称为
信息模型 。 - 逻辑模型:描述数据库数据的
整体逻辑结构 。 - 物理模型:描述数据的
物理存储结构和存取方法 。
1、概念模型
- 按用户的观点或认识对现实世界的数据和信息进行建模
- 作用:主要用于数据库设计——==强调语义表达功能 ==
- 常用概念模型:
实体-联系模型 (E-R模型)和面向对象模型 (OO模型)
- E-R模型:现实世界是由一组称作
实体 的基本对象以及这些对象间的联系构成。
- 实体:现实世界中可区别于其他对象的一件“事情”或一个“物体”。
- 如,一个学生、一个部门、一个教室、一种商品、一本书、一门课程,以及一次选课、采购、销售、存款业务(记录)等都是实体。
- OO模型:用
面向对象观 点来描述现实世界实体(对象)的逻辑组织、对象间限制和联系等的模型。
- 对象:由一组数据结构和在这组数据结构上操作的程序代码封装起来的基本单位。
2、逻辑模型
- 用户通过数据库管理系统看到的现实世界,按计算机系统的观点对数据建模,即数据的计算机实现形式。
- 作用:主要用于
DBMS的实现 。既考虑用户容易理解,又考虑便于DBMS实现。 - 不同的DBMS提供不同的逻辑数据模型:
- 层次模型(hierarchical model)
- 网状模型(network model)
- 关系模型(relational model)
- 面向对象模型(即OO模型)
- XML模型
- 对象关系模型(object relational model)
3、物理模型
数据抽象最低层,具体实现是DBMS的任务,数据库设计人员要了解和选择物理模型,一般用户不必考虑物理层细节。
4、适用对象
- 从现实世界到概念模型的转换是由
数据库设计人员 完成。 - 从概念模型到逻辑模型的转换可以由
数据库设计人员 完成,也可以用数据库设计工具 协助设计人员完成。 - 从逻辑模型到物理模型的转换一般由
DBMS 来完成 。
1.2.2 数据模型的组成要素
-
数据结构:描述数据库的组成对象以及对象之间的联系 。 -
数据操作:指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则 。 -
数据完整性约束:一组数据完整性规则,是数据、数据语义和数据联系所具有的制约和依存规则,包括数据结构 完整性规则和数据操作 完整性规则,限定符合数据模型的数据库状态及状态变化,保证数据库中数据的正确、有效和相容。
1.2.3 层次模型
- 层次模型:树形结构来表示各类实体以及实体间的联系。实体用记录表示,实体间的联系用链接(可看作指针)表示。
- 层次模型满足的两个条件:
- 有且只有一个结点没有双亲结点,这个结点称为根结点
- 根以外的其他结点有且只有一个双亲结点
- 层次模型的主要优点:
- 数据结构比较简单清晰
- 查询效率高
- 提供良好的数据完整性支持
1.2.4 网状模型
- 网状模型满足如下两个条件:
- 网状模型的主要优点:
- 能够更为直接地描述现实世界
- 具有良好的性能,存取效率较高
- 网状模型的主要缺点:
- 结构比较复杂,而且随着应用规模的扩大,数据库的结构会变得越来越复杂,不利于最终用户掌握
- 操作语言比较复杂
1.2.5 关系模型
1、关系数据模型的数据结构
(1)关系模型中的常用术语:
关系(relation) :一个关系对应一张二维表,每一个关系有一个名称,即关系名;元组(tuple) :表中的一行称为一个元组;属性(attribute) :表中的一列称为一个属性,每一个属性有一个名称,即属性名;码(key) :也称为码键或键。表中的某个属性或属性组,可以唯一地确定关系中的一个元组,如关系Student中的学号,可以唯一地标识一个学生 ;域(domain) :属性的取值范围;分量(component) :元组中的一个属性值;外码(foreign key) :表中某个属性或属性组,描述本关系中的元组(实体)与另一关系中的元组(实体)之间的联系(两个关系之间的联系)。
- 外码的取值范围对应于另一个关系的码的取值范围的子集
关系模式(relational schema) :通过关系名和属性名列表对关系进行描述,即二维表的表头部分(表格的描述部分)
(2)关系模式的一般形式
关系名(属性名1,属性名2,…,属性名n) 说明:带下画线的属性为码属性,斜体的属性为外码属性
(3)关系模型的规范条件
关系模型要求关系必须规范化,即要求关系必须满足一定的规范条件。
最基本的规范条件:
- 关系的每一个
元组 必须是可区分的,即存在码属性。 - 关系的每一个
属性 (即元组的分量)必须是一个不可分的数据项,即不允许表中有表 。
2、关系数据模型的操作
- 关系数据模型的操作主要包括
查询 和更新 (插入 、删除 和修改 )。 - 关系:元组的集合,关系模型的数据操作是集合操作,操作对象和操作结果都是关系—不同于传统的非关系模型的
数据操作:单记录操作。 - 关系模型:存取路径透明
3、关系数据模型的完整性约束
实体完整性 、参照完整性 和用户自定义完整性 三种。
1.3 数据抽象与数据库三级模式
1.3.1 数据抽象
DBMS:隐藏关于数据存储和维护的某些细节,为用户提供数据在不同层次上的视图,即数据抽象,方便不同的使用者可以从不同的角度去观察和利用数据库中的数据。
- 物理层抽象
- 逻辑层抽象
- 描述数据库中存储什么数据以及这些数据之间存在什么关联。
- 提供给数据库管理员和数据库应用开发人员使用,必须明确知道数据库中应该保存哪些信息。
- 视图层抽象
- 最高层次抽象,只描述整个数据库的某个部分,即局部逻辑结构。
- 系统可以为同一数据库提供多个视图,每个视图对应一个具体的应用,亦称应用视图 。
1.3.2 数据库的三级模型
根据3级数据抽象,DBMS提供观察数据库的3个角度,方便不同用户使用数据库。即数据库的三级模式结构 。即:外模式—模式—内模式。
1、模式
逻辑模式 ,对应逻辑层数据抽象,描述数据库全体数据的逻辑结构和特征,所有用户的公共数据视图。- 实例(instance):模式的一个具体值。
- 模式是DBMS模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
2、外模式
- 子模式或用户模式,对应视图层数据抽象。
- 描述数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示。
- 外模式保证数据库安全性,各用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据不可见 。
3、内模式
1.3.3 数据库三级模式与三层模型的联系与区别
三级模式 :数据库管理系统(DBMS)的体系结构,提供外模式、模式和内模式,通过从不同抽象级别观察数据库中的数据,实现对用户屏蔽DBMS的复杂性、简化用户与系统交互的目的。三层模型 :数据库设计的工具和方法,提供概念模型、逻辑模型和物理模型,通过逐层设计应用系统的数据库,实现从现实世界到信息世界、信息世界到逻辑机器世界、逻辑机器世界到物理机器世界的逐步转换(对应模式与内模式要求)。
1.4 数据库系统
1.4.1 数据库系统组成
数据库系统(database system, DBS):指在计算机系统中引入数据库后的系统,一般由数据库 、数据库管理系统 (及其应用开发工具)、应用系统 、数据库管理员 和最终用户 构成。
数据库 (database, DB) :存储数据的仓库,通常包括用户数据、元数据、索引和应用元数据等。数据库管理系统 (Database Management System,DBMS):负责数据库的访问、管理和控制的一个系统软件,由一组软件组成。应用系统 :指为某特定应用需求而开发的的应用程序组成的软件。用户 :由数据库系统的开发、管理和使用人员所构成,通常包括数据库管理员、应用系统开发人员、终端用户。数据库管理员 (database administrator, DBA),是指数据库的建立、使用和维护等的工作人员 特别说明:在不引起混淆时,常把数据库系统简称数据库,数据库管理系统简称数据库系统。
1.4.2 数据库管理系统——DBMS
1、DBMS的功能
- 数据定义:DBMS提供数据定义语言(DDL);
- 数据组织、存储和管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等;
- 数据操纵:DBMS还提供数据操纵语言(DML) ;
- 数据库的事务管理和运行管理:数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性(一致性),以及多用户对数据并发操作时的数据库正确性(称为并发控制)和系统发生故障后的数据库正确性(称为恢复与备份);
- 数据库的建立和维护
- 其他功能
2、DBMS的组成
- 查询处理器:对用户请求的SQL操作进行查询优化,从而找到一个最优的执行策略,然后向存储管理器发出命令,使其执行。
- 存储管理器:根据执行策略,从数据库中获取相应的数据,或更新数据库中相应的数据。
- 事务管理器:负责保证系统的完整性,保证多个同时运行的事务不发生冲突操作,以及保证当系统发生故障时数据不会丢失。
1.4.3 数据库系统的相关人员
开发、管理和使用数据库系统的人员:
- 数据库管理员
- 系统分析员
- 数据库设计人员
- 应用程序员
- 最终用户
|