[DB] 数据库系统概论
数据库系统概论
- 数据:数据库中存储的基本单位
- 数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。具有较小的冗余度、较高的数据独立性、易扩展性。基本特点:永久存储、有组织、可共享。
- 数据库管理系统:是位于用户与操作系统之间的一层数据管理软件。主要功能:
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护
- 其他功能
- 数据库系统DBS:指在计算机系统中引入数据库后的系统,有数据库、DBMS、应用系统、数据库管理员(DBA)组成。
数据库系统的特点:
- 数据结构化
- 数据的共享性高,冗余度低,易扩充
- 数据独立性高
- 数据由DBMS统一管理和控制
数据管理的三个阶段:人工管理阶段——文件系统阶段——数据库系统阶段
录音思路
1.如何组织数据——数据模型、规范化理论
2.如何存取数据——数据定义与操作语言
3.哪些人可以操作哪些数据——安全性相关
4.很多人在操作统一数据时如何避免发生冲突——并发控制
5.故障后怎么办——数据恢复
数据模型:概念模型、逻辑模型
分两个模型的原因:逻辑模型 为了方便把 概念模型 存放到计算机中,事实上二者是同一概念。
数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件
概念模型:实体 属性 码 域 实体性 实体集 联系
常用的逻辑数据模型:
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象关系模型
E-R图 —————- P19 实体-矩形 属性-椭圆 关系-菱形。
关系模型:关系(Relation)、元组(Tuple)、属性(Attribute)、码(Key)、域(Domain)、分量。
关系的完整性约束条件:实体完整性、参照完整性、用户定义完整性。
优点:数学基础、概念单一(都是二维表)、存取路径对用户透明。
缺点;效率、优化会增加开发难度。
数据库系统结构
数据库的三级模式:
- 外模式:子/用户模式,数据库用户看见和使用的局部数据的逻辑结构和特征的描述。
- 模式:逻辑模式,数据中全体数据的逻辑结构和特征的描述。
- 内模式:存储模式,数据物理结构和存储方式的描述。
数据库的二级映像:
- 外模式/模式映像
- 模式/内模式映像——定义了数据全局逻辑结构和存储结构之间对应关系。
关系数据库
看书做题就行
候选码:关系中能唯一标识一个元组的值。
主属性:候选码中的属性。
关系的三种类型:基本类型(基本表)、查询表、视图表。
注:
连接操作中,可能会丢失一些值,为了保留这些值而留出空值叫做外连接
要看除运算
SQL
特点:
- 综合统一
- 高度非过程化
- 面向集合的操作方式
- 以同一种语法结构提供多种使用方式
修改基本表:
ALTER TABLE <表明>
例:
ALTER TABLE Student ADD S_entrance DATE;
ALTER TABLE Student ALTER COLUMN Sage INT;
ALTER TABLE Course ADD UNIQUE(Cname);
查询中的字符匹配:
例:
SELECT Sname, Sno, Ssex FROM Student WHERE Sname LIKE ‘刘%’;
匹配所有姓刘的同学
SELECT Sname FROM Student WHERE Sname LIKE ‘欧阳__’;
匹配 欧阳X
having
ORDER BY ASC(升序) DESC(降序) 缺省情况为升序
数据库安全性
计算机系统安全性:
- 技术安全
- 管理安全
- 政策法律
用户表示与鉴别Identification & Authentication —— 最外层安全保护措施
- 用户表示User Identification
- 口令Password
存取控制:
定义用户权限,并将用户权限登记到数据字典中
合法权限检查
自主存取控制(Discretionary Access Control, DAC) C1级别
用户对于不同的数据库对象由不同的存取权限,不同的用户对同一对象也有不同的权限,用户可将其拥有的存取权限授权给其他用户
强制存取控制(Mandatory Access Control, MAC) B1级别
每一个数据库对象被标以一定的密级,每一个用户也被授予某一级别的许可证。
Discretionary Access Control
授权与回收:
GRANT
GRANT SELECT ON TABLE Student TO U1;
REVOKE 回收权限,形式与上面类似
数据库角色——权限的集合,用于简化授权
1.角色的创建
CREATE ROLE
2.给角色授权
略
3.将一个角色授予其他用户
略
4.角色权限的收回
Mandatory Access Control
在MAC中DBMS所管理的全部实体被分为主体和客体两大类。
主体:系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体:系统中的被动实体,包括文件、基本表、索引、视图,受主题操纵。
对于主体和客体,DBMS为它们每个实例指派一个敏感度标记(Label)。分为绝密Top Secret、机密Secret、可信Confidential、公开Public,主体的敏感度标记称为许可证级别,客体的敏感度标记为密级。
规则:
- 仅当主体的许可证级别大于或等于客体的密级,可读;
- 仅当主题的许可证级别等于客体的密级,可写。
原因:禁止了拥有高许可证级别的主体更新低密度的数据对象,造成敏感数据的泄露。
数据库完整性
实体完整性、参照完整性、用户自定义的完整性
DBMS为维护数据库的完整性,必须能够;
1.提供定义完整性约束条件的机制
2.提供完整性检查的方法
3.违约处理
实体完整性的定义:列级约束条件、表级约束条件
实体完整性检查和违约处理:检查主码值是否唯一;检查主码的各属性是否为空
参照完整性定义:FOREIGN KEY,对外码的取值做一个约束:空值或存在值。
用户自定义完整性:1.NOT NULL; 2.UNIQUE; 3.CHECK;
关系数据库理论
函数依赖(Functional Dependency,FD):属性间类似数学中的函数y=f(x)的依赖关系,被称为函数依赖。记作X→Y。
非平凡函数依赖:X→Y,但Y不是X的子集。
平凡函数依赖:X→Y,Y是X的子集。
完全函数依赖:X→Y,并且对于X的任何一个真子集X‘,都有Y不函数依赖于X’。
部分函数依赖:X→Y,Y不 完全函数依赖 于X。u’s
传递函数依赖:X→Y, Y→Z, 且Y不→X。
主属性(Prime Attribute):任何候选码中的属性。
非主属性(Nonprime Attribute):不包含在任何码中的属性。也称非码属性(Non-key Attribute)。
第一范式(1NF):每一个分量必须是不可分的数据项。
第二范式(2NF):1NF的基础下,每一个非主属性完全依赖于码
规范化(normalization):一个低一级范式的关系模式,通过模式分解可以转化为若干个高一级范式的关系模式的集合。
第三范式(3NF):每一个非主属性 既不部份依赖于码,也不传递依赖于码。
BCNF:关系模式R<U,F>∈1NF,若X→Y且Y不是X子集时,X必含有码。即,每一个决定因素都含有码。
一个满足BCNF的关系模式:
- 所有非主属性对于每一个码都是完全函数依赖
- 所有的主属性对每一个不包含它的码,也是完全函数依赖
- 没有任何属性完全函数依赖于飞马的任何一组属性
BCNF修正了3NF主属性内部部分函数依赖
多值依赖(Multivalued Dependency,MVD)
模式分解
- 分解具有无损连接性(Lossless Join)——通过自然运算可复原
- 分解要“保持函数依赖”(Preserve functional dependenct)
- 分解既要保持函数依赖,又要具有无损连接性。
—————————————————19分钟两类考题——————————————————–
关系查询处理和查询优化
DBMS查询处理分为4个阶段:查询分析、查询检查、查询优化、查询执行。
计算题:P268
数据库设计
数据库设计重点: 概念设计->逻辑设计 , 每一阶段目的是什么。
数据库设计方法:新奥尔良方法、基于E-R模型的数据库设计方法、3NF的设计方法、ODL方法、UML方法
数据库设计的基本步骤:
准备工作:1.系统分析人员、数据库设计人员;2.用户代表和数据库管理员;3.应用开发人员
需求分析
- 需求分析任务:信息要求、处理要求、安全性与完整性要求
- 需求分析方法:跟班作业、开调查会、请专人介绍、询问、设计调查表、查阅记录
- 数据字典:机型详细的数据收集和数据分析所获得的主要结果
- 数据项:不可再分的数据单位
- 数据结构:反映数据之间的组合关系
- 数据流:数据结构在系统内传输的路径
- 数据存储:数据结构停留或保存的地方
- 处理过程:处理过程的具体处理逻辑一般用判定表或判定书来描述
小结:充分考虑可能的扩充和改变,使设计易于更改,系统易于扩充;强调用户参与。
概念结构设计
特点:
- 能真实充分反映现实世界
- 易于理解
- 易于更改
- 易于向关系、网状、层次等数据模型转
四类方法:(常用:自顶向下需求分析,自底向上设计概念结构)
- 自顶向下
- 自底向上
- 逐步扩张
- 混合策略
视图的集成:多个E-R一次继承(难度较大);逐步继承
合并冲突:
- 属性冲突:属性值的类型、取值范围、取值集合、单位不同。
- 命名冲突:同名异义,异名同义。
- 结构冲突:
- 同一对象在不同应用中具有不同的抽象,如职工在某一局部应用中为实体,另一为属性
- 同一实体在不同E-R图中所包含的属性个数和属性排列次序不完全相同
- 实体间的联系在不同的分E-R图中为不同的类型
逻辑结构设计
物理结构设计
数据库实施
数据库运行与维护