原文筆記

本課程筆記資料庫系統 · 30 篇
数据库补充习题 70+100 复习索引cs/db/100+70/00-复习索引Day 01 - 数据库100题:单项选择 1-20cs/db/100+70/Day01-数据库100题-选择01-20Day 02 - 数据库100题:单项选择 21-40cs/db/100+70/Day02-数据库100题-选择21-40Day 03 - 数据库100题:单选 41-50,填空 51-60cs/db/100+70/Day03-数据库100题-选择41-50填空51-60Day 04 - 数据库100题:填空 61-80cs/db/100+70/Day04-数据库100题-填空61-80Day 05 - 数据库100题:填空 81-100cs/db/100+70/Day05-数据库100题-填空81-100Day 06 - 数据库70题:试题 1-11cs/db/100+70/Day06-数据库70题-试题01-11Day 07 - 数据库70题:试题 12-25cs/db/100+70/Day07-数据库70题-试题12-25Day 08 - 数据库70题:综合题 1-8cs/db/100+70/Day08-数据库70题-综合01-08Day 09 - 数据库70题:综合题 22-33cs/db/100+70/Day09-数据库70题-综合22-33Day 10 - 数据库70题:综合题 37-47cs/db/100+70/Day10-数据库70题-综合37-47Day 11 - 数据库70题:综合题 48-61cs/db/100+70/Day11-数据库70题-综合48-61Day 12 - 数据库70题:综合题 62-71cs/db/100+70/Day12-数据库70题-综合62-71基础概念与题型全文cs/db/notes/01-基础概念与题型全文SQL语句与数据库操作全文cs/db/notes/02-SQL语句与数据库操作全文数据库编程全文cs/db/notes/03-数据库编程全文数据库设计与规范化全文cs/db/notes/04-数据库设计与规范化全文查询优化、恢复、并发控制全文cs/db/notes/05-查询优化恢复并发控制全文数据库规范化流程cs/db/notes/normalization2025-2026-2 计科数据库系统期末cs/db/pastpapers/25-26cs2024-2025-2 计科数据库系统期末cs/db/pastpapers/db-pastpaper-1数据库系统完整讲义总览与考试题型地图cs/db/tutorial/00-总览与考试题型地图01 数据库基础与关系模型cs/db/tutorial/01-数据库基础与关系模型02 SQL 与关系代数cs/db/tutorial/02-SQL与关系代数03 数据库编程专项:存储过程、触发器、游标、嵌入式 SQLcs/db/tutorial/03-数据库编程专项04 数据库设计、E-R 图与规范化cs/db/tutorial/04-数据库设计ER与规范化05 查询优化专项:关系代数、查询树、优化树cs/db/tutorial/05-查询优化专项06 事务、并发控制与数据库恢复cs/db/tutorial/06-事务并发控制与恢复07 填空选择速记清单cs/db/tutorial/07-填空选择速记清单08 大题答题模板cs/db/tutorial/08-大题答题模板

07 填空选择速记清单

这一章专门背小题。很多内容来自教材固定表述、补充习题和新图判断填空。

一、数据库基础

  • 位于用户和操作系统之间的数据管理软件:DBMS。
  • 数据库系统核心:DBMS。
  • 数据库是长期存储在计算机内、有组织、可共享的数据集合。
  • 数据库系统与文件系统的本质区别:数据结构化。
  • 数据库系统特点:数据结构化、共享性高、冗余度低、独立性高、由 DBMS 统一管理。
  • 数据管理技术阶段:人工管理、文件系统、数据库系统。
  • 数据库中存储的是数据以及数据之间的联系。
  • 数据库建设是硬件、软件、干件三方面结合。这里“干件”指人、管理、制度等因素,教材/旧题常这样写。

二、DB、DBMS、DBS

  • DB:数据库。
  • DBMS:数据库管理系统。
  • DBS:数据库系统。
  • 三者关系:DBS 包括 DB 和 DBMS。

三、DBMS 功能

DBMS 主要功能:

  • 数据定义。
  • 数据组织、存储和管理。
  • 数据操纵。
  • 数据库运行管理。
  • 数据库建立和维护。
  • 通信接口等。

若题目问四大功能,常答:数据定义、数据操纵、数据库运行管理、数据库建立和维护。

四、数据模型

  • 数据模型三要素:数据结构、数据操作、完整性约束。
  • 层次模型:树。
  • 网状模型:图,CODASYL/DBTG。
  • 关系模型:关系/二维表。
  • E-R 图用于概念结构设计。
  • 现实世界的事物对应实体;特征对应属性;事物之间的关联对应联系。

五、三级模式

  • 外模式:单个用户使用的数据视图描述,也叫子模式/用户模式。
  • 模式:全局逻辑结构,也叫概念模式。
  • 内模式:物理存储结构,也叫存储模式。
  • 两级映像:外模式/模式映像,模式/内模式映像。
  • 物理独立性由模式/内模式映像保证。
  • 逻辑独立性由外模式/模式映像保证。

六、关系模型

  • 关系:域的笛卡尔积的子集。
  • 关系数据库中可命名的最小数据单位:属性。
  • 关系中行、列顺序均可交换。
  • 关系中每个属性必须来自同一域。
  • 关系中不允许多值属性。
  • 1NF:每个分量不可再分。
  • 主码属性不能取空值。
  • 外码在允许时可以取空值。
  • 全码关系模式最高通常可达到 BCNF。

七、码

  • 超码:能唯一标识元组的属性组。
  • 候选码:不含多余属性的超码。
  • 主码:选定的候选码。
  • 外码:本关系属性引用另一关系主码。
  • 主属性:包含在任一候选码中的属性。
  • 非主属性:不包含在任何候选码中的属性。

八、关系完整性

  • 实体完整性:主码唯一且非空。
  • 参照完整性:外码要么为空,要么等于被参照关系中某个主码值。
  • 用户自定义完整性:业务规则,如工资范围、年龄范围、性别取值。
  • “年龄 16-25 岁”属于完整性。
  • PRIMARY KEY、FOREIGN KEY、CHECK 属于完整性控制。

九、安全性

  • 数据安全性:防止非法用户非法使用数据库。
  • 授权和撤权属于安全性措施。
  • 常见安全措施:用户标识与鉴别、存取控制、视图、审计、数据加密。
  • 存取权限包括:数据对象、操作类型。
  • 角色:一组权限的集合,可以简化授权工作量。
  • 自主存取控制 DAC:用户可按权限访问对象,授权者可转授。
  • 强制存取控制 MAC:主体和客体按安全级别/密级比较。

十、SQL

  • DDL:CREATE、ALTER、DROP。
  • DML:SELECT、INSERT、DELETE、UPDATE。
  • DCL:GRANT、REVOKE。
  • DELETE FROM SC:删除 SC 表中的全部记录,不删除表结构。
  • DROP TABLE SC:删除基本表。
  • ALTER TABLE Student ADD Email varchar(30):增加列。
  • 建索引:CREATE INDEX idx ON T(col)。
  • 删除索引 SQL Server:DROP INDEX idx ON T。
  • 空值判断:IS NULL、IS NOT NULL。
  • COUNT(*) 统计包含 NULL 的行;COUNT(col) 不统计 col 为 NULL 的行。
  • > ALL:大于子查询结果中的所有值。
  • EXISTS:测试集合是否非空。
  • 视图是虚表,只保存定义,不保存数据。
  • 在视图上不能定义新的基本表。

十一、关系代数

  • 基本运算:并、差、笛卡尔积、选择、投影。
  • 选择:选行。
  • 投影:选列并消去重复元组。
  • 自然连接:公共属性等值连接并去掉重复列。
  • 查询优化应尽早做选择和投影。
  • 最容易产生巨大中间结果的是笛卡尔积和连接。

十二、规范化

  • 规范化目的:减少冗余,消除插入、删除、更新异常,使语义更清晰。
  • “加快查询速度”不是规范化主要目的。
  • 插入异常:应该插入的数据插不进去。
  • 删除异常:不该删除的数据被连带删除。
  • 更新异常:同一事实多处存储导致修改困难和不一致。
  • 2NF:消除非主属性对码的部分依赖。
  • 3NF:消除非主属性对码的传递依赖。
  • BCNF:每个非平凡函数依赖左部都是超码。
  • 两个函数依赖集 F 和 G 等价的充要条件:F+ = G+。

十三、事务与并发

  • 事务:用户定义的一组逻辑一致的程序序列。
  • ACID:原子性、一致性、隔离性、持久性。
  • 事务执行次序:调度。
  • 并发调度正确性标准:可串行化。
  • 并发控制主要方法:封锁机制。
  • 基本锁:S 锁、X 锁。
  • S 锁:可读不可写,其他事务可再加 S 锁。
  • X 锁:可读可写,其他事务不能读写。
  • 两阶段封锁协议可保证冲突可串行化,但可能死锁。
  • 避免活锁:先来先服务。
  • 死锁原因:多个事务互相等待对方持有的资源。
  • 死锁解决:预防、检测解除、超时、一次封锁、顺序封锁。

十四、恢复

  • 恢复:把数据库从错误状态恢复到某个已知正确状态。
  • 恢复基本策略:冗余。
  • 冗余技术:数据转储、登记日志文件。
  • 转储:制作后援副本。
  • 日志文件作用:记录事务更新,用于 UNDO/REDO。
  • WAL:先写日志,后写数据库。
  • 事务故障恢复:UNDO。
  • 系统故障恢复:UNDO 未提交事务,REDO 已提交但可能未写入数据库的事务。
  • 介质故障恢复:装入后援副本,再 REDO 日志中已提交事务。
  • 检查点作用:减少恢复扫描日志范围。
  • 突然停电:系统故障。
  • 磁盘损坏:介质故障。

十五、嵌入式 SQL 与游标

  • 嵌入式 SQL 与主语言通信:SQLCA 和主变量。
  • 主变量在 SQL 中前面加冒号,如 :deptname。
  • SQLCA:SQL 通信区。
  • 游标作用:协调 SQL 集合处理方式与主语言单记录处理方式。
  • SQL Server 游标步骤:定义、打开、读取/推进、关闭、释放。
  • 嵌入式 SQL 更新当前游标行:WHERE CURRENT OF cursor_name。

十六、触发器

  • 触发器是特殊存储过程。
  • 触发器自动触发,不通过 EXECUTE 调用。
  • 触发器一般不带用户手工传入参数;它通过 inserted、deleted 获取本次变更数据。
  • 触发器必须定义在特定表或视图上。
  • SQL Server 触发器使用 inserted 和 deleted 两张临时表。