
术语 | 英文 | 含义 |
|---|---|---|
数据库 (DB) | Database | 长期存储在计算机内、有组织、可共享的数据集合。 |
数据库管理系统 (DBMS) | DBMS | 管理和控制数据库的软件系统,如 MySQL、Oracle、SQL Server。 |
数据库系统 (DBS) | Database System | 包括 数据库 + DBMS + 应用程序 + 用户 + DBA 的整体系统。 |
数据库管理员 (DBA) | Database Administrator | 负责数据库设计、维护、安全、备份等工作的专业人员。 |
类型 | 特点 | 是否常用 |
|---|---|---|
层次模型 | 树形结构,父子关系明确,查询效率高但灵活性差 | 已淘汰 |
网状模型 | 图结构,支持多对多联系,复杂难维护 | 少用 |
关系模型 | 二维表形式,结构简单,支持SQL,主流使用 | 必考 |
面向对象模型 | 支持类、继承、封装,适合复杂对象 | 了解即可 |
NoSQL 模型 | 键值、文档、列族、图数据库,用于大数据场景 | 扩展考点 |
📌 重点记忆:目前主流是关系模型,NoSQL 是趋势。
层次 | 英文 | 功能 | 对应用户 |
|---|---|---|---|
外模式(子模式) | External Schema | 用户看到的局部数据视图 | 普通用户 |
概念模式(模式) | Conceptual Schema | 全局逻辑结构,所有用户的公共视图 | DBA、设计者 |
内模式(物理模式) | Internal Schema | 数据的物理存储方式(文件组织、索引、压缩等) | 系统程序员 |
两级映像:
常考题型:问“修改索引不影响应用程序”体现的是哪类独立性?→ 物理独立性
术语 | 英文 | 说明 |
|---|---|---|
关系(Relation) | Relation | 一张二维表 |
元组(Tuple) | Tuple | 表中的一行记录 |
属性(Attribute) | Attribute | 表中的一列字段 |
域(Domain) | Domain | 属性取值的范围,如年龄 ∈ [0,150] |
候选键(Candidate Key) | Candidate Key | 能唯一标识元组的最小属性集 |
主键(Primary Key) | Primary Key | 从候选键中选定的一个作为主标识符 |
外键(Foreign Key) | Foreign Key | 引用其他表主键的属性,实现参照完整性 |
超键(Super Key) | Super Key | 包含候选键的任何属性集(允许冗余) |
💡 记忆口诀: 候选键 → 不重不缺;主键 → 选一个;外键 → 引用它表主键
类型 | 英文 | 说明 | 示例 |
|---|---|---|---|
实体完整性 | Entity Integrity | 主键不能为 NULL,且唯一 | PRIMARY KEY 自动满足 |
参照完整性 | Referential Integrity | 外键必须为空或等于被引用表的主键值 | ON DELETE CASCADE |
用户定义完整性 | User-defined Integrity | 自定义规则,如性别只能是 ‘男’ 或 ‘女’ | CHECK (sex IN ('男','女')) |
运算符 | 英文 | 符号 | 说明 |
|---|---|---|---|
选择(Selection) | σ (sigma) | σ条件® | 选出满足条件的行 |
投影(Projection) | π (pi) | π属性列表® | 选出指定的列 |
并(Union) | ∪ | R ∪ S | 两表合并(去重),属性相同 |
差(Difference) | − | R − S | R中有而S中没有的元组 |
笛卡尔积(Cartesian Product) | × | R × S | 所有组合 |
连接(Join) | ⋈ | R ⋈ S | 按条件关联两表 |
自然连接(Natural Join) | ⋈ | R ⋈ S | 自动匹配同名属性并去重 |
除(Division) | ÷ | R ÷ S | 找出“包含所有S中属性值”的元组 |
典型例题: 设有学生表 S(Sno, Sname),选课表 SC(Sno, Cno),求“选修了所有课程的学生姓名”。 解法:
π_Sname(S ⋈ (SC ÷ π_Cno(C)))
类别 | 英文 | 命令 | 功能 |
|---|---|---|---|
DDL | Data Definition Language | CREATE, ALTER, DROP | 定义数据库对象 |
DML | Data Manipulation Language | INSERT, UPDATE, DELETE | 操作数据 |
DQL | Data Query Language | SELECT | 查询数据(核心) |
DCL | Data Control Language | GRANT, REVOKE | 权限管理 |
TCL | Transaction Control Language | COMMIT, ROLLBACK, SAVEPOINT | 事务控制 |
注意:虽然
SELECT属于 DQL,但广义上也被归入 DML。
-- 创建表(DDL)
CREATE TABLE Student (
Sno CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Age INT CHECK (Age BETWEEN 0 AND 150),
Dept VARCHAR(30)
);
-- 插入数据(DML)
INSERT INTO Student VALUES ('20250001', '张三', 20, '计算机');
-- 查询(DQL)
SELECT Sname, Age FROM Student WHERE Age > 18;
-- 更新(DML)
UPDATE Student SET Age = Age + 1 WHERE Dept = '计算机';
-- 删除(DML)
DELETE FROM Student WHERE Age < 16;
-- 授权(DCL)
GRANT SELECT ON Student TO 用户A;
-- 撤销权限(DCL)
REVOKE UPDATE ON Student FROM 用户A;GROUP BYDISTINCT作用:加快查询速度,类似书的目录。
类型:
WHERE age > 20WHERE id = 1001创建语法:
CREATE INDEX idx_name ON Student(Sname);缺点:占用空间,降低插入/更新/删除性能。
常考选择题: “以下哪种情况不适合建索引?” → 答案:频繁更新的字段 或 区分度低的字段(如性别)
阶段 | 工具/输出 | 说明 |
|---|---|---|
需求分析 | 数据流图 DFD、数据字典 DD | 明确功能与数据需求 |
概念结构设计 | E-R 图(实体-联系图) | 抽象现实世界 |
逻辑结构设计 | 转换为关系模式 | E-R → 表,确定主外键 |
物理结构设计 | 存储结构、索引策略 | 优化性能 |
实施与维护 | 建库、建表、调优 | 实际部署 |
转换规则:
范式 | 条件 | 目标 | 常见异常 |
|---|---|---|---|
1NF | 属性不可再分(原子性) | 消除重复组 | 无 |
2NF | 满足1NF + 消除非主属性对主键的部分函数依赖 | 消除部分依赖 | 更新异常 |
3NF | 满足2NF + 消除非主属性对主键的传递函数依赖 | 消除传递依赖 | 插入/删除异常 |
BCNF | 满足3NF + 每个决定因素都是候选键 | 更彻底消除依赖 | —— |
💡 记忆技巧:
经典例子: 表:
选课(学号, 课程号, 成绩, 教师, 教师办公室)
选课(学号, 课程号, 成绩, 教师) 和 教师(教师, 办公室)特性 | 英文 | 说明 |
|---|---|---|
原子性 | Atomicity | 事务中的操作要么全做,要么全不做 |
一致性 | Consistency | 事务执行前后,数据库处于一致状态 |
隔离性 | Isolation | 并发执行时,事务之间互不干扰 |
持久性 | Durability | 一旦提交,永久保存 |
问题 | 说明 | 示例 |
|---|---|---|
丢失修改 | T1改后T2覆盖 | 两人同时改余额 |
不可重复读 | T1两次读取数据不同 | T2在T1读期间修改了数据 |
读“脏”数据 | 读到未提交的数据 | T1回滚后,T2读到了错误值 |
封锁协议(Locking Protocol)
锁类型 | 英文 | 允许操作 |
|---|---|---|
共享锁(S锁) | Shared Lock | 读锁,可并发读 |
排他锁(X锁) | Exclusive Lock | 写锁,独占访问 |
封锁规则:
两段锁协议(2PL):事务分为“加锁段”和“解锁段”,保证可串行化。
故障类型 | 说明 | 恢复手段 |
|---|---|---|
事务故障 | 逻辑错误或中断 | ROLLBACK |
系统故障 | 断电、崩溃 | 利用日志重做/撤销 |
介质故障 | 磁盘损坏 | 依靠备份 + 日志恢复 |
日志(Log)技术
<T, X, old_value, new_value>检查点(Checkpoint):定期记录所有活动事务,加快恢复速度。
措施 | 说明 |
|---|---|
身份认证 | 用户名+密码、双因素认证 |
访问控制 | 自主存取控制(DAC)、强制存取控制(MAC) |
视图机制 | 隐藏敏感数据 |
审计(Audit) | 记录操作日志,用于追踪 |
数据加密 | 存储加密、传输加密(SSL/TLS) |
方法 | 说明 |
|---|---|
索引优化 | 在 WHERE、JOIN、ORDER BY 字段建索引 |
查询优化 | 避免 SELECT *,减少子查询嵌套 |
分区(Partitioning) | 按时间、范围、哈希等拆分大表 |
分库分表 | 水平/垂直拆分,提升并发能力 |
缓存 | 使用 Redis 等缓存热点数据 |
操作 | 说明 |
|---|---|
切片(Slice) | 固定某一维,看二维子集 |
切块(Dice) | 选取多维子集 |
钻取(Drill Down) | 从汇总 → 细节(年 → 季 → 月) |
上卷(Roll Up) | 从细节 → 汇总(月 → 季 → 年) |
旋转(Pivot) | 改变展示维度 |
类型 | 代表产品 | 特点 | 适用场景 |
|---|---|---|---|
键值存储 | Redis, DynamoDB | 简单、高性能 | 缓存、会话存储 |
文档存储 | MongoDB, CouchDB | JSON格式,灵活 | 内容管理、日志 |
列存储 | HBase, Cassandra | 高可扩展,适合稀疏数据 | 大数据、日志分析 |
图数据库 | Neo4j | 处理复杂关系 | 社交网络、推荐系统 |
三者只能满足其二:
V | 含义 |
|---|---|
Volume | 数据量巨大 |
Velocity | 数据产生和处理速度快 |
Variety | 数据类型多样(结构化、半结构化、非结构化) |
Value | 价值密度低,需挖掘 |
软考数据库系统工程师案例分析题(下午科目)通常为3道主观题,满分75分,及格线为45分。题型包括:
中文 | 英文 | 音标(近似) | 备注 |
|---|---|---|---|
数据库 | Database | /ˈdeɪtəbeɪs/ | 常缩写 DB |
数据库管理系统 | DBMS | /ˌdiː biː ɛm ˈɛs/ | 必考缩写 |
模式 | Schema | /ˈskiːmə/ | 注意发音 |
实体 | Entity | /ˈɛntəti/ | E-R图核心 |
属性 | Attribute | /əˈtrɪbjuːt/ | 字段 |
元组 | Tuple | /ˈtʌpəl/ | 一行数据 |
关系 | Relation | /rɪˈleɪʃən/ | 一张表 |
域 | Domain | /doʊˈmeɪn/ | 取值范围 |
主键 | Primary Key | /ˈpraɪməri kiː/ | PK |
外键 | Foreign Key | /ˈfɔːrən kiː/ | FK |
候选键 | Candidate Key | /ˈkændɪdət kiː/ | 可选主键 |
超键 | Super Key | /ˈsuːpər kiː/ | 包含候选键 |
约束 | Constraint | /kənˈstreɪnt/ | 如主键、唯一 |
完整性 | Integrity | /ɪnˈtɛɡrəti/ | 实体/参照 |
视图 | View | /vjuː/ | 虚拟表 |
索引 | Index | /ˈɪndɛks/ | 提升查询 |
触发器 | Trigger | /ˈtrɪɡər/ | 事件驱动 |
存储过程 | Procedure | /prəˈsiːdʒər/ | 预编译SQL块 |
事务 | Transaction | /trænˈzækʃən/ | ACID |
提交 | Commit | /kəˈmɪt/ | 永久保存 |
回滚 | Rollback | /ˈroʊlbæk/ | 撤销操作 |
锁 | Lock | /lɒk/ | S锁/X锁 |
死锁 | Deadlock | /ˈdɛdlɒk/ | 循环等待 |
并发 | Concurrency | /ˈkɒn(k)ərənsi/ | 多事务同时执行 |
备份 | Backup | /ˈbækʌp/ | 数据保护 |
恢复 | Recovery | /rɪˈkʌvəri/ | Restore |
日志 | Log | /lɒɡ/ | 记录操作 |
数据仓库 | Data Warehouse | /ˈdeɪtə ˈwɛrhaʊs/ | DW |
数据挖掘 | Data Mining | /ˈdeɪtə ˈmaɪnɪŋ/ | DM |
联机分析处理 | OLAP | /ˈoʊlæp/ | 分析型 |
大数据 | Big Data | /bɪɡ ˈdeɪtə/ | 4V特性 |
NoSQL | NoSQL | /noʊ ˈsiːkwəl/ | 非关系型 |
查询 | Query | /ˈkwɪri/ | SELECT |
规范化 | Normalization | /ˌnɔːrməlaɪˈzeɪʃən/ | 1NF~BCNF |
反规范化 | Denormalization | /diːˌnɔːrməlaɪˈzeɪʃən/ | 提高性能 |
冗余 | Redundancy | /rɪˈdʌndənsi/ | 重复数据 |
安全 | Security | /sɪˈkjʊərəti/ | 访问控制 |
隐私 | Privacy | /ˈpraɪvəsi/ | 数据保护 |
迁移 | Migration | /maɪˈɡreɪʃən/ | 数据迁移 |
数据库管理员 | DBA | /ˌdiː biː ˈeɪ/ | 核心角色 |
集群 | Cluster | /ˈklʌstər/ | 多节点 |
分区 | Partition | /pɑːrˈtɪʃən/ | 拆分表 |
复制 | Replication | /ˌrɛplɪˈkeɪʃən/ | 主从同步 |
模块 | 占比 | 重点 |
|---|---|---|
SQL语法 | 20% | SELECT、JOIN、子查询、约束 |
事务与并发 | 15% | ACID、封锁、死锁 |
规范化 | 15% | 判断范式、分解表 |
E-R图转换 | 10% | M:N转中间表 |
索引与性能 | 10% | 何时建索引 |
数据仓库 | 8% | OLAP操作 |
NoSQL | 7% | CAP、4V |
安全备份 | 5% | 日志、权限 |
最后提醒: 软考注重基础扎实 + 综合应用,不要死记硬背,要理解原理。英语词汇虽少,但几乎每年必考3~5道术语题,务必熟记!
祝你顺利通过软考,成为真正的“数据库系统工程师”!