1.1数据库发展概述
数据及数据处理
数据是存储在某一种媒体上能够识别的物理符号。
数据处理是把数据加工处理成为信息的过程。 信息是数据根据需要进行加工处理
后得到的结果,信息有意义。
人工管理
计算机系统不提供对用户数据的管理功能,数据不独立,不能共享,不能单独保存
文件管理
磁盘、磁鼓等,数据以“文件”的形式长期保存在外部存储器,数据冗余、数据联系弱等缺陷
数据库管理
克服了文件系统的缺陷,更高级、更有效的管理,数据冗余明显减少,实现了数据共享。
分布式数据库:
是数据库技术与网络技术相结合的产物。
分布式数据库:一种是物理上是分布的,逻辑上集中;一种是在物理和逻辑上都是分布的。
面向对象数据库系统:
面向对象技术与数据库技术结合,提高应用开发效率,增强界面友好型,系统的可伸缩性,可扩展性。
数据仓库
是支持管理决策过程的、面向主题的、集成的、稳定的、随着时间变化的数据集合。
数据挖掘
又称为数据库中的知识发现,从大量数据中提取或“挖掘”知识。
数据挖掘和数据仓库的协同工作,迎合和简化数据挖掘过程中的重要步骤,条数据挖掘的效率和能力,确保数据来源的广泛性和完整性。
数据仓库应用中极为重要和相对独立的工具。
大数据
所涉及的数据量规模巨大到无法通过人工,在合理时间内达到截取、管理、处理并整理称为人类所能解读的信息。
特点:Volume数据量大、Variety数据多样新、Velocity处理熟读快、Value价值。
云计算技术、分布式处理技术、存储技术和感知技术等技术
1.2数据库系统简述
数据库
长期存储在计算机内,有组织的、可共享的、统一管理的相关数据的集合,按一定的数据模型进行组织、、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。
数据库管理系统:
数据库系统的核心软件,支持用户对数据库的基本操作,建立运行和维护进行统一管理和控制。
数据定义功能:数据定义语言DDL
数据操纵功能:数据操纵语言DML
数据库运行控制功能:数据控制语言DCL
数据库维护功能:
数据库通信功能:
数据库系统
数据库系统的组成
数据库系统DBS:引入数据库技术后的计算机系统:
包括五个部分:数据库(DB)、数据库管理系统(DBMS)及其相关的软件、计算机硬件系统、数据库管理员(DBA)、用户。
数据库系统的特点
- 数据底冗余、共享性高。
- 数据独立性高。
- 有统一的数据控制功能。
数据库应用系统
系统开发人员利用数控系统的资源,为某一类人开发的软件系统。
如:银行业务管理系统、仓库管理系统、财务管理系统、飞机售票管理系统、教务管理系统等。
数据库系统的三级模式及二级映射结构
三级模式分别是外模式、概念模式和内模式。
二级映射:外模式到概念模式的映射 和 概念模式到内模式的映射。
外模式:也成为子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)所见到和使用的局部数据逻辑结构的描述,一个概念模式可以有多个外模式。……
概念模式:也称为模式,是全局数据逻辑结构的描述,是所有用户的公共数据视图。
内模式:存储模式或物理模式,是数据在存储介质上的保存方式
数据库系统的二级映射
外模式到概念模式的映射:保证了数据的逻辑独立性
概念模式到内模式的映射:保证了数据的物理独立性
1.3数据模型
概念数据模型——E-R模型
面向数据库用户的现实世界的数据模型
1.概念模型中的基本概念
实体:客观存在并可相互区别的事物称为实体。
属性:描述实体的特征称为属性。
关键字:能唯一标识实体的属性或属性的组合称为关键字
域:属性的取值范围称为该属性的域。
实体型:属性的集合标识一个实体的类型。
实体集:同类型的实体的集合称为实体集。
2.两个实体之间的联系
一对一联系:例如:一个学校只有一个校长,一位校长只能管理一个学校
一对多联系:例如:学校的一个系有多个专业,而一个专业只属于一个系
多对多联系:例如:一名学生可以选多门可课程,一门课程可以被多名学生选修。
3.E-R方法
实体-联系方法 是使用最广泛的概念数据模型设计方法,该方法用E-R图来描述现实世界的概念数据模型。
- 实体:实体型用矩形表示,矩形框内写上实体名称。
- 属性:属性用椭圆形表示,写明属性名。
- 联系:菱形表示,写联系名,连线旁标上联系的类型(如1:1、1:n或m:n)
逻辑数据模型
描述数据库中数据的表示方法和数据库结构的实现方法。
- 层次数据模型
采用树形结构表示实体与实体间的联系。
(1)有且仅有一个结点没有父结点,该结点称为根结点。
(2)除根结点以外的其他结点右且仅有一个父结点,没有子女的节点称为叶结点
2.网状数据模型
可以看做是层次模型的一种扩展。
- 可以有一个以上的结点无父结点。
- 允许结点有多个父结点。
- 结点之间允许有两种或两种以上的联系。
3.关系数据模型
以二维表的方式组织数据,自20世纪80年代以来,几乎所有的数据库系统都建立在关系模型之上。
基于关系模型建立的数据库系统称为关系数据库系统。
4.面向对象数据模型
用面向对象的观点来描述现实世界实体的逻辑组织、实体之间的限制和联系的模型。
物理数据模型
面向计算机物理表示得到模型
1.4关系数据库
关系模型的基本术语
- 关系
- 一个关系就是一个二维表,每个关系都有一个关系名,在关系数据库管理系统中,通常把二维表称为数据库,也称为表。
关系模型的一般格式:
关系名(属性名1,属性名2,…,属性名n)
在Access中,关系模式表示为表模式,它对应于一个表的结构,
表名(字段名1,字段名2,…,字段名n)
例如:“学系”表的关系模式为:学系(学系代码,学系名称,办公电话,学系简介)
- 属性
- 元组
- 分量
- 域
- 候选关键字
- 主关键字
- 外部关键字
- 主属性
关系的性质
每一列的分量是同一类型的数据,来自同一个域
不同的列要给与不同的属性名。
列的顺序无所谓
行的顺序无所谓
任意两个元组不能完全相同
每一个分量必须是不可再分的数据项
关系完整性约束
实体完整性约束
主键不能为空值,组成主键的所有属性都不能取空值。
参照完整性约束
关系之间相关联的基本约束,它不允许关系引用不存在的元组,即外键取值只能是关联关系中的某个主键值或者为空值。
用户定义的完整性约束
针对具体数据环境与应用环境由用户具体设置的约束,应用中数据的语义要求,保证数据库中数据的正确性。
关系规范化
第一范式
所有属性都是最基本的、不可再分的数据项,则满足第一范式(简记为1NF)
第二范式
满足第一范式,且非主属性都完全依赖于主键,则满足第二范式。
第三范式
满足第二范式,且所有非主属性对任何主键都不存在传递依赖,则满足第三范式
1.5关系运算
传统的集合运算
并运算
两个结构相同的关系,两个关系所有元组组成一个新的关系,若有相同的元组则只留下一个。
交运算
两个关系中公共元组组成一个新的关系。
差运算
将属于R但不属于S的元组组成一个新的关系。(减去R和S相同部分,留下R的其余部分)
集合的广义笛卡尔积运算
如果R是m元关系,有i个元组;S是n元关系。有j个元组;则笛卡尔积R x S是一个m+n元关系,有i x j个元组关系。
专门的关系运算
选择
选择出满足给定条件的元组
投影
从指定关系中选取某些属性
联接
两个关系中满足联接条件的元组
类型:自然联接、内联接、左外联接、右外联接、全外联接等,最常用的是自然联接
除
关系R与关系S的除运算应满足的条件是:关系S的属性全部包含在关系R中,关系R的一些属性不包含在关系S中。(R>S)
由R中除去S中的属性之外的全部属性组成,元组由R与S中在所有相同属性上有相等值的那些元组组成 (R-S的属性,取R和S相等值的元组)
1.6数据库设计简述
数据库设计
需求分析 产生需求说明书
概念设计 产生概念数据模型
逻辑设计 产生逻辑数据模型
物理设计 产生物理数据模型
编码阶段
测试阶段
运行阶段
维护阶段
数据库需求分析阶段
数据库应用开发人员通过详细调查现实世界中要处理的对象,充分了解用户单位目前现实的工作概况,弄清除用户的各种需求,然后再此基础上确定新系统的功能要求,编写出需求而说明书,要考虑今后的功能扩充和修改,要具有前瞻性。
1.调查用户的需求
调查的重点“数据”和“处理”
信息要求:在数据库中需存储哪些数据
处理要求:用户要完成什么处理功能。
安全性和完整性的要求:数据库中的数据要安全、完整。
- 分析和表达用户的需求
经常采用的方法有结构化分析方法和面向对象的方法
结构化分析方法用自顶向下、逐层分解的方式分析系统。
面向对象方法通常采用统一建模语言(Unified Modeling Language,UML)来描述
数据库的概念设计阶段
分析数据间内在的语义关联,在此基础上建立一个数据的抽象模型——概念数据模型。不依赖于任何的数据库管理系统(DBMS)
E-R图 设计步骤
- 确定实体
- 确定实体的属性
- 确定实体的主键
- 确定实体间的联系类型
- 画出E-R图
数据库的逻辑设计阶段
将概念数据模型转换成为DBMS所支持的逻辑数据模型
对于关系数据库管理系统(RDBMS)来说,就是,将 概念数据模型 转换成 关系数据模型,E-R 转换成 指定的RDBMS所支持的关系模型。
数据库的物理设计阶段
设计数据库的存储结构和物理实现的方法
主要目的:对数据库内部物理结构做调整并选择合理的存取路径,提高数据库访问速度并有效利用存储空间。
目前,数据库已大量屏蔽内部物理结构,用户参与设计任务少,一般只有索引设计、分区设计等