数据库系统概论复习知识点
1、数据/数据库/数据库管理系统/数据库系统的概念:
- 数据库系统是一个人-机系统,而数据库是用于存储数据的。
2、数据库系统的好处:
- 提高开发效率
- 少量修改应用程序
- 减轻DBA维护负担
3、文件系统和数据库系统的区别:
区别
- 前者冗余度大,后者相反 - 前者共享性差,后者相反 - 前者独立性差,后者相反 - 前者面向某一个应用,后者面向整个组织或企业 - 文件记录有结构,整体无结构 - 数据库数据是完全结构化的
联系
- 都是管理数据的软件 - 数据库中数据的组织和存储通过文件系统来实现
4、数据库系统的特点
- 数据结构化
- 数据的共享性高,冗余度低,易扩充
- 数据的独立性高
- 数据由DBMS统一管理和控制
5、DBMS的主要功能·
- 数据库定义功能
- 数据组织、存储和管理功能
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
- 其他功能,如不同数据库之间的互访和互操作功能
6、概念模型及其作用
- 定义:用于信息世界的建模
- 作用:方便设计人员与用户交流
7、数据模型的概念、数据模型的作用和数据模型的三要素
- 概念:用于对现实世界的抽象的工具,用于提供信息表示和操作手段的形式架构
- 作用:数据模型是数据库系统的基础
- 三要素:数据结构、数据操作、完整性约束
8、层次模型定义及优/缺点
- 定义:
- 有且仅有一个节点有双亲,代表根节点 - 根以外的其他节点有且仅有一个双亲节点
- 优点:
- 数据结构简单清晰 - 查询效率高 - 良好的完整性支持
- 缺点:
- 无法表达非层次性的联系 - 对用户要求比较高
9、网状模型定义及优/缺点
- 定义:
- 允许一个以上的节点无双亲 - 一个节点可以有多于一个的双亲
- 优点:
- 能直更为直接描述世界 - 存取效率高
- 缺点:
- 结构复杂 - 数据定义语言、数据操纵语言比较复杂,要求用户掌握数据库结构和存取路径,不容易使用
10、关系模型的优点/缺点
- 优点:
- 严格的数学基础 - 概念单一 - 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性,简化开发的工作
- 缺点:
- 查询效率不如非关系数据模型
11、三级模式的定义及其优点/缺点
- 定义:
- 外模式——子模式或用户模式 - 模式——逻辑模式 - 内模式——存储模式
- 优点:
- 外模式/模式映象和模式/内模式映像(两级映像)使得数据具有较高的逻辑独立性和物理独立性
12、数据库系统的组成
- 数据库
- 数据库管理系统
- 应用系统
- 数据库管理员
- 用户
13、数据库管理员、系统分析员、数据库设计人员、应用程序员的职责
- 数据库管理员:
- 决定数据库信息和内容 - 决定数据库的存储结构和存取策略 - 定义数据安全性和完整性要求 - 监控数据库使用和运行 - 数据库改进和重组
- 系统分析员:
- 应用系统的需求分析和规范说明 - 数据库系统的概要设计
- 数据库设计人员:
- 数据的确定和数据库各级模式的设计 - 参与用户需求调查和系统分析,然后进行数据库设计
- 应用程序员的职责:
- 设计和编写应用系统的程序设计,并进行调试和安装
14、ALPHA语言
- 语法格式:GET 工作空间名 (表达式1) [:条件] [DOWN | UP 表达式2 ]
- 例子:
- 查询信息系(IS)中年龄小于20岁的学生的学号和年龄 - GET W (Student.Sno,Student.Sage): Student.Sdept='IS'∧ Student.Sage<20 - 查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序 - GET W (Student.Sno,Student.Sage): Student.Sdept='CS‘ DOWN Student.Sage
15、SQL语言特点
- 综合统一:数据定义、操纵、控制于一体
- 高度非过程化
- 面向集合的操作方式
- 自含式语言、嵌入式语言
- 语言简洁,易学易用
16、RESTRICT和CASCADE的区别
- RESTRICT:表的删除是有限制的,如有依赖,则删除失败
- CASCADE:表的删除是没有限制的,如有依赖,一并删除
17、视图的优点
- 简化用户操作
- 多角度看待同一数据
- 一定的逻辑独立性
- 安全保护
18、视图的更新
- 基本表的行列子集视图一般可更新
- 若视图的属性来自聚集函数、表达式,则肯定不可更新
19、数据库安全性控制的常用方法与技术
- 用户身份鉴别
- 多层存取控制
- 视图技术
- 审计
- 数据加密
20、自主存取控制、强制存取控制
- 自主存取控制(B2):各个用户对不同数据对象的存取权限
- 强制存取控制(B2):每个数据对象被标以一定的密级,每个用户也被授予某一个级别的许可证
- 自主的含义:用户可以自主地将权限授予别人
21、权限授予与回收
- GRANT语句的一般格式:
GRANT <权限>[,<权限>]... ON <对象类型> <对象名>[,<对象类型> <对象名>]… TO <用户>[,<用户>]... [WITH GRANT OPTION];
- WITH GRANT OPTION子句:
指定:可以再授予 没有指定:不能传播
- 将角色R1授予用户U1,并且U1可继续授权给其他用户
GRANT R1 TO U1 WITH ADMIN OPTION
22、MAC机制中主体、客体、敏感度标记的含义
- 主体:系统中的活动实体,包括实际用户和用户进程
- 客体:系统中的被动实体,包括文件、基本表、视图、索引
- 敏感度标记:绝密、机密、可信、公开
- 主体敏感度标记:许可证级别
- 客体敏感度标记:密级
23、DBMS的完整性控制机制的三方面功能
- 定义功能
- 检查功能
- 违约处理功能
24、定义完整性约束
- CONSTRAINT 名称 CHECK (条件)
- constraint 名称 foreign key(Deptno) references DEPT(Deptno)
25、断言
- 创建断言的语句格式
CREATE ASSERTION<断言名>- 示例
CREATE ASSERTION ASSE_SC_CNUM1 CHECK(60 >= ALL (SELECT count(*) FROM SC GROUP by cno) );
26、数据库设计的过程
- 需求分析
- 概念结构设计(模式)
- 逻辑结构设计(外模式)
- 数据库物理设计(内模式)
- 数据库实施
- 数据库运维
27、需求分析阶段的设计目标?调查的内容是什么?
- 目标:了解原系统的工作概况,明确用户需求,确定新系统的功能
- 内容:“数据“ 和 “处理”
- 信息需求
- 处理要求
- 安全性与完整性要求
28、数据字典的内容和作用:
- 数据项、数据结构、数据流、数据存储、处理过程
- 对数据的描述,在需求分析阶段建立,概念设计的基础,不断修改、充实、完善
29、数据库的概念结构的定义、特点和设计策略
- 定义:信息世界的结构,既概念模型
- 特点:
- 真实反映
- 易于理解
- 易于转换(成网状、层次)
- 易于更改
- 策略:
- 自顶向上
- 自底向上
- 逐步扩张
- 混合策略
30、逻辑结构设计及其设计步骤
- 将E-R模型转换为DBMS所支持的数据模型相符合的逻辑结构
- 步骤:
- 概念模型—>关系模型
- 对数据模型优化
31、规范化理论对数据库设计的意义
- 为判断关系模式的优劣提供标准
- 指导关系数据模型的优化
- 预测模式可能出现的问题
- 提供自动产生各种模式的算法工具
- 提供严格的理论基础
32、数据库物理设计的内容和步骤
- 为逻辑数据模型选取一个最适合应用要求的物理结构
- 步骤:
- 确定数据库的物理结构,主要指存取方法和存储结构
- 对物理结构进行评价,重点是时间和空间效率
33、为什么要进行数据库的再组织和重构造
- 再组织:重新安排存储位置、回收垃圾、减少指针链
- 重构造:部分修改模式和内模式,既修改逻辑和物理结构
- 原因:物理存储变坏,降低了存取效率,数据库性能下降,应用需求改变了,实体间的联系发生了变化
34、范式理论
- 非平凡的函数依赖:X→Y,但Y⊈X
- (Sno,Cno) ——> Grade
- 平凡的函数依赖:X→Y,但Y⊆X
- (Sno,Cno) ——> Sno
- (Sno,Cno) ——> Cno
- 传递函数依赖
- (Sno,Cno) ——> Mname
- 候选码是最小的超码,超码相对比较大
- 1NF:(表中不含表)
- 强调的是列的原子性,即列不能够再分成其他几列。
- 2NF:(消除部分函数依赖)
- 若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。
- 例子:
S-L-C(Sno, Cno, Sdept, Sloc, Grade) ∈1NF
S-L-C(Sno, Cno, Sdept, Sloc, Grade) ∈ 2NF
非主属性 Sdept 和 Sloc 部分函数依赖于码(Sno, Cno)- 3NF:(消除传递函数依赖)
- 符合2NF,另外非主属性必须直接依赖于主属性,不能存在传递依赖。
- BCNF:(消除主属性对码的部分函数依赖以及传递函数依赖)
- 符合3NF,并且主属性不依赖于主属性
- 在满足第三范式的基础上,且不允许主键的一部分被另一部分或其它部分决定。
- 特定:
- 满足第三范式。
- 所有非主属性对每一个码都是完全函数依赖。
- 所有的主属性对每一个不包含它的码,也是完全函数依赖。
- 没有任何属性完全函数依赖于飞码的任何一组属性。
- 示例:(以下例子 不符合 第BCNF范式)
学生 老师 课程Stu Teacher Course 张三 李开复 数据库 假设:每个老师只教一门课 候选码: (Stu,Teacher)->Course (Stu,Course)->Teacher 这两个码由两个属性组成,而且它们是相互交叉的,所以不存在传递依赖,所以为3NF 但是由于:Teacher->Course,(主键的一部分被另一部分决定),所以不符合BCNF
35、求闭包
36、最小依赖集
37、Armstrong 公理系统
http://www.cnblogs.com/bewolf/p/4445027.html
38、登记日志文件时为什么必须先写日志文件,后修改数据库?
- 当两个操作之间发生故障时,只写入成功一个的时候:
- 若先写数据库,日志文件没写成功,则无法恢复
- 若先写日志文件,数据库没写成功,则执行UNDO操作即可恢复
39、事务重做与回滚策略
- 若故障发生时,T1的事物已开始但未做完则回滚,否则重做
40、故障的恢复策略和方法
事务故障的恢复策略和方法
- 反向扫描文件日志,查找该事务的更新操作
- 对该事物的更新操作执行逆操作,直至读到此事物的开始标记,事务故障恢复完成
系统故障的恢复策略和方法
- 正向扫描日志文件找出在故障发生前已经提交的事务队列和未完成的事物队列
- 对未完成的事务队列中的各个事务执行回滚操作
- 对已经提交的事务队列中的各个事务执行重做操作
- 介质故障的恢复策略和方法
- 装入最新的数据库后备副本,是数据库恢复到最近一次转储时的一致性状态
- 装入转储结束时刻的日志文件副本
- 启动系统恢复命令,由DBMS完成恢复功能
41、检查点技术的优点
- 利用检查点技术,只需从某个时刻开始扫描日志文件,这样就缩短了扫描日志的时间
- 检查点技术不需要执行重做操作
42、数据库镜像的用途
- 保证镜像数据与主数据一致性
- 用途:
- 用于数据库恢复
- 提高数据的可用性(充当从服务器)
43、并发控制
- 保证事务的一致性和隔离性
- 带来数据不一致:
- 丢失修改(结果被覆盖)
- 不可重复读(数据被修改)
- 读脏数据(读到不正确的数据)
44、基本的封锁类型
- 排他锁(写锁)
- 共享锁(读锁)
45、活锁的含义及其避免策略
- 含义:该等待事务等待时间太长,好像被锁住了
- 避免策略:先来先服务
46、死锁的含义及其避免策略
- 含义:事务永远无法结束,形成死锁
- 避免策略:
- 一次封锁(一次将所要使用的数据加锁)
- 顺序封锁(预先规定封锁顺序)
- 诊断死锁:超时法、事务等待图法
47、可串行化的调度
- 定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次次序串行地执行它们时的结果相同
48、两段锁协议
- 先一起获得锁,再一起释放锁,两个阶段分开
49、意向锁的作用和含义
- 提高封锁子系统的效率
- 对任一节点加锁时,先对它的上层节点加意向锁。引进意向锁之后,系统对某一个数据对象加锁时不必逐个检查与下一级节点的封锁冲突了
50、依赖集求候选码
- 四大类型:
- L:属性值出现在左边
- R:属性值出现在右边
- N:属性值两边都没有
- LR:属性值出现在两边
- 定理:
- 若X是L类的属性,则X是R的任一候选码成员
- 若X是R类的属性,则X不在任何候选码中
- 若X是N类的属性,则X必是R的其中一个候选码
- 若X是N和L类的属性,则X是R的唯一候选码
补充:
- 模式分解
- 若要求分解保持函数依赖,则总可以达到3NF, 但不一定能达到BCNF.
- 若要求分解既保持函数依赖,又保持无损连接,则可以达到3NF, 但不一定能达到BCNF.
- 若要求分解保持无损连接,则一定能达到4NF.
- 判断模式分解的保持函数依赖以及无损连接性(见课件——第13讲模式分解.pdf)
- 创建索引
- CREATE UNIQUE INDEX SPJ_NO ON SPJ(Sno ASC,Pno DESC,JNO ASC);
在 DBTG 系统中,数据的存取机制有哪几种?
(1)入口点的存取方法。例如用 HASH 方法,索引方法
(2)导航的存取方法。
(3)用 DBK 直接存取记录的方法。试述 IMS 系统中数据库组织的方法
- IMS 提供了两类数据库组织的方法,HS 和 HD。它们的共同点是:都按 IMS
的层次序列来组织一个数据库记录的逻辑次序。不同点是:HS 类用邻接
法实现层次序列,HD 类用链接法实现层次序列,所以,前者称为层次顺
序,后者称为层次直接。在这两种组织中又按根片段不同的组织方法分
为四种,根片段有两种组织方法,索引的(HISAM、HIDAM)和直接的(HDAM)
即杂凑方法。
- IMS 提供了两类数据库组织的方法,HS 和 HD。它们的共同点是:都按 IMS