数据库--样题复习

填空题

1、DBMS 并发控制的基本单位为___事务_____。

2、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏、这是指数据的 _安全性

3、DB 并发操作通常会带来三类问题:丢失修改、___不可重复读___和读"脏数据"。

三类经典并发问题是:

  • 丢失修改
  • 不可重复读
  • 读脏数据

你也可以记成:
丢失修改、脏读、不可重复读

4、SQL 的 Grant 和 Revoke 语言主要用来维护数据库的____安全性 (更准确地说是用户权限 / 存取权限)_。

  • GRANT:授权
  • REVOKE:收权

它们属于 SQL 的 DCL(数据控制语言) ,本质上是在维护数据库的用户权限 ,因此教材里通常概括成维护数据库的安全性

5、在关系代数运算中,五种基本运算为并、差、笛卡尔积、选择、投影

选择题

1、数据库的独立性是指( )。

A.数据库的数据依赖于用户的应用程序

B.DBMS 与 DB 相互独立

C.用户应用程序与数据库的数据相互独立

D.用户应用程序与 DBMS 相互独立

C.用户应用程序与数据库的数据相互独立

2、数据库的数据完整性为( )

A.数据的正确性

C.数据的一致性 。

B.数据的独立性、可控性

D.数据的正确性、有效性和相容性

D.数据的正确性、有效性和相容性

3、SQL 语言称为( )。

A.结构化定义语言

B.结构化控制语言

C.结构化查询语言

D.结构化操纵语言

C.结构化查询语言

4、关系模式R中的属性全部是主属性,则R的最高范式必定是( )。

A.2NF B.3NF C.BCNF D.4NF

5、登记日志文件时,应该( )。

A.将更新数据库与登记日志文件两个操作同时完成

B.将更新数据库与登记日志文件两个操作按随机的先后顺序完成

C.先登记日志文件,后写数据库的更新

D.先写数据库的更新,后登记日志文件

C.先登记日志文件,后写数据库的更新

简答题

1、简述静态转储、动态转储的含义及优缺点。

静态转储(静态备份)

指在转储期间不允许对数据库进行任何存取和修改,也就是转储前要结束数据库中的所有事务,再进行备份。你的课件里对应为"冷备份/静态:备份前需要结束所有数据库中的事务"。

优点:

转储时数据库处于稳定一致状态,操作简单,恢复时容易处理。

因为没有事务并发执行,所以不会出现"备份时前后数据不一致"的问题。

缺点:

不能与数据库正常运行并行,会中断数据库服务,影响在线业务,适合停机维护场景。课件中也明确写了"限制较多,影响在线业务"。

动态转储(动态备份)

指在转储期间允许数据库继续运行和继续进行事务处理,也就是一边备份,一边允许用户访问数据库。课件里对应为"热备份/动态"。

优点:

不用停机,能保证数据库系统对外正常服务,对在线业务影响小。

适合实际生产环境中的连续运行系统。

缺点:

转储过程中数据库内容可能继续变化,因此单独的数据库副本未必对应某一时刻的完全一致状态,恢复时通常要配合日志文件一起使用。你的课件明确写到:动态备份时"在备份数据的同时也备份数据库重做日志"。

静态转储:停库备份,一致性好,但影响运行。
动态转储:不停库备份,业务不中断,但实现和恢复更复杂,要结合日志。


2、 简述数据库日志文件的含义与作用。

含义:

数据库日志文件是数据库系统对各类执行事件的记录文件,它与事务密切相关。事务执行过程中的开始、提交、中止以及对数据的修改,都会记入日志。课件里写得很清楚:数据库日志是数据库系统内一系列执行事件的记录;日志记录不仅包含数据更新,还包含事务开始/结束等逻辑。

作用:

数据库日志文件的核心作用是用于数据库恢复,保证事务的原子性和持久性

课件中明确指出:

  • 通过分析日志,可以实现事务回滚 ,保证原子性
  • 通过分析日志,可以实现事务重做 ,保证持久性

综合应用题

代码题

sql 复制代码
select CNO,CNAME
from C
where TNAME = '刘老师';

select distinct SC.SNO
from C
inner join SC
on C.CNO = SC.CNO
where C.TNAME = '刘老师';

select SNO,CNO
from SC
where GR is NULL;

select count(*) as num
from SC 
where CNO = 'C01';

select SNO,avg(GR) as avg_gr
from SC 
group by SNO
having count(*) > 5 and min(GR) >=60;
复制代码
SELECT SNO, AVG(GR) AS avg_gr
FROM SC
GROUP BY SNO

意思是:

  • 输出每组的组名 SNO

  • 再对这组里的 GR 求平均值

E-R图

相关推荐
551只玄猫1 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理
q5431470872 小时前
MySQL SQL100道基础练习题
数据库·mysql
zhoupenghui1682 小时前
mysql 中如果条件where中有or,则要求or两边的字段都必须有索引,否则不能用到索引, 为什么?
数据库·mysql·索引
eggwyw3 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-03-23
数据库·人工智能·经验分享·神经网络·chatgpt
2401_894241923 小时前
用Pygame开发你的第一个小游戏
jvm·数据库·python
java修仙传4 小时前
MySQL 事务隔离级别详解
数据库·mysql·oracle
Irissgwe4 小时前
MySQL存储过程和触发器专题
数据库·mysql·oracle