一:四大基本概念
(1)数据(Data)
数据(Data)是数据库中存储的基本对象
数据的定义:
描述事物的符号记录
数据的种类:
文本、图形、图像、音频、视频等
(2)数据库(DataBase,DB)
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
(3)数据库管理系统(DataBase Management System,DBMS)
位于用户与操作系统之间的一层数据管理软件,能科学地组织和存储数据、高效地获取和维护数据
功能(重要):
1:数据定义功能
提供数据定义语言(DDL)定义数据库中的数据对象
2:数据组织、存储和管理功能分类组织、存储和管理各种数据,确定组织数据的文件结构和存取方式,实现数据之间的联系,提供多种存取方法提高存取效率
3:数据操作功能提供数据操纵语言(DML)实现对数据库的基本操作 (查询、插入、删除和修改)
4:数据库的事物管理和运行管理数据库在建立、运行和维护时由DBMS统一管理和控制,保证数据的安全性、完整性、多用户对数据的并发使用,发生故障后的系统恢复
5:数据库的建立和维护功能(实用程序)数据库初始数据装载转换,数据库转储,介质故障恢复,数据库的重组织,性能监视分析等
6.其他功能(如通信、数据转换、互访等)
(4)数据库系统(Database System,DBS)
在计算机系统中引入数据库后的系统构成数据库系统。
数据库系统是由数据库,数据库管理系统(及其应用开发工具),应用程序和数据库管理员(DBA)组成的存储,管理,处理和维护数据的系统
数据库系统的构成
特点:
1:数据结构化(数据库系统与文件系统的本质区别)
所谓整体结构化就是指它不针对某一个应用,而是面向全组织。不仅数据内部结构化并且数据之间也具有连续
数据的结构用数据模型描述,无需程序定义和解释;数据可以变长;数据的最小存取单位是数据项
2:数据的共享性高,冗余度低,易扩充
3:数据独立性高(由DBMS的二级映像功能保证)
物理独立性:用户的应用程序与存储在磁盘上的数据库中数据是独立的。当数据的物理存储改变,应用程序不改变
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变
4:数据由DBMS统一管理和控制数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏。
数据的完整性(Integrity)检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。
并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态。
二:数据库发展阶段
人工管理阶段(20世纪40年代中–50年代中):数据不保存、不共享、不具有独立性
文件系统阶段(20世纪50年代末–60年代中):可保存,但共享性差,冗余度大,独立性差
数据库系统阶段(20世纪60年代末–现在):数据库系统的出现使信息系统以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段
三:数据模型
3.1数据模型概念
数据模型是指用于描述数据、数据之间关系以及数据操作的一种概念工具。它是数据库设计的核心,为数据库系统提供了基本框架和方法论。
数据模型的组成要素:
数据结构:数据结构是所研究的对象类型的集合,数据结构是对系统静态特性的描述
数据操作:是指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则
查询
更新数据操作是对系统动态特性的描述
数据的完整性约束条件:数据的完整性约束条件是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性实体完整性
参照完整性
3.2两类数据模型
数据模型分为两类(分属两个不同的层次)
(1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
(2) 逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法。例如数据的物理记录格式是变长的还是定长的;数据是压缩的还是非压缩的;索引结构是B+树还是HASH结构等。这一层的数据抽象称为物理数据模型,它不但由DBMS的设计决定,而且与操作系统、计算机硬件密切相关。
(3) 关系
3.3概念模型
概念模型:是按用户的观点来对数据和信息建模,用于数据库设计
相关术语
实体(Entity):指现实世界中独立存在的事物或对象,如人、物、事、概念等。在数据库中,实体用一个表来表示,表中的每一行都代表一个实体。
属性(Attribute):指实体所具有的特征或属性,如人的姓名、性别、年龄等。在数据库中,属性用表中的列来表示,每一列代表一个属性。
码: 唯一标识实体的属性
主键(Primary key):指在一张表中唯一标识每个实体的属性或属性组合。主键可以是一个或多个属性组合而成,用于确保实体在表中的唯一性,并且作为其他表与该表之间关系的基础。
外键(Foreign key):指在一个表中用来关联其他表的属性,它指向另一张表的主键。外键用于建立表与表之间的关系,以便实现数据的一致性和完整性。
关系(Relationship):指表与表之间的联系和关联,例如一对多、多对多等。在数据库中,关系用于描述实体之间的联系,以便进行查询和数据分析。
概念模型的一种表示方法:实体-联系方法
实体联系方法用E-R图来描述现实世界的概念模型,所刻画的某些也称为E-R模型
3.4逻辑模型和物理模型
逻辑模型:是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。主要包括
- 层次模型
- 网状模型
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。数据库设计人员需要了解和选择物理模型,但用户不需要考虑物理细节
3.5层次模型、网状模型和关系模型
(1)层次模型
层次模型用树形结构来表示各类实体以及实体间的联系
定义:
- 有且只有一个结点没有双亲结点,此结点为根节点
- 根结点以外的所有结点有且只有一个双亲结点
- 上层记录类型和下层记录类型间的联系是1:n联系
特点:
- 结点的双亲是唯一的
- 只能直接处理一对多的实体联系
- 每个记录类型可以定义一个排序字段,也称为码字段
- 没有一个子女记录值能够脱离双亲记录值而独立存在
完整性约束条件:
无相应的双亲结点值就不能插入子女结点值
如果删除双亲结点值,则相应的子女结点值也被同时删除
层次模型优缺点(了解)
优点
- 层次模型的数据结构较为简单清晰
- 层次模型的查询效率高
- 层次模型提供了良好的完整性支持
缺点
- 层次模型不能很好的表示多对多联系
- 插入,删除麻烦,编写程序复杂
- 查询子女结点必须通过双亲结点
- 由于结构严密,层次命令趋于程序化
(2)网状模型
网状数据库系统采用网状模型作为数据的组织方式
定义:
(1)允许一个以上的结点无双亲结点;
(2)一个结点可以有多于一个双亲结点,也可以有多于一个子女结点;
(3)有向图中的结点是记录类型,有向边表示从箭尾一端的记录类型到箭头一端的记录类型间的1:n类型。将箭尾一端称为双亲结点,箭头一端称为子女结点。
完整性约束条件:
(1)允许插入无双亲的子结点; (2)允许只删除双亲结点,其子结点仍在; (3)更新操作较简单,只需更新指定记录即可; (4)查询操作可以有多种方法实现
网状模型的优缺点(了解)
优点
- 能够更为直接地描述现实世界
- 具有良好的性能,存取效率较高
缺点
- 结构复杂,不利于用户掌握
- 其DDL、DML复杂,嵌入高级语言中也难以让用户掌握
- 用户需要了解结构细节,加重了编写程序的负担
(3)关系模型
关系数据库系统采用关系模型作为数据的组织方式
相关术语:
关系:一个关系对应一张表
元组:表中一行或者是一条记录叫做一个元组
属性:表中一列叫做一个属性,给每一个属性起一个名称叫做属性名
码:用于唯一确定一个元组
域:属性的取值范围
分量:元组的每一个属性值,关系的每一个分量都不可以再分
关系模式:对关系的描述,必须是规范化的
完整性约束条件:
实体完整性 参照完整性 用户定义的完整性
关系模型的优缺点
优点
- 建立在严格的数学概念的基础上
- 关系模型的概念单一,无论实体还是联系都用关系表示,对数据的检索和更新结果也是关系。因此简单、清晰,易用
- 关系模型的存取路径对用户透明
缺点
- 查询效率往往不如格式化数据模型
- 开发相应数据库管理系统难度大
四:数据库系统结构
4.1数据库系统模式的概念
(1)型和值
数据模型中有“型(type)”和“值(value)”的概念
- 型(type):对某一类数据的结构和属性的说明
- 值(value):是型的一个具体赋值
(2)模式和实例
虽然实际的数据库管理系统产品种类很多,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映像功能
模式(schema):是数据库逻辑结构和特征的描述
- 是型的描述
- 反应的是数据的结构及其联系
- 模式相对稳定
实例(instance):模式的一个具体值
- 反映数据库某一时刻的状态
- 同一个模式可以有很多实例
- 实例随数据中的数据的更新而变动
一个数据库只有一个模式,可以把模式看成是唯一的数据库,实例就是数据库里面的多个表
4.2三级模式
模式(Schema) 外模式(External Schema) 内模式(Internal Schema)
(1)模式(schema)
模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求,对应概念模式
它是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级语言无关
一个数据库只有一个模式
数据库模式以某一种数据模型为基础,统一考虑所有用户需求,并将这些需求有机结合为一个逻辑整体
DBMS提供模式DDL来严格定义模式
(2)外模式(external schema)
外模式:是数据库用户(包括程序员和最终用户)能够看见和使用的局部的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑描述
外模式通常是模式的一个子集,所以模式与外模式的关系为一对多
一个数据库可以有多个外模式,反映了不同用户的需求(比如爱奇艺的付费用户和普通用户)
同一个外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的
DBMS提供外模式DDL来严格定义外模式
(3)内模式(internal schema)
内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
- 一个数据库只有一个内模式
模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求,对应概念模式
外模式:是数据库用户(包括程序员和最终用户)能够看见和使用的局部的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑描述
内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
4.3二级映像
二级映象在DBMS内部实现这三个抽象层次的联系和转换 外模式/模式映像 模式/内模式映像
1.模式:描述的是数据的全局逻辑结构
2.外模式:描述的是数据的局部逻辑结构
3.同一个模式可以有任意多个外模式
4.每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
5.映象定义通常包含在各自外模式的描述中
4.4数据库系统的组成
数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员
五、小结