数据库--样题复习

填空题

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图

相关推荐
爬也要爬着前进6 小时前
redis主从搭建
数据库·redis·缓存
@Mike@6 小时前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
笃行3507 小时前
国产化落地避坑 · 干货向|Oracle 迁金仓 KES,我把外连接消除排在隐性陷阱第一位
数据库
老纪的技术唠嗑局8 小时前
花一年时间整理出的:AI 数据库混合搜索入门实践
数据库
Irene19918 小时前
大数据开发的常见实践:把 SQL 直接写在 Shell 脚本里 ER图 数据血缘
sql·数据血缘·er
川石课堂软件测试8 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
笃行3509 小时前
国产化落地避坑 · 干货向|迁移后那条「测试能过、一上生产就查空」的 SQL,多半栽在 WHERE 函数顺序上
数据库
蓝田~9 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
sunxunyong10 小时前
doris用户资源组配置
数据库
Cloud云卷云舒10 小时前
云卷云舒:HaishanDB的AI原生能力主要应用场景
数据库·人工智能·ai-native·haishandb·移动云长期记忆