1、数据库的相关术语
1.1 数据(Data)
数据
是数据库中存储的基本对象
。- 数据的定义
描述事物状态
或者属性
的符号记录 - 组成数据的符号种类
数字、字符串、日期、逻辑值、文本、图形、图像、声音、档案记录等 - 数据的特点
数据
与其语义
是不可分的。
数据举例:
学生档案中的学生记录
(李明,男,1985,河南,软件学院,2007)
数据的形式不能完全表达其内容
数据的解释:
- 语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间
- 解释:李明是个大学生,1985年出生,河南人,2007年考入软件学院
1.2 数据库(Database,简称DB)
简单定义: 简单理解就是保存数据的仓库
1.2.1 数据库的定义:数据库是长期储存在计算机内、有组织的
、可共享
的数据集合
。
1.2.2 数据库的特征
- 数据按一定的
数据模型组织
、描述
和储存
(表,每个表表示一个主题信息) - 冗余度
较小
- 数据独立性
较高
易
扩展
给个例题加深下印象:
下列四项中,不属于
数据库系统的特点
的是( C )
A.数据结构化 B.数据由DBMS统一管理和控制 C.数据冗余度大
D.数据独立性高
1.3 数据库管理系统(DBMS)
(1) 什么是DBMS
数据库管理系统(Database Management System,简称DBMS)是位于用户
与操作系统
之间的一层数据管理软件
。
(2) DBMS的用途
具有数据定义
、数据操纵
、数据库的运行管理
和数据库的建立
和维护
等功能。
举例:
- 大型的
ORACLE(目前金融、保险、税务、公安等用的较多)
DB2 - 中型的
SQL Server(应用较普遍,医药连锁、其他中小型企业等)
INFOMIX、SYBASE、MYSQL(网络应用较广)
- 小型的
ACCESS(小型企业、数据量不太大)
一般,初学者通常都使用ACCESS(易学易用)
1.3.1 DBMS的主要功能
数据库管理系统(DBMS)的主要功能为数据定义功能
、数据操纵功能
、数据库的运行功能
和数据库的建立
和维护
功能。
数据定义功能:
提供数据定义语言(DDL),用于定义数据库中的数据对象。(用CREATE、ALTER、DROP实现)数据操纵功能:
提供数据操纵语言(DML), 用于操纵数据实现对数据库的基本操作(查询、插入、删除和修改)。(用SELECT、INSERT、DELETE和UPDATE实现)数据库的运行管理:
保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。(用密码、主键等约束、数据库备份等功能)数据库的建立和维护功能:
提供实用程序,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等(数据备份、导入、导出等功能)
1.4 数据库系统(DBS)
(1) 什么是DBS
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成
。在不引起混淆
的情况下常常
把数据库系统简称
为数据库
。
(2) 数据库系统的构成
由数据库
、数据库管理系统(及其开发工具)
、应用程序
、数据库管理员
、用户
五部分构成。
数据库系统构成图示
2、数据管理技术的产生和发展
(1)数据处理
对各种数据进行收集
、存储加工
和传播
的一系列活动的总和
(2)什么是数据管理
对数据进行分类
、组织
、编码
、存储
、检索
和维护
,是数据处理
的中心问题。(分类组织和保存、数据维护和查询统计)
2.1 数据库技术的发展过程
人工管理阶段
——>文件系统阶段
——>数据库系统阶段
(1)人工管理阶段(40年代中--50年代中)
(2)文件系统阶段(50年代末--60年代中)
(3)数据库系统阶段(60年代末--现在)
2.1.1 人工管理阶段
时期:40年代中--50年代中期
产生的背景:
- 应用需求 科学计算
- 硬件水平 无直接存取存储设备
- 软件水平 没有操作系统
- 处理方式 批处理
人工管理特点:
不保存
大量的数据。- 没有
软件系统
对数据进行管理
- 数据
不共享
,存在大量冗余
- 数据
不具有独立性
2.1.2 文件系统阶段
时期:50年代末--60年代中期
产生的背景:
- 应用需求 科学计算、管理
- 硬件水平 磁盘、磁鼓
- 软件水平 有操作系统和专门的管理数据软件
- 处理方式 联机实时处理、批处理
文件系统特点:
- 数据可以
长期保存
- 由
文件系统
管理数据 - 文件系统中的数据文件已经具有
多样化
- 文件系统的
数据存取
是以记录
为单位
文件系统缺点:
- 数据
冗余度大
- 文件系统中
数据
与程序
之间 缺乏
独立性
2.1.3 数据库系统阶段
时期:60年代末以来
产生的背景:
- 应用背景 :大规模管理
- 硬件背景 :大容量磁盘
- 软件背景 :有数据库管理系统
- 处理方式 :联机实时处理,分布处理,批处理
数据库系统的特点:
数据结构化:
数据结构化是数据库与文件系统的最根本区别。- 数据的结构用
数据模型
描述,无需程序定义
和解释
。 - 数据可以
变长
。 - 数据的最小存取单位是
数据项
。 - 数据库系统的数据
冗余度小
、数据共享度高
,易扩充
。
好处:
- 降低数据的冗余度,节省存储空间
- 避免数据间的不一致性
- 使系统易于扩充
2.2 数据管理技术的发展动力
应用需求的推动
计算机硬件的发展
计算机软件的发展
2.3 数据独立性
高度的物理独立性
和一定的逻辑独立性
①物理独立性:
- 指用户的
应用程序
与存储在磁盘
上的数据库中数据
是相互独立
的。当数据的物理存储
改变了,应用程序
不用改变。
②逻辑独立性:
- 指用户的
应用程序
与数据库的逻辑结构
是相互独立
的。数据的逻辑结构
改变了,用户程序
也可以不变。
举一道题加深下印象:
数据的物理独立性是指( C )
A.数据库与数据库管理系统相互独立
B.用户程序与数据库管理系统相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构是相互独立的
要保证数据库的逻辑数据独立性,需要修改的是( A )A.模式与外模式之间的映象
B.模式与内模式之间的映象
C.模式 D.三级模式
模式/内模式映象保证数据的物理独立性;外模式/模式保证了数据和程序间逻辑独立性
数据由DBMS统一管理和控制(如下图所示)
2.4 DBMS对数据的控制功能
(1) 数据的安全性(Security)保护
- 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏
(2) 数据的完整性(Integrity)检查
- 将数据控制在有效的范围内,或保证数据之间满足一定的关系,保证正确、有效和相容。(年龄不能包含字母,性别只能是男或女等)
(3) 并发(Concurrency)控制
- 对多用户的并发(同时)操作加以控制和协调,防止相互干扰而得到错误的结果。(可以实现并发控制的DBMS可以自动保证,有时还可以用语句强制并发)
(4) 数据库恢复(Recovery)
- 将数据库从错误状态恢复到某一已知的正确状态。(大的系统数据库恢复是很重要的,比如:银行,医院,移动通信等相关系统)
3、数据模型
- 计算机没办法直接表示和处理现实世界,在数据库中用
数据模型这
个工具来抽象
、表示和处理
现实世界中的数据
和信息
。通俗地讲数据模型
就是现实世界
的模拟
。 - 数据模型是指数据库中
数据
的存贮
和组织方式
,即如何表示实体以及实体
之间的联系。 - 数据模型是数据库系统的
核心
和基础
,了解数据库的数据模型特征
,可以帮助用户在建立和配置数据库
时确定合理的系统应用结构
,在使用中灵活高效
地发挥不同数据库系统的优势
。
数据模型应满足三方面要求:
- 能比较
真实
地模拟现实世界 - 容易为人所
理解
- 便于在计算机上
实现
3.1 现实世界的数据描述
数据处理的3个阶段:
数据模型分成两个不同的层次:
(1) 概念模型 :也称信息模型,它是按用户的观点来对数据和信息建模。主要用于数据库设计。
(2) 数据模型(逻辑模型): 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
3.2 数据模型的三要素
(1)数据结构
- 用于描述系统的
静态特性
,研究与数据类型
、内容
、性质
有关的对象
,例如关系模型中的域、属性、关系
等。
(2) 数据操作
- 数据库主要有
检索
和更新
(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义
、操作符号
、操作规则
(如优先级)以及实现操作的语言
。
(3)数据的约束条件
- 数据的约束条件是一组
完整性规则
的集合
。比如年龄取值范围、身份证号位数、性别范围等。
3.3 概念模型
客观对象的抽象过程---两步抽象:
- 现实世界中的
客观对象
抽象为概念模型
; - 把
概念模型
转换为某一DBMS支持
的数据模型
。
注意:概念模型是现实世界到机器世界的一个中间层次。
3.3.1 概念模型的用途和基本要求
(1)用途
- 概念模型用于信息世界的
建模
- 是现实世界到机器世界的一个
中间层次
- 是数据库设计的
有力工具
数据库设计人员
和用户
之间进行交流的语言
(2)基本要求
- 较强的语义表达能力,能够
方便
、直接地
表达应用中的各种语义知识 简单、清晰
、易于用户理解。
3.3.2 信息世界中的基本概念
① 实体(Entity):
客观存在
并可相互区别
的事物
称为实体。可以是具体的人、事、物或抽象的概念。
② 属性(Attribute):
- 实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。
如:为描述一个职工,可能涉及如下属性:编号、姓名、性别、出生日期和职称。
③ 码(Key) :
唯一标识
实体的属性
集称为码。
④ 域(Domain):
属性的取值范围称为该属性的域。
⑤ 实体型(Entity Type):
- 实体的结构描述,通常是实体名和属性名的集合
例如,教师实体型是:
教师(编号、姓名、性别、出生日期、职称、基本工资、研究方向)
教师“李亦光”的实体值是:
(15031,李亦光,男,09/21/65,教授,678,数据库技术)
⑥ 实体集(Entity Set) :
- 同型实体的集合称为实体集,
如一个系的教师
。
⑦ 联系(Relationship) :
现实世界中事物内部以及事物之间的关系在信息世界中反映为实体内部的联系和实体之间的联系。
- 实体之间的联系:不同实体型之间的联系
- 实体内部的联系:组成实体的各属性之间的联系
三类实体型间联系
-
- 一对一联系(1:1)
- 一对多联系(1:n)
- 多对多联系(m:n)
3.3.3 概念模型的表示方法
概念模型是反映实体之间联系
的模型,是对信息世界的建模
,应能够全面、准确地描述
出信息世界中的基本概念
。
概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的实体-联系方法
(E-R方法,也叫E-R图
)
- 用E-R图来描述现实世界的概念模型
- E-R方法也称为E-R模型
E-R图表示方法:
(1) 实体集
用长方形表示实体集,长方形框内写明实体集名称
(2) 属性
用椭圆形表示,并用无向边将其与相应的实体连接起来
(3) 联系联系本身:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:
联系本身也是一种实体集,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 E-R图实例:
某工厂物资管理E-R图
某图书管理E-R图
3.4 常见的数据模型
数据模型具有数据结构、数据操作和完整性约束三要素。
1、数据结构是所研究的对象类型的集合。
2、数据操作是对数据库中各种数据对象允许执行的操作的集合,主要有检索和更新两大类操作。
3、数据约束条件是一组数据完整性规则的集合。数据完整性规则是指数据模型中的数据及其及联系所具有的制约和依存规则。(例如,在学校的数据库中规定大学生的年龄不得超过30岁。)
数据库领域最常用的数据模型主要有三种,它们是层次模型,网状模型和关系模型。
(1)层次模型
最早的数据模型,用树形结构来表示实体及联系。
实体集用记录来表示。
联系用基本层次联系表示。
满足下面两个条件的基本层次联系的集合为层次模型。
- 有且只有一个结点没有双亲结点,这个结点称为根 结点
- 根以外的其它结点有且只有一个双亲结点
如下图所示:
数据操作和完整性约束条件:
- 层次模型的数据操作主要是数据的查询、插入、删除和修改。
- 无相应的双亲结点值就不能插入子女结点值
- 如果删除双亲结点值,则相应的子女结点值也被同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性。
特点:
- 层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解
- 只能直接处理一对多的实体联系,多对多联系表示不自然
- 任何记录值只有按其路径查看时,才能显出它的全部意义
- 对插入和删除操作的限制多
- 查询子女结点必须通过双亲结点
(2)网状模型
1、数据结构满足下面两个条件的基本层次联系的集合为网状模型。
- 允许一个以上的结点无双亲;
- 一个结点可以有多于一个的双亲。
如下图所示:
2、数据操作
- 网状模型的数据操作主要是数据的查询、插入、删除和修改。
3、完整性约束
- 允许插入尚未确定双亲结点值的子女结点值
- 允许只删除双亲结点值
特点
- 能够更为直接地描述现实世界,如一个结点可以有多个双亲
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
(3)关系模型
1、数据结构
关系模型与层次模型和网状模型相比有着本质的差别,它是用二维表格来表示实体及其相互之间的联系。 关系:
一个二维表元组:
表中的一行属性:
表中的一列分量:
元组中的一个属性值 元:
属性个数(n)称为关系的。
2、关系操作
关系操作主要是数据的查询、插入、删除和修改。
3、完整性约束
关系模型允许三类完整性:实体完整性
,参照完整性
,用户完整性
。
4.关系数据模型的存储结构
表以文件形式存储
有的DBMS一个表对应一个操作系统文件,有的DBMS自己设计文件结构
优点:
- 建立在严格的数学概念的基础上
概念单一。数据结构简单、清晰,用户易懂易用
- 实体和各类联系都用关系来表示。
- 对数据的检索结果也是关系。
关系模型的存取路径对用户透明
- 具有更高的数据独立性,更好的安全保密性
- 简化了程序员的工作和数据库开发建立的工作
缺点:
存取路径对用户透明导致查询效率往往不如非关系数据模型
- 为提高性能,必须对用户的查询请求进行优化
- 增加了开发数据库管理系统的难度
4、数据库系统的三级模式
4.1 模式
模式(也称逻辑模式)
- 数据库中全体数据的逻辑结构和特征的描述
- 所有用户的公共数据视图,综合了所有用户的需求
一个数据库只有一个模式
模式的地位:是数据库系统模式结构的中间层
- 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及高级程序设计语言无关
模式的定义
- 数据的逻辑结构(数据项的名字、类型、取值范围等)
- 数据之间的联系
- 数据有关的安全性、完整性要求
4.2 外模式(External Schema)
外模式(也称子模式或用户模式)
- 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
- 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
- 一般对应于数据库中的视图或查询
外模式的地位:介于模式与应用之间
模式与外模式的关系:一对多
- 外模式通常是模式的子集
一个
数据库可以有多个
外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求- 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
外模式与应用的关系:一对多
- 同一外模式也可以为某一用户的多个应用系统所使用,
- 但一个应用程序只能使用一个外模式。
外模式的用途
- 保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据
- 保证数据独立性的一个有力措施
4.3 内模式(也称存储模式)
- 是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式
- 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
- 索引的组织方式
- 数据是否压缩存储
- 数据是否加密
- 数据存储记录结构的规定
注意:一个数据库只有一个内模式
三级模式的总结:
- 数据按外模式的描述提供给用户。
- 按内模式的描述存储在磁盘中。
- 而模式提供了连接这两级的相对稳定的中间观点,并使得两级中任何一级的改变不受另一级的牵制。
- 一个数据库只有一个模式,一个内模式。
具体如下图所示:
5、数据库系统的二级映像
三级模式是对数据的三个抽象级别
二级映象在DBMS内部实现这三个抽象层次的联系和转换
1.外模式/模式映象
2.模式/内模式映象
5.1 外模式/模式映象 保证数据的逻辑独立性
- 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变
- 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
5.2 模式/内模式映象 保证数据的物理独立性
- 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
- 数据库中模式/内模式映象是唯一的
- 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变,应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
总结
- 理解4个基本概念:
数据 数据库 数据库系统 数据库管理系统 - 掌握E-R图的使用。
- 掌握数据模型的三个组成部分。
- 了解常用的结构数据模型。
- 了解数据库的三级模式结构及两级映像
- 了解数据库技术的发展历程
📢博客主页: https://blog.csdn.net/m0_63007797?spm=1011.2415.3001.5343
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 心无旁骛~ 原创,首发于 CSDN博客🙉
📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨