数据库理论相关
数据库三级模式中,模式 / 内模式映像保证数据的()
A. 逻辑独立性 B. 物理独立性 C. 分布独立性 D. 存储独立性
答案:B
解析:模式是全局逻辑视图,内模式是物理存储视图;模式 / 内模式映像定义逻辑与存储的对应关系,修改存储结构(内模式)无需修改应用程序,保证物理独立性;外模式 / 模式映像保证逻辑独立性。
数据库三级模式:模式、外模式、内模式(DBMS标准三层架构)
一、核心总览(三层,两级映像)
- 外模式(子模式/用户视图) → 面向应用/用户
- 模式(概念模式/全局逻辑视图) → 全库整体逻辑结构
- 内模式(存储模式) → 物理磁盘存储结构
两层映射:外模式↔模式、模式↔内模式,实现逻辑独立性、物理独立性。
1. 模式(概念模式 Concept Schema)
定义
整个数据库全部数据的全局逻辑结构、完整描述,是数据库所有表、关系、约束、实体联系的统一视图。
特点
- 唯一:一个数据库只有1个模式
- 逻辑层:不关心数据怎么存在磁盘,只描述数据有什么、关系是什么
- 包含:所有表、字段、数据类型、主键外键、索引逻辑定义、完整性约束
举例
学生管理库完整结构:学生表、课程表、选课表、教师表及全部关联关系,整套全局逻辑就是模式。
2. 外模式(子模式 Sub Schema / 用户视图 View)
定义
模式的子集,给某一类应用/用户单独使用的局部数据视图。
特点
- 多个:一个数据库可以有多个外模式,不同用户/程序用不同视图
- 面向应用:屏蔽无关数据,只给用户需要的字段,简化使用、安全隔离
- 对应SQL里的视图VIEW
举例
- 学生登录系统:只需要学生姓名、学号、成绩 → 外模式1
- 教师打分系统:教师编号、课程、学生成绩 → 外模式2
- 管理员后台:全部表完整数据 → 另一个外模式
学生看不到教师工资、管理员才能看,靠外模式做权限隔离。
3. 内模式(存储模式 Internal Schema)
定义
数据库底层物理存储描述,描述数据在磁盘上怎么存放。
特点
- 唯一:一个数据库只有1个内模式
- 物理层:和磁盘、文件、存储硬件相关,底层细节
包含内容
- 数据存储文件结构(堆文件、索引文件)
- 索引类型(B+树、哈希索引)
- 数据分区、页块大小、记录存储顺序、压缩、加密、存储位置
举例
MySQL底层:表存在.ibd文件、主键B+树索引、数据按页存储、分区规则,这些物理存储规则就是内模式。
两层映像与数据独立性(考试必背)
外模式 / 模式映像
作用:定义外模式与全局模式的对应关系
带来:逻辑独立性
场景:全局模式新增字段、调整表结构,只要视图(外模式)映射不变,上层应用程序不用改。模式 / 内模式映像
作用:定义全局逻辑数据和物理存储的对应
带来:物理独立性
场景:底层换存储引擎、改索引、迁移磁盘,上层表结构和业务代码完全不受影响。
快速区分
- 外模式:用户看到的局部视图(视图)
- 模式:整个数据库完整逻辑表结构(全局)
- 内模式:数据在硬盘上怎么存(物理底层)
SQL 中 INSERT、UPDATE、DELETE 属于()
A. DDL 数据定义 B. DML 数据操纵 C. DCL 数据控制 D. DQL 数据查询
答案:B
解析:
DDL:CREATE、ALTER、DROP(定义库、表、索引);
DML:INSERT/UPDATE/DELETE/SELECT(增删改查,数据操纵);
DCL:GRANT、REVOKE(权限控制)。
关系模型的基本数据结构是()
A. 树 B. 图 C. 层次 D. 二维表(关系)
答案:D
解析:层次模型用树,网状模型用图,关系模型核心结构为二维表格。
关系规范化中,第一范式 1NF 要求属性满足()
A. 不可再分 B. 无传递依赖 C. 无部分依赖 D. 唯一标识元组
答案:A
解析:1NF 最基础要求:列(属性)原子化,不能拆分;2NF 消除非主属性对主键的部分函数依赖;3NF 消除传递函数依赖。
候选码的定义是()
A. 单个属性 B. 能唯一标识元组的最小属性集
C. 多个任意属性 D. 外键集合
答案:B
解析:候选码可以单个或多个属性组成,核心两点:①能唯一区分每条记录;②去掉任意一个属性就失去唯一标识能力(最小集)。
一张表可以有多个候选码。
例:学生表 (学号,身份证号,姓名)
学号能唯一确定学生;
身份证号也能唯一确定学生;
→ 学号、身份证号都是候选码。
| 对比项 | 候选码 | 主码 (主键) |
|---|---|---|
| 数量 | 一张表≥0/≥1 个 | 一张表最多 1 个 |
| 关系 | 候选码集合包含主码 | 主码是候选码的子集 |
| 作用 | 所有能唯一标识的最小键 | 选定的核心唯一标识 |
| 约束 | 唯一、非重复 | 唯一 + 非空(NOT NULL) |
| SQL 标识 | 无专用关键字 | PRIMARY KEY |
SQL 语言属于()语言
A. 过程化 B. 非过程化 C. 导航式 D. 面向对象
答案:B
解析:非过程化语言只描述 “要什么结果”,不描述 “一步一步怎么做”;SQL 只需写查询条件,由数据库底层规划执行步骤。
函数依赖 F={B→C,C→D},属性 C 的闭包(C^+)=()
A. BCD B. BD C. CD D. BC
答案:C
解析:C 自身属于闭包,由 C→D 可推出 D;无法推出 B,因此 C⁺={C,D}。
给定一组属性 X,依靠函数依赖能推出来的所有属性的集合,就叫 X 的闭包,记作 (X^+)。
两个事务并发修改同一数据,先后覆盖对方写入结果,该问题是()
A. 丢失更新 B. 脏读 C. 不可重复读 D. 幻读
答案:A
解析:丢失更新:两事务同时修改,后提交的数据覆盖先提交的数据;脏读:读到未提交且回滚的数据;不可重复读:同一事务两次读同一数据结果不同;幻读:同一范围两次查询行数不一致。
流程举例:
T1、T2 同时读取余额 = 100
T1 扣 20,算出 80;T2 扣 30,算出 70
T1 先提交,把余额改成 80
T2 后提交,直接覆盖成 70
T1 的修改直接没了,更新操作互相覆盖,丢失一方修改,就是丢失更新。
下列属于平凡函数依赖的是()
A. (Sno,Cno)→Grade B. (Sno,Sname)→Sname
C. Cno→Cname D. Sno→Cno
答案:B
解析:平凡函数依赖:右边属性是左边属性集合的子集,X→Y,Y⊆X。Sname 在左侧集合内,属于平凡依赖。
如果右边的属性本来就包含在左边里,这种函数依赖就叫平凡函数依赖。
形式:(X \rightarrow Y),且 (Y \subseteq X)(Y 是 X 的子集)
平凡函数依赖永远成立,没有任何实际意义。
比如:有 AB 两个属性,那必然能确定 A,是废话,不提供任何信息,做范式分解时直接忽略。
事务的四个特性不包含()
A. 原子性 B. 一致性 C. 共享性 D. 持久性
答案:C
解析:事务四大特性 ACID:原子性 Atomic、一致性 Consistent、隔离性 Isolated、持久性 Durable,无共享性。
外键约束实现数据库哪类完整性()
A. 实体完整性 B. 参照完整性 C. 用户自定义完整性 D. 域完整性
答案:B
解析:实体完整性由主键约束保证;参照完整性由外键约束保证,约束表之间引用关系;用户自定义完整性是 CHECK、UNIQUE 等自定义规则。
视图在数据库三级模式中属于()
A. 内模式 B. 模式 C. 外模式 D. 存储模式
答案:C
解析:外模式面向应用用户,视图是虚拟表,给不同用户提供定制化视图,属于外模式;模式是基本表全局逻辑结构;内模式是物理存储。
事务隔离级别从低到高分别是:读未提交、____、可重复读、串行化。
答案:读已提交
解析:SQL 标准四种隔离级别,隔离程度越高并发性能越差。
关系代数五种基础运算:选择、投影、并、差、笛卡尔积
σ 选择、π 投影、⋈连接、÷ 除、× 笛卡尔积。
数据库系统 DBS 由数据库、硬件、软件、____四部分组成。
答案:数据库管理员 (DBA)
解析:DBS 四大组成:DB 数据库、硬件、DBMS 等软件、人员(DBA 为主)。
消除了部分函数依赖的关系模式最高达到____范式。
答案:2NF
解析:1NF 仅属性不可拆分;2NF 消除非主属性对主键的部分依赖;3NF 消除传递依赖。
封锁主要分为共享锁和____。
答案:排他锁(写锁 / X 锁)
解析:共享锁 S 锁:可读不可写;排他锁 X 锁:读写都独占。
并发调度可串行化的判定标准是不存在____冲突序列。
答案:可交换(冲突可串行化,无冲突环)
解析:冲突可串行化是并发调度正确的充分条件,读写、写读、写写为冲突操作。
两个操作调换执行顺序,所有事务最终结果完全一样,就是可交换。
如果一个并发调度,冲突等价于某一个串行调度,就称它是冲突可串行化的,调度正确,不会出现脏读、不可重复读等问题。
用于权限回收的 SQL 语句是____。
答案:REVOKE
解析:GRANT 授予权限,REVOKE 回收权限。
数据库中用来简化复杂查询、对外屏蔽表细节的对象是____。
答案:视图 (View)
解析:视图基于查询语句生成虚拟表,不存储真实数据,简化查询、安全隔离。
简述事务 ACID 四大特性及其含义。
答案
ACID 分别为原子性、一致性、隔离性、持久性:
①原子性:事务是不可分割最小单元,要么全部执行,要么全部回滚;
②一致性:事务执行前后,数据库完整性约束不被破坏;
③隔离性:多个并发事务之间互不干扰,一个事务看不到其他事务未提交数据;
④持久性:事务提交后,修改永久存入数据库,故障不会丢失。
解析:事务核心特性,故障恢复、并发控制均围绕四大特性设计。
简述实体完整性、参照完整性的规则。
答案
1)实体完整性:主键属性取值不能为空,且整张表主键值唯一,保证每条记录可唯一区分;
2)参照完整性:外键取值两种情况:①等于被参照表主键值;②为空;禁止引用不存在的主键记录。
解析:两类完整性是关系数据库内置强制约束,无需用户额外定义。
什么是丢失更新?如何通过封锁机制解决?
答案
丢失更新:两个事务同时读取同一数据,先后修改提交,后提交事务覆盖前者修改,造成数据丢失。
解决方法:对修改数据加排他锁(X 锁),事务持有 X 锁期间其他事务无法读写,直到事务释放锁,避免并发修改覆盖。
解析:排他锁实现写操作独占,杜绝并发更新冲突。
简述 1NF、2NF、3NF 的规范化要求。
答案
1NF:所有属性原子不可再分,无嵌套、复合字段;
2NF:满足 1NF 基础上,消除非主属性对主键的部分函数依赖;
3NF:满足 2NF 基础上,消除非主属性对主键的传递函数依赖。
解析:逐级规范化,减少数据冗余、插入 / 删除 / 更新异常。
DB、DBMS 和 DBS 三者之间的关系是( )。
A.DB 包括 DBMS 和 DBS B.DBS 包括 DB 和 DBMS
C.DBMS 包括 DB 和 DBS D.不能相互包括
答案:B
解析:DB 是数据库,DBMS 是数据库管理系统,DBS 是数据库系统;数据库系统包含数据库、数据库管理系统、硬件、用户等,因此 DBS 包含 DB 和 DBMS。
在数据库三级模式间引入二级映象的主要作用是( )
A.提高数据与程序的独立性 B.提高数据与程序的安全性
C.保持数据与程序的一致性 D.提高数据与程序的可移植性
答案:A
解析:二级映像分为外模式 / 模式、模式 / 内模式,分别实现逻辑独立性、物理独立性,核心作用是实现数据和程序独立。
视图是一个 “虚表”,视图的构造基于( )
A.基本表 B.视图
C.基本表或视图 D.数据字典
答案:C
解析:视图不存储真实数据,定义可以来自一张 / 多张基本表,也可以基于已有视图创建。
关系代数中的 π 运算符对应 SELECT 语句中的以下哪个子句?( )
A.SELECT B.FROM
C.WHERE D.GROUP BY
答案:A
解析:π 是投影运算,筛选指定列,对应 SQL SELECT;σ 选择运算对应 WHERE。
如何构造出一个合适的数据逻辑结构是( )主要解决的问题。
A.关系系统查询优化 B.数据字典
C.关系数据库规范化理论 D.关系数据库查询
答案:C
解析:规范化理论通过分解表消除冗余、插入 / 删除 / 修改异常,用来设计合理的逻辑数据表结构。
将 E-R 模型转换成关系模型,属于数据库的( )。
A. 需求分析 B. 概念设计
C. 逻辑设计 D. 物理设计
答案:C
解析:数据库设计流程:需求分析→概念设计(画 E-R 图)→逻辑设计(E-R 转关系表)→物理设计。
如果事务 T 已在数据 R 上加了 X 锁,则其他事务在数据 R 上( )
A. 只可加 X 锁 B. 只可加 S 锁
C. 可加 S 锁或 X 锁 D. 不能加任何锁
答案:D
解析:X 是排他锁,加 X 锁后其他事务无法加共享 S 锁、排他 X 锁,必须等待释放。
关系代数中专门的关系运算包括:选择、投影、连接和_________。
答案:除
解析:专门关系运算:选择、投影、连接、除;传统集合运算:并、差、交、笛卡尔积。
并发控制的主要方法是 机制。
答案:封锁
解析:数据库依靠封锁(S 共享锁、X 排他锁)解决并发读写冲突。
若有关系模式 R (A,B,C) 和 S (C,D,E),SQL 语句
SELECT A, D FROM R, S WHERE R.C=S.C AND E = ‘80’ ;
对应的关系代数表达式是 。
答案:(\Pi_{A,D}(\sigma_{E=’80’}(R \bowtie S)))
解析:先将 R、S 按公共 C 自然连接,筛选 E=’80’,最后投影 A、D 两列。




