1、第一章 数据 数据库中存储的基本对象 描述事物的符号记录。 数据库 长期存储在计算机内,有组织,可共享的大量数据的集合,数据有较小冗余度,较高数据独立性,易扩展性,并可为各种用户共享。 数据库管理系统 位于用户与操作系统之间的一层数据管理软件。功能包括:数据定义,数据组织,存储,管理,数据操纵,数据库的事务管理和运行管理,数据库建立和维护功能,其他 。数据库系统 在计算机系统中引入数据库后的系统。包括:用户 数据库管理员 应用系统 开发工具 数据库管理系统 操作系统 数据库。数据库发展 人工管理-文件系统-数据库系统 数据库系统特点:数据结构化 共享性高 冗余度低 易扩充 独立性高。数据模型
2、包括:概念模型 逻辑模型 物理模型。数据模型组成:数据结构 数据操作,完整性约束。概念模型表示方法:E-R图(实体-矩形,属性-圆形,关系-菱形)。常用数据模型:层次,网状,关系。名词解释:关系-对应一张表,元组-表中的一行,属性-表中的一列,码-表中的某个属性组,域-属性的取值范围,分量-元组中的一个属性值,关系模式-对关系的描述。关系数据模型的操纵:查询,插入,删除,更新。完整性约束:实体完整性,参照完整性,用户自定义完整性。三级模式二级映像:外模式-视图,模式-基本表,内模式-存储结构,外模式/模式映像,模式/内模式映像。第二章 名词解释:域-一组具有相同数据类型的值的集合,笛卡尔积-域
3、上面的一种集合运算,某属性分量个数的乘法运算,关系-域中的子集,候选码-能惟一标识一个元组的某属性组,主码-候选码中的某个,主属性-候选码的诸属性,全码-关系模式的所有属性都是这个关系模式的候选码。关系操作:包括集合运算和关系运算。集合运算:并U 差- 交 笛卡尔积。关系运算:选择 投影 连接 除。基本五项操作:选择 投影 并 差 笛卡尔积。完整性约束:实体完整性-主码不为空,参照完整性-若关系存在引用则取值时必须参照引用,用户自定义完整性-取值符合用户自定义条件。第四章 安全级别:A1-验证设计,B3安全域,B2结构化保护,B1标记安全保护,C2受控的存取保护,C1自主安全保护,D最小保护。
4、C2是安全产品的最低档次。存取控制 1.定义用户权限,并将其登记到数据字典中,2.合法权限检查 自主存取控制(DAC)方法 授权与回收-GRANT,REVOKE。数据库角色 是被命名的一组与数据库操作相关的权限,角色是权限的集合。强制存取控制(MAC)方法 为保证更高程度的安全性 主体是系统中的活动实体,包括用户和进程。客体是系统中的被动实体,受主体操控,包括文件,基本表,索引,视图等。数据库安全性包括:数据库安全性控制 (用户标识和鉴别 存取控制 授权与回收 数据库角色)视图 审计 数据加密 。第六章 范式:4NF BCNF 3NF 2NF 1NF。1NF-表中属性不可再分,2NF-无部分依
5、赖,3NF-无传递依赖。数据依赖公理系统: Armstrong公理系统 自反律() 增广律() 传递律()。合并规则 伪传递规则 分解规则。模式分解: 即是拆表。不同角度的三种定义:1.无损连接性,2.保存函数依赖,3.无损连接性 和 保存函数依赖同时具备。第七章 数据库设计基本步骤: 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护 。1.需求分析(数据字典,数据流图,数据存储描述)2.概念结构设计(概念模型E-R图,数据字典)3.逻辑结构设计(关系,数据模型,非关系,系统结构图)4. 物理结构设计(存储安排,方法选择,存取路径建立,模块设计)5.数据库实施(
6、编写模式,装入数据,试运行,编码程序,测试)6.数据库运行和维护(性能监测,转存/恢复,重组和重构)。第十章 名词解释:事务-用户定义的一个数据库操作序列,要么全做要么全不做,不可分割。事务特性:ACID-原子性,一致性,隔离性,持续性。1.原子性(事务中的操作要么做要么不做),2.一致性(事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态),3.隔离性(事务的执行不能被其他事务干扰),4.持续性(事务一旦提交,它对数据库中数据的改变时永久的)。故障的种类:事务内部故障 系统故障 介质故障 计算机病毒。恢复的实现技术:数据转储 登记日志文件 恢复策略:A.事务故障恢复(步骤:1反
7、向扫描日志 2对事务的更新操作执行逆操作3继续反向扫描日志文件4如此循环处理到事务开始标记)B.系统故障恢复(步骤:1正向扫描日志2对撤销队列中的各事务进行撤销处理UNDO3对重做队列中的各个事务进行重做处理REDO)。第十一章 并发控制:多个用户并发存取数据库时就会产生多个事务同时存取同一数据的情况,若不控制则会出现存取不正确,破坏事务的一致性、隔离性和数据库的一致性,所以DBMS需要提供并发控制机制。并发带来的不一致性:丢失修改 不可重复读 读脏数据 名词解释:丢失修改(两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失), 不可重复读(事务T1
8、读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果), 读脏数据(指事务T1修改某数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据叫“脏数据”,即不正确数据)。 封锁:就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁。类型:排它锁(X锁,写锁),共享锁(S锁,读锁) 。活锁和死锁:活锁(A事务封锁了R数据,B事务请求,等待,A释放后C上,C释放后D上。B有可能永远等待),死锁(A封锁了R1,B封锁了R2,之后又互相等待对方。然后就锁上了)。死锁预防:一次封锁法
9、(一次性得到全部资源) 顺序封锁法(按顺序封锁)。死锁诊断解除:1.超时法,2.等待图法。并发调度的可串行性:可串行化调度(多个事务的并发执行时正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度) 可串行性(是并发事务正确调度的准则,按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度)并发控制目录 封锁 活锁和死锁 并发调度的可串行性(可串行化调度 冲突可串行化调度) 两段锁协议 封锁的粒度(多粒度封锁 意向锁)关系运算实例:并U 差- 交 笛卡尔积 选择 投影 连接 除1. 选择 例:查询信息系全体学生。 Sdept=
10、IS(Student) 。2.投影 例:查询学生的姓名和所在系。 sname,sdept(Student) 。3. 选择+投影 例:查询选修了2号课程的学生的学号。 sno(cno=2(SC)4.连接 例:查询至少选修了一门其先行课为5号课程的学生姓名。sname(cpno=5(course)SCsno,sname(student)5.除 解释:找出两张表中相同属性组中 前表包含所有后表的属性分量的非相同属性组元组集合,这个集合就是除后得到的表。例:查询至少选修1号课程和3号课程的学生号码。建立一个临时关系:KCno1,3 然后求:sno,cno(SC)KSQL语言实例: (SELECT FROM WHERE;) (INSERT INTO VALUES();) (UPDATE SET WHERE;) (DELETE FROM WHERE;) (CREATE VIEW AS SELECT .;)