第六章
1.理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、超码、主码、外码、全码、1NF、2NF、3NF、BCNF、多值依赖、4NF。
函数依赖:设R(U)是属性集U上的关系模式,X、Y是U的子集。若对R(U)的任何一个可能的关系r, r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。
部分函数依赖:若某关系模式的主键是(A,B),其中的一个属性C存在A→C,则称C对主键部分函数依赖
完全函数依赖:若某关系模式的主键是(A,B),当且仅当(A,B)→C,则称C对主键完全函数依赖
传递依赖:A→B,B→C,则称C对A传递函数依赖,记作A→→C
候选码:属性或属性组合,其值能够唯一地标识一个元组。
超码:可以唯一标识一组实体的码,候选码是他的子集。
主码:从候选码中选取的一个码作为主码
外码:其他表的主码称为外码
全码:全部属性构成一个候选码,就叫做全码
1NF:不存在不可分割的数据项
2NF:在1NF的基础上消除了非主属性对主属性的部分函数依赖
3NF:在2NF的基础上消除了非主属性对主属性的传递函数依赖
BCNF:在3NF的基础上消除了主属性对码的部分和传递函数依赖
4NF:在BCNF的基础上消除非平凡且非函数依赖的多值依赖
2.建立一个关于系、学生、班级、学会等诸信息的关系数据库……
如下图:(暂时认为不存在重名,若存在重名,姓名就不能作为学生表的主键)
第7章
7.用E-R图画出此学校的概念模型
(如下图)
9.什么是数据库的逻辑结构设计?试述其设计步骤
数据库的逻辑结构设计就是把概念设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为:1、将概念结构转换为关系模型;2、对数据模型进行优化
10.试把习题七的E-R图转换为关系模型
第八章
2.对学生-课程关系数据库编写存储过程
如下图,感觉有些难(游标老师好像就提了一下)
第九章
1.试述查询优化在关系数据库系统中的重要性和可能性
重要性:查询优化在关系数据库系统中有着非常重要的地位。关系数据库系统和非过程化的SQL之所以能够取得巨大的 成功,关键得益于查询优化技术的发展。它是影响关系数据库管理系统性能的关键因素。
可能性:由于关系表达式的语义级别较高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性。
第十章
1.试述事务的概念及事务的四个特性。恢复技术能保证事务的哪些特性?
事务:指要做或者所做的事情
四个特性:原子性,持续性,隔离性,一致性。
恢复技术能保证原子性、一致性、持续性。
(hh有话说:这个原子性和一致性是密不可分的,意思就是一个事情一旦开始做了,要么不做,要么就做完。持续性是往往与硬件的存储有关系,恢复技术最后的落脚点还是数据存储)
2.为什么事务非正常结束时会影响数据库数据的正确性?请举例说明之?
比如说银行转账,A向B转入100w,我们先执行A账户减少100w,这时事务非正常结束了。但是我们的B账户却还没来得及增加100w,所以最后AB的余额是不正确的。
3.登记日志文件时为什么必须先写日志文件,后写数据库?
因为若先写数据库,此时发生故障,就无法写日志文件。而如果先写日志文件,此时发生故障,我们可以利用数据库恢复技术,利用存储在日志文件中的冗余数据来重建数据库
4.哪些需要重做,哪些需要回滚
答主做错了,答主也没书
5.写出ABC的值
(1)A: 8 ;B: 7 ;C: 13
(2)A: 10 ;B: 0 ;C: 11
(3)A: 10 ;B:0 ;C:11
(4)A: 10 ;B:0 ;C:11
(5)A: 10 ;B:0 ;C:11
(6)A: 0 ;B: 0 ;C: 0
即只要是重做或者回滚的,所有指令都失效
第11章
1.数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性
数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
并发控制可以保证事务的【一致性】和【隔离性】
2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
三类:丢失修改、不可重复读、读“脏”数据。
避免不一致性的方法和技术就是并发控制,最常见的技术就是封锁技术。
3.什么是封锁?基本的封锁类型有几种?试述他们的含义?
封锁就是事务S在对某个数据对象(例如表、记录等)进行操作之前,先向系统发出请求,对其加锁。加锁后事务S就对该数据对象有了一定的控制,在事务S释放它的锁之前,其他的事务不能更新此数据对象。
基本的封锁类型:排他锁和共享锁。
8.什么样的并发调度是正确的调度?
事务的非并发调度的某一种结果与并发调度相同,则该并发调度就是正确的调度
9.如下图
(我觉得让咱写两段锁的概率不大)