数据库--样题复习

填空题

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图

相关推荐
S1998_1997111609•X1 天前
论当今社会主义与人文关怀人格思想下的恶意仿生注入污染蜜罐描述进行函数值非法侵入爬虫的咼忄乂癿〇仺⺋.
数据库·网络协议·百度·ssh·开闭原则
倔强的石头_1 天前
kingbase备份与恢复实战(六)—— 备份自动化与保留策略:Windows任务计划+日志追溯
数据库
轻刀快马1 天前
别被 ORM 框架宠坏了:从一场“订单消失”悬案,看懂 MySQL 为什么要强推 InnoDB
数据库·mysql
学网安的肆伍1 天前
【043-WEB攻防篇】PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
sql·安全·php
后端漫漫1 天前
Redis 客户端工具体系
数据库·redis·缓存
PaperData1 天前
1988-2025年《中国人口和就业统计年鉴》全年份excel+PDF
数据库·人工智能·数据分析·经管
星河耀银海1 天前
C语言与数据库交互:SQLite实战与数据持久化
c语言·数据库·sqlite·交互
过期动态1 天前
MySQL中的约束
android·java·数据库·spring boot·mysql
程序员陆通1 天前
月烧 400 刀到不到 20 刀:我是怎么把 OpenClaw 的 Token 账单砍掉 95% 的
java·前端·数据库
Shan12051 天前
站在计算机领域视角看:SQL注入攻击
网络·数据库·sql