9.数据库转储的意义是什么? 答案: 答:
数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。
动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。 转储还可以分为海量转储和增量转储两种方式。 海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
10.试述事务的概念及事务的四个特性。
答案: 答:
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有四个特性:原子性、一致性、隔离性)和持续性。
11.数据库恢复的基本技术有哪些?
答案: 答:
数据转储和登录日志文件是数据库恢复的基本技术。 当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
12.数据库设计中的规划阶段的主要任务:
答案:是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。
六、编程题 1.表名User
Name Tel Content Date
张三 13333663366 大专毕业 2006-10-11 张三 13612312331 本科毕业 2006-10-15 张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中 (b) 请用sql语句把张三的时间更新成为当前系统时间 (c) 请写出删除名为张四的全部记录
答案:(a) insert into user values('小王','13254748547','高中毕业','2007-05-06'); (b) update user set date=time() where name='张三'; (c) delete from user where name='张四';
2.当前数据库是testdb,在该数据库中,有students、scores、courses、majors四个表,其结构及数据如下所列:
students id
学号
int(11) name 姓名
char(4) sex 性别
char(1) bofd 生日 date mid
专业号 tinyint
1 张三 男 2 王武 女 3 李四 女 4 赵六 女 5 张建国 男 6 赵娟 女 scores id 学号
char(10) term 学期
tinyint cid 课程编号
smallint score 分数
numerirc(4,1)
1 1 2 80.0 1 2 2 76.0
1980-12-03 1980-09-22 1981-03-04 1981-05-24 1980-06-02 1980-08-30 1 3 2 1 4 2
2 2 3 3 3 3 5 6 6 6
courses cid
1 2 4 4 4 4 1 1 2 2 3 3 1 2 4 6 2 2 2 3 60.0 65.0 66.0 NULL 81.0 70.0 67.0 50.0 87.0 86.0
课程编号smallint cname 课程名称chr(24) 1 电子商务概论 2 c语言程序设计 3 MySQL数据库 4 php程序设计 5 FoxPro数据库 6 会计原理 majors mid
专业号tinyint mname 专业名称chr(24) 1 电子商务 2 商务英语 3 计算机硬件 4 计算机软件 5 社区管理 6 日语
不考虑学号、考试科目和学期,计算并列出所有考试成绩中,成绩为优的分数的累加值,和成绩为良的分数的平均值。优和良的界线是90分和80分。(使用一句语句) 答案:select Sum(if(score>90,score,0)) AS 成绩为优的分数累加, avg(if(score between 80 and 89,score,null)) AS 成绩为良的平均成绩
3.当前数据库是testdb,在该数据库中,有students、scores、courses、majors四个表,其结构及数据如下所列:
students id 学号
int(11) name
姓名
char(4) sex 性别
char(1) bofd 生日 date mid 专业号 tinyint 1 张三 男 1980-12-03 1 2 王武 女 3 李四 女 4 赵六 女 5 张建国 男 6 赵娟
女
scores id
学号
char(10) term 学期
tinyint cid 课程编号
smallint score
分数
numerirc(4,1)
1 1 2 80.0 1 2 2 76.0 2 1 3 60.0 2 2 3 65.0 3 4 1 66.0 3 4 2 NULL 3 4 4 81.0 3 4 6 70.0 5 1 2 67.0 6 1 2 50.0 6 2 2 87.0 6 2 3 86.0
courses cid
课程编号smallint cname 课程名称chr(24) 1 电子商务概论 2 c语言程序设计 3 MySQL数据库
1980-09-22 1981-03-04 1981-05-24 1980-06-02 1980-08-30 3 2 1 4 2