数据库复习

数据库概论复习记录

单选题

在定义视图, 使用 WITH CHECK OPTION 确保对视图进行 UPDATE, INSERT, DELETE 操作时满足视图定义中的谓词条件

在 SQL 中, EXISTS 关键字用于在 WHERE 子句中进行子查询

关系模型是由 Edgar F.Codd 提出的

对象结构化模型不是常用的数据模型

在数据库安全性控制中, 自主存取控制 (DAC) 允许用户将其拥有的存取权限转授给其他用户

概念模型设计的特点不包括难以向其他数据模型转换

断言在 SQL 中用于指定用户定义的完整性的完整性约束

在关系数据库中, 关系的基数是指关系中元组的数量

SQL 中的外连接操作与普通连接操作的主要区别是外连接操作以指定表为连接主体, 将主体表中不满足连接条件的元组一并输出

数据字典是关于数据库中数据的描述, 即元数据

中国数据库的奠基人是萨师煊

触发器的类型包括行级触发器和语句级触发器

数据模型优化中, 关系数据模型的优化通常以规范化理论为指导

SQL 的特点之一是面向集合的操作方式, 这意味着操作对象, 查找结果可以是元组的集合

关系数据库中, 域是指一组具有相同数据类型的值的集合

关系数据库中, 主码和候选码的区别是主码是候选码中被选定的一个

在 E-R 图向关系模型的转换中, 一个 1:n 联系通常与n 端对应的关系模式合并

如果在 SQL 的UPDATE 语句中省略 WHERE 子句, 会修改表中所有的元组

在 SQL 中, ON 用于指定连接查询中两个表之间的连接条件

过程不是 E-R 图的组成部分

用户定义的完整性包括属性上的约束条件和元组上的约束条件

数据库安全性的核心是指保护数据库以防止不合法造成的数据泄露, 更改或破坏

数据库管理系统 (DBMS) 的主要功能不包括硬件维护

SQL 查询语句中, GROUP BY 用于对查询结果进行分组

数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境

数据库物理设计中, B+树索引存取方法适用于经常在查询条件中出现的属性

在 SQL 中, IS NULL 用于判断属性的值是否为空值

关系数据库中, 自然连接和等值连接的区别是自然连接要求属性名相同, 等值连接不需要

数据库设计的逻辑结构设计阶段负责将概念结构设计阶段设计好的基本 E-R 图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构

三级模式是指模式, 内模式, 外模式

SQL 中用于同时涉及两个以上表的查询的术语是连接查询

数据库视图机制的主要作用是隐藏要保密的数据

数据库实施阶段, 数据装载方法不包括自动数据入库

随机设计法不是数据库设计方法

SQL 中的视图是一个虚表, 不存放数据

在定义基本表时, PRIMARY KEY 用于指定主键

SQL 支持关系数据库的三级模式结构, 存储模式不是三级模式之一

参照完整性规则中, 外码列是否允许空值需要定义为可以允许也可以不允许

数据库的高性能不是数据库的不安全元素

在 SQL 中, INTERSECT 用于执行两个查询结果的交集操作

SQL 中用于修改数据的命令是 UPDATE

触发器的激活时机可以是触发事件的之前, 之后, 之前和之后

SQL 的全称是 Structured Query Language

数据库安全性控制中, 自主存取控制 (DAC) 是实现强制存取控制时首先需要实现的

关系数据库中, 元组和分量分别指笛卡尔积中的每一个元素, 分组中的每一个值

多选题

数据库审计功能的基本功能包括多套审计规则, 审计日志管理功能, 审计分析和报表功能, 提供审计查询方式

数据库系统的特点是数据的共享性高, 冗余度低且易扩充, 数据由数据库管理系统统一管理和控制, 数据独立性高, 数据结构化

数据库系统由数据库, 数据库管理员, 数据库管理系统, 数据四部分组成

参照完整性违约处理包括**级连 (CASCADE) 操作, 设置为空值 (SET-NULL), 拒绝 (NO ACTION)**策略

在定义基本表时, 可以指定UNIQUE, CHECK, FOREIGN KEY, PRIMARY KEY这些完整性约束条件

触发器可以响应DELETE, UPDATE, INSERT

关系数据库中, 投影, 连接, 选择是关系的基本操作

SQL 中用于修改基本表的语句包括DROP COLUMN, ALTER COLUMN, ADD COLUMN

SQL 中视图从基本表导出的表, 基本数据变化, 视图数据也随之改变, 虚表, 不存放数据的特点使其在数据库设计中非常有用

数据库设计的基本步骤包括概念结构设计, 数据库的实施和维护, 逻辑结构设计, 需求分析

数据库设计的特点包括结构设计和行为设计相结合, 数据库建设的基本规律

SQL 中UPDATE, DELETE, INSERT 用于数据更新

SQL 中的外连接包括左右外连接

在 SQL 中, ANY, ALL, EXISTS, IN用于嵌套查询

在 E-R 图向关系模型的转换中, 实体型间的联系可以转换为一个独立的关系模式, m:n联系转换为一个关系模式, 一个实体型转换为一个关系模式

数据模型优化中, 对关系模式进行极小化处理, 对关系模式进行必要分解, 按照数据依赖的理论对关系模式进行分析, 确定数据依赖

数据库加密的类型包括传输加密, 存储加密

关系数据库中, 差, 笛卡尔积, 并是关系代数的运算符

简答题

简述数据库安全性控制中自主存取控制(DAC)和强制存取控制(MAC)的主要区别。

对比方面 自主存取控制(DAC) 强制存取控制(MAC)
控制权 由数据对象的拥有者决定访问权限 由系统统一的安全策略决定
授权方式 通过授权机制(如 GRANT / REVOKE) 基于安全级别或安全标签
权限传播 权限可以转授给其他用户 权限不可转授
灵活性 灵活性高 灵活性低
安全性 安全性相对较低 安全性高
典型应用 一般商业数据库系统 军事、政府等高安全系统

描述数据库系统的三级模式结构及其两级映像,并具体说明。

数据库系统采用三级模式结构,从不同抽象层次描述数据,分别是:

  1. 外模式(External Schema,又称用户模式) 面向具体用户或应用程序,是数据库的局部逻辑视图。 不同用户可以有不同的外模式,外模式只包含用户所需的数据。

  2. 概念模式(Conceptual Schema,又称模式) 描述数据库中全体数据的逻辑结构和约束,是数据库的整体逻辑视图。 一个数据库只有一个概念模式。

  3. 内模式(Internal Schema,又称存储模式) 描述数据在物理存储中的组织方式,如存储结构、索引方式等, 是数据库的物理表示。

为实现数据独立性,在三级模式之间设置了两级映像

  1. 外模式 / 概念模式映像(外–概映像) 描述外模式与概念模式之间的对应关系。 当概念模式发生变化时,只需修改映像而不必修改应用程序, 从而实现逻辑数据独立性

  2. 概念模式 / 内模式映像(概–内映像) 描述概念模式与内模式之间的对应关系。 当存储结构发生变化时,只需修改映像而不必修改概念模式, 从而实现物理数据独立性


请简述数据库管理系统(DBMS)的主要功能。

数据库管理系统(DBMS)的主要功能:

  1. 数据定义功能 提供数据定义语言(DDL),用于定义数据库的结构,包括模式、表、视图、索引等。

  2. 数据操纵功能 提供数据操纵语言(DML),支持对数据的查询、插入、删除和修改等操作。

  3. 数据组织、存储与管理功能 负责数据的存储结构设计、存取路径管理及数据的物理组织,提高存取效率。

  4. 数据库运行管理功能 对数据库的并发访问进行控制,保证数据的一致性与完整性,处理事务管理、并发控制和恢复。

  5. 数据库安全性与完整性控制功能 提供安全机制和完整性约束,防止非法访问和错误数据的产生。

  6. 数据库的建立与维护功能 支持数据库的创建、装载、备份、恢复、重组和性能监控等维护工作。


请简述实体完整性和参照完整性的区别。

实体完整性与参照完整性的区别:

  1. 约束对象不同 实体完整性约束作用于关系中的主键; 参照完整性约束作用于外键与被参照主键(或候选键)之间的关系

  2. 约束内容不同 实体完整性要求主键取值唯一且不能为空,以保证实体的唯一标识; 参照完整性要求外键的取值要么为空,要么必须等于被参照关系中某个主键(或候选键)的值。

  3. 保证的完整性含义不同 实体完整性保证关系中每个元组的唯一性; 参照完整性保证关系之间数据引用的一致性与正确性

  4. 应用范围不同 实体完整性用于单个关系; 参照完整性用于关系之间的联系


请简述SQL的发展历程。

SQL 的发展历程简述:

  1. 起源阶段(20 世纪 70 年代) SQL 起源于 IBM 的 System R 项目,最初称为 SEQUEL,用于关系数据库的数据查询与操作。

  2. 标准形成阶段(20 世纪 80 年代) 1986 年 SQL 被 ANSI 采纳为标准,1987 年被 ISO 采纳,形成统一的 SQL 标准语言

  3. 标准扩展阶段(90 年代) 随着数据库应用的发展,SQL 标准不断扩展,先后出现 SQL-89、SQL-92 等版本,增强了查询能力和完整性约束。

  4. 面向对象与高级特性阶段(21 世纪以来) SQL 标准引入了对象特性、触发器、存储过程、事务控制等高级功能,形成 SQL:1999、SQL:2003 及后续标准。

  5. 实际应用阶段 各主流 DBMS(如 Oracle、MySQL、SQL Server)在遵循标准的基础上进行了扩展,使 SQL 成为事实上的数据库标准语言。


触发器的主要作用是什么?

触发器的主要作用:

  1. 自动执行业务规则 在对表进行插入、删除或修改操作时,自动触发相应操作,实现复杂业务规则的自动控制。

  2. 维护数据完整性 用于实现一些仅靠完整性约束难以完成的完整性检查和维护,保证数据的一致性和正确性。

  3. 实现级联操作 在数据变化时自动执行级联更新或级联删除等操作。

  4. 审计与日志记录 自动记录数据变更情况,用于安全审计和历史追踪。

总结: 触发器通过事件驱动机制,实现数据库中数据操作的自动控制与管理。


简述关系数据库中关系和关系模式的区别。

关系与关系模式的区别:

  1. 含义不同

    • 关系(Relation):是某一时刻数据库中实际存储的数据集合,由若干元组组成,具有动态性。
    • 关系模式(Relation Schema):是对关系的结构性描述,包括关系名、属性及其取值域,是静态的。
  2. 是否随时间变化不同

    • 关系中的数据内容会随着插入、删除和修改而不断变化;
    • 关系模式一般在设计阶段确定,较为稳定,不随数据操作而改变。
  3. 作用不同

    • 关系表示具体数据;
    • 关系模式用于约束和说明关系的结构,是关系的框架。

总结: 关系是关系模式在某一时刻的实例,关系模式决定了关系的结构。


请解释SQL中的视图是什么,并说明其作用。

视图(View)的含义及作用:

1. 视图的概念 视图是由一个或多个基本表(或其他视图)通过查询语句定义的虚拟表。 视图本身不实际存储数据,只存储视图的定义,其数据在使用时动态生成。

2. 视图的主要作用

  • 简化用户操作:将复杂查询封装成视图,用户可像操作普通表一样使用。
  • 提高数据安全性:通过视图向不同用户提供不同的数据子集,隐藏敏感数据。
  • 增强数据独立性:当基本表结构发生变化时,可通过修改视图保持应用程序不变。
  • 集中业务逻辑:便于统一管理和复用查询逻辑。

总结: 视图是一种不存储实际数据的虚拟表,用于简化操作、提高安全性和增强数据独立性。


描述SQL视图的作用,写出下面例子的SQL语句。例:通过创建视图的方式,将学生关系Student(Sno,Sname,Ssex,Sage,Sdept),“垂直”地分成两个基本表:SX(Sno,Sname,Sage)和SY(Sno,Ssex,Sdept)。

一、SQL 视图的作用

  1. 简化用户操作:将复杂查询封装为视图,用户可像访问表一样使用。
  2. 提高数据安全性:通过视图只向用户提供部分属性或部分记录,隐藏敏感数据。
  3. 增强数据独立性:当基本表结构变化时,可通过修改视图减少对应用程序的影响。
  4. 实现逻辑数据重组:可通过视图对基本表进行“水平”或“垂直”分解。

二、例题 SQL 语句

将学生关系 Student(Sno, Sname, Ssex, Sage, Sdept) 通过视图的方式进行垂直分解,定义两个视图:

1
2
3
CREATE VIEW SX AS
SELECT Sno, Sname, Sage
FROM Student;
1
2
3
CREATE VIEW SY AS
SELECT Sno, Ssex, Sdept
FROM Student;

说明:

  • 视图 SXSY 都以 Student 表为基础;
  • 通过公共属性 Sno 可以将两个视图重新连接,恢复原学生关系;
  • 这种方式不改变原表结构,仅在逻辑层次上实现数据分解。

描述E-R模型中实体之间的联系类型有哪些,并给出一个实例。

E-R 模型中实体之间的联系类型及实例:

在 E-R 模型中,实体之间的联系按**基数(数目)**不同,主要有以下三种类型:

  1. 一对一联系(1 : 1)

含义: 一个实体中的一个实例至多与另一个实体中的一个实例相关联,反之亦然。

实例:

  • 学生 — 学生证 一个学生只能对应一个学生证,一个学生证也只属于一个学生。
  1. 一对多联系(1 : N)

含义: 一个实体中的一个实例可以与另一个实体中的多个实例相关联,而反过来只能与一个实例相关联。

实例:

  • 班级 — 学生 一个班级可以有多个学生,而一个学生只能属于一个班级。
  1. 多对多联系(M : N)

含义: 一个实体中的一个实例可以与另一个实体中的多个实例相关联,反之亦然。

实例:

  • 学生 — 课程 一个学生可以选修多门课程,一门课程也可以被多名学生选修。

总结: E-R 模型中实体之间的基本联系类型包括 1:1、1:N 和 M:N,用于描述实体之间的数量对应关系。


简述数据库设计过程中的各级模式包括哪些?

数据库设计过程中涉及的各级模式:

  1. 外模式(用户模式) 在数据库设计的后期形成,面向不同用户或应用需求,描述用户所看到的数据视图。

  2. 概念模式(概念结构) 在数据库设计的核心阶段形成,通常用 E-R 模型 描述,反映整个数据库的总体逻辑结构和语义约束。

  3. 逻辑模式(逻辑结构) 将概念模式转换为某一数据库管理系统支持的数据模型(通常是关系模型),得到关系模式及其约束。

  4. 内模式(存储模式) 描述数据在物理存储中的组织方式,如文件结构、索引方式、存取路径等。

总结: 数据库设计从用户需求出发,依次形成外模式、概念模式、逻辑模式和内模式,逐步由抽象走向具体,实现数据的有效组织与管理。


请解释SQL中的空值(NULL)代表什么?然后向SC表中插入一个元组,学生号是”201215126”,课 程号是”1”,成绩为空。

一、SQL 中空值(NULL)的含义

NULL 表示未知值或不存在的值,它不同于 0、空字符串或空格。 空值表示该属性当前没有值或暂时无法确定其值,在计算、比较和统计时需要特殊处理。

二、向 SC 表中插入元组的 SQL 语句

SC(Sno, Cno, Grade) 表中插入一条记录,其中成绩为空:

1
2
INSERT INTO SC (Sno, Cno, Grade)
VALUES ('201215126', '1', NULL);

说明: 使用 NULL 明确表示该学生该课程的成绩尚未录入或未知。


描述SQL中的连接查询与嵌套查询的主要区别。

SQL 中连接查询与嵌套查询的主要区别:

  1. 实现方式不同

    • 连接查询(JOIN):通过连接条件将两个或多个表在同一查询中进行组合,形成结果集。
    • 嵌套查询(子查询):将一个查询嵌套在另一个查询内部,子查询的结果作为外层查询的条件或数据来源。
  2. 执行逻辑不同

    • 连接查询通常同时对多个表进行处理;
    • 嵌套查询一般先执行子查询,再根据子查询结果执行外层查询。
  3. 表达能力与可读性不同

    • 连接查询结构直观,适合表示表之间的关联关系;
    • 嵌套查询逻辑层次分明,适合表达“满足某条件的集合”。
  4. 效率与适用场景不同

    • 连接查询通常执行效率较高,适合多表联合查询;
    • 嵌套查询在某些情况下效率较低,但书写更灵活,适合复杂条件判断。

总结: 连接查询侧重表之间的关联,嵌套查询侧重条件依赖与结果传递,两者在功能上可相互替代但实现方式不同。


用基于派生表查询的方法,找出每个学生超过他自己选修课程平均成绩的课程号。

下面给出**基于派生表(FROM 子查询)**的方法。设选课表为 SC(Sno, Cno, Grade)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
SELECT s.Sno, s.Cno
FROM SC AS s
JOIN (
    SELECT Sno, AVG(Grade) AS avg_g
    FROM SC
    WHERE Grade IS NOT NULL
    GROUP BY Sno
) AS t
ON s.Sno = t.Sno
WHERE s.Grade IS NOT NULL
  AND s.Grade > t.avg_g;

含义:派生表 t 先求出每个学生的平均成绩,再与 SC 连接,筛选出该学生中成绩高于自己平均成绩的课程号。


请简述数据库逻辑结构设计的主要任务是什么?

数据库逻辑结构设计的主要任务:

  1. 将概念结构转换为逻辑结构 把概念设计阶段得到的 E-R 模型转换为某一 DBMS 支持的数据模型(通常为关系模型)。

  2. 确定关系模式 设计各个关系的属性、主键、外键及关系之间的联系。

  3. 规范化处理 对关系模式进行规范化分析与分解,消除数据冗余和更新异常。

  4. 定义完整性约束 确定实体完整性、参照完整性及用户自定义完整性约束。

  5. 形成逻辑数据库模式 最终给出完整、一致、合理的逻辑数据库结构,为物理设计和实现奠定基础。

总结: 数据库逻辑结构设计的核心任务是把概念模型转化为符合规范、满足应用需求的逻辑数据库模式。


请简述数据库物理设计的主要步骤。

数据库物理设计的主要步骤:

  1. 存储结构设计 选择数据的存储结构和文件组织方式,确定记录格式与存放方式。

  2. 存取路径设计 根据应用需求设计索引、聚簇等存取路径,提高查询和更新效率。

  3. 物理存放位置设计 确定数据在物理介质上的分布方式,如表空间、磁盘位置等。

  4. 性能评价与优化 对物理设计方案进行性能分析,根据运行情况进行调整和优化。

总结: 数据库物理设计的目标是在满足应用需求的前提下,提高数据库系统的存取效率和运行性能。


描述数据库审计的主要目的和基本功能。

数据库审计的主要目的和基本功能:

一、主要目的

  1. 保障数据库安全 通过记录和监控数据库操作,防止和发现非法访问与恶意操作。

  2. 追踪责任与事后取证 在发生安全事件或数据异常时,能够追溯操作来源,明确责任主体。

  3. 满足法规与管理要求 满足安全管理制度、法律法规及行业合规性的要求。

二、基本功能

  1. 审计事件记录 记录用户登录、数据查询、修改、删除、授权等关键操作。

  2. 审计日志管理 对审计日志进行存储、查询、统计和保护,防止被篡改。

  3. 异常行为监控与告警 发现异常或违规操作时,及时报警或采取相应措施。

  4. 审计分析与报告 对审计数据进行分析,生成审计报告,为安全管理提供依据。

总结: 数据库审计通过对数据库操作的记录、监控和分析,实现安全防护、责任追踪和合规保障。


描述关系数据库中实体完整性规则的内容

关系数据库中实体完整性规则的内容:

实体完整性规则是指: 关系中的主键必须唯一,且主键的每一个属性值都不能取空值(NULL)。

具体包括:

  1. 唯一性要求 关系中任意两个不同的元组,其主键值必须不同,用于唯一标识每一个实体。

  2. 非空性要求 主键中的每个属性都不能为 NULL,确保每个元组都能被准确识别。

总结: 实体完整性规则保证了关系中每个元组都具有唯一且确定的标识,是关系数据库完整性约束的基础。

Licensed under CC BY-NC-SA 4.0
最后更新于 Dec 27, 2025 20:29 +0800
发表了102篇文章 · 总计18万7千字
永远相信美好的事情即将发生。
使用 Hugo 构建
主题 StackJimmy 设计