基本概念
DBS系统构成
DB(数据库)的概念
数据库是存储计算机系统内的有结构的数据集合,是相关数据的集合,数据由数据库管理系统统一管理和维护。
DBS的特点与组成
组成
计算机硬件,操作系统,DBMS,DB,应用程序和用户以及数据库开发和管理人员
特点
- 整体数据结构化
- 数据的共享性高
- 数据的独立性高
- 高度的数据控制能力
DBMS(数据库管理系统)的功能
基本功能:
- 数据定义(DDL)定义数据库中数据的逻辑结构
- 数据操纵(DML) 插入查询删除等对数据的操作
- 完整性约束检查
- 访问控制
- 并发控制
- 数据库恢复
DBA(数据库管理员)的职责
- 在用户与数据库开发人员之间协调和沟通
- 参与数据库设计工作
- 决定数据的完整性约束条件和不同用户的存取权限
- 保证数据库的正常运行,进行数据库的维护工作
- 提出数据库的重构计划
C/S、B/S的概念及各自的职责
4.2 C/S
C/S结构就是由一台(或多台)数据库服务器和众多用户的计算机形成的客户机组成的系统结构。
C/S模式中
- DBMS和DB都安装在服务器上,客户端只安装DBAP
- 客户机向服务器发出修改数据的请求
- 服务器把数据文件有关的数据(记录或纪录集)通过网络传给客户机
- 客户机把修改后的数据发回服务器
客户机的主要工作
- 管理用户界面,实现与用户的交互
- 处理应用程序
- 产生对后台数据库的请求,冰箱服务器发出请求
- 接受服务器返回的结果,并以应用程序的格式输出结果
- 数据回送服务器
服务器的主要工作
- 接受客户机提出的数据请求,并根据请求处理数据库
- 及那个处理后的结果传回请求的客户机
- 接受并保护客户机处理后回送的数据
- 保证数据库的安全性和完整性
- 维护数据字典、索引等资源
- 实现查询优化处理
4.3 B/S
B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。B/S维护和升级方式更简单。由于客户端是浏览器,基本不需要维护,只需要维护升级服务器端。但安全性上不如C/S可控。
数据库的体系结构
三级模式结构
外模式,模式,内模式。将用户应用和物理数据库分离出来。
三级模式结构
三级模式、二级映像的目的:为了提高数据的独立性。
数据库的体系结构分为三级:内部级、概念级和外部级 (数据抽象的三个级别)
-
(1)外部级:单个用户所能看到的数据特性;
单个用户使用的数据视图的描述称“外模式”,又称“子模式”。(最接近用户)
-
(2)概念级:涉及到所有用户的数据定义,是全局的数据视图;
全局数据视图的描述称“概念模式”,又称“模式”。
-
(3)内部级:最接近于物理存储,涉及到实际数据存储的结构;
物理存储视图的描述称为“内模式”。
三级结构和两级映象
三级模式结构
数据按外模式的描述提供给用户(应用程序),按内模式的描述存储在磁盘中, 而概念模式提供了连接这两级的相对稳定的中间观点,并使得任何一级的改变都不受另一级的牵制。
-
概念模式 (模式):(用模式DDL定义模式)
模式是对全体数据的在逻辑上的视图
介于用户级和物理级之间,所有用户的公共数据视图,综合了所有用户的需求,是数据库管理员看到和使用的数据库,又称DBA视图。
-
外模式:(使用外模式DDL描述外模式)
外模式又称为“用户模式”或“子模式”,通常是概念模式的逻辑子集。
-
内模式:(内模式DDL描述和定义内模式)
定义数据库中的全部数据的物理结构,定义了数据得存储方法和存取策略
二级映像
- 模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。
- 外模式/模式映象:用于定义外模式和概念模式间的对应性。在外模式中描述。
两级数据独立性
- 物理数据独立性:修改内模式时尽量不影响概念模式及外模式,从而达到不影响既有应用程序的目的。
- 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序,从而达到不影响既有应用程序的目的。
三大世界的概念
现实世界(事物,事物性质)–抽象化–>信息世界(实体、实体属性)(概念模型描述)–数据化–>数据世界(记录、数据项)(数据模型描述)
概念模型
基本概念
- 实体:客观事物的反映,既可以是实际存在的对象,也可以是某种概念
- 属性:事物的特性
- 域:任一实体在任意属性上的取值范围。
- 实体集:所有属性名完全相同的实体集合在一起
- 实体型:实体集的名称以及所有属性名的集合
- 码:在一个实体集中,根据一个或者几个属性的值可以确定每一个实体的属性,但没有包括多余的属性,则称此属性或属性组为实体集的码。
表示方式(ER图)
三个主要概念:实体集、联系集和属性
联系
现有实体集A和B,联系K
-
一对一联系:对于联系K,A中每个实体至多与B中的一个实体相联系,反之亦然。
-
对于联系K,A中的每个实体,B中可以有多个实体与之联系,但是对于B中的每个实体,A中最多只有一个实体与之联系
则称A与B对于联系K来说是一对多联系,B与A对于联系K来说是多对一联系。
-
多对多联系:A中的每个实体,B中有多个实体与之联系,反止亦然。
ER模型合并时的三类冲突
- 命名冲突:包括实体集名、联系集名、属性名的同名异义和同义异名等命名冲突
- 属性冲突:包括属性值类型、取值范围、取值单位的冲突
- 结构冲突:包含两种情况,一是同一对象在不同应用中具有的抽象不同;二是同一实体在各局部应用中包含的属性个数和属性排列结构不完全相同
数据模型
三大要素
- 数据结构:信息世界中实体和实体间联系的表示方式
- 数据操作以及操作规则
- 约束条件
主要数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
关系模型
由数据结构、数据操作和完整性约束三大部分组成。
基本表、视图均可作为用户视图,模式由基本表构成,存储模式为存储文件。对关系模型,不论实体或联系均用统一的关系(表)来表示。
数据结构
主要术语:
- 关系:也称表
- 属性:关系的每一列即为一个属性
- 域:一个属性的取值范围
- 元组:关系中的一行数据总称为一个元组
- 分量:一个元组在一个属性上的值称为该元组在此属性上的分量
- 候选码:一个关系中的某个属性或属性组的值能为唯一标识关系中的各个元组,且不包含多于属性
- 主码:若一个关系中的有多个候选码,选一个作为主码
- 主属性:包含在任何一个候选码的属性称为主属性
- 外部码:A是基本关系R1的属性(组),但不是R1的码,而A与基本关系R2的码K对应,则称A是R1的外部码
数据操作
特点
- 操作对象和操作结果都是关系,即关系模式中的数据操作是集合操作
- 关系模式中,存取路径是对用户隐蔽的
关系的完整性约束
三类完整性:
- 实体完整性:属性A为R关系的一个主属性,则任何元组在A上的分量都不能为空。
- 参照完整性:若属性组A是基本关系R1的外部码,它与基本关系R2码K相对应,则每个元组A上的值必须满足一下两种情况之一:
- 等于R2中某元组的码值
- 取空值
- 用户定义的完整性(check约束)
概念模型(ER图)向关系模式的转化
- 把每一个实体转换成一个关系模式,实体集的属性转换成关系的模型,实体集的码及对应关系的码
- E-R中的1:1关系可以在任意乙方的关系中加入另一方的码来表达
- E-R中的1:n关系,需要在多方实体集转换的关系中加入其中某某一方实体机的码
- E-R中的m:n关系,必须添加一个结联表来进行表达,该表的属性除了原来联系的属性之外,还必须加入相关实体集的码属性。