【数据库】简答题知识点

数据库系统的结构

数据库系统的逻辑结构可以分为用户级、概念级和物理级三个层次。每个层次的数据库都有自身对数据进行逻辑描述的模式,分另称为外模式、概念模式和内模式。

外模式:是与和具体的应用或者项目有关的逻辑表示,用户可以操作的视图,例如具体的数据库和表。

概念模式:是对数据库总全部数据的逻辑结构特征的总体描述,例如ER图

内模式:描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。比如内部记录类型、索引和文件的组织方式。

求闭包

image-20221222235542627

求最小依赖集

image-20221222235652413

除本求包:去除本身这一个关系求左边的闭包,如果得不到右边的,就说明不可去

如何找出候选码

R<U,Q>,U=(A,B,C,D,E,F,G),Q{AB→C,CD→E,E→A,A→G},求候选码。

第一步:
只出现在→左边的一定是候选码
只出现在→右边的一定不是候选码
→左右都不出现的一定是候选码
→左右都出现的不一定是候选码

只在右:G
只在左:B,D
左右都在:A,C,E
左右都不在:F

所以一定是候选码的有:BDF

第二步:
查看与每个其他属性结合成的子集能否推出其他所有属性,找出元素数量最少的即为候选码。

BDF→BDF
ABDF→ABCDEFG
BCDF→ABCDEFG
BDEF→ABCDEFG
BDFG→BDFG

由于本题仅添加一个属性即可推出所有属性,而且候选码为最少属性数量的集合,因此候选码可以为ABDF或BCDF或BDEF。
如果添加一项不能推出所有属性,可以添加两项继续排查,直至找出能推出所有属性的最少属性集合。

基本概念

1、码:代表数目的符号(分有主码和候选码等)

2、主码:我们在建立数据库的时候,需要为每张表指定一个主码。所谓主码就是在实体集中区分不同实体的候选码。一个实体集中只能有一个主码,但可以有多个候选码。

3、主属性:包含在任一候选关键字中的属性称主属性。

4、非主属性:不包含在主码中的属性称为非主属性。 非主属性是相对与主属性来定义的。

如何判断范式

1NF:数据库的每一列都是不可分割的基本数据项。

2NF:存在非主属性对候选码的完全函数依赖 (不存在非主属性对候选码的 不完全/部分 函数依赖)。

3NF:不存在对候选码的传递函数依赖。

BCNF:所有的主属性对每一个不包含它的码,也是完全函数依赖和不传递依赖

数据库设计

数据库设计可以分为6个阶段: 1. 系统需求分析阶段 2. 概念结构设计阶段 3. 逻辑结构设计阶段 4. 物理结构设计阶段 5. 数据库实施阶段 6. 数据库运行和维护阶段

可串行化

不能交换位置的次序为:(1)不同事务的冲突操作。 冲突操作指的是不同事务对于同一数据的读写操作与写写操作。(2)同一事务的两个操作。

数据库恢复技术

事务(Transaction)是用户定义的一个数据库操作序列, 这些操作要么全做,要么全不做,是一个不可分割的工作单位。

事务的ACID特性:

原子性(Atomicity)
事务是数据库的逻辑工作单位,所有操作要么都做要么都不做;

一致性(Consistency)
如果事务的部分成功,部分失败,这就是“不一致”的状态,要么完成失败的,要么撤销成功的;

隔离性(Isolation)
一个事务的执行不能被其他事务干扰,即并发事务之间是隔离的,互不干扰的;

持续性(Durability )/永久性(Permanence)
一个事务一旦提交,对数据库中数据的改变就应该是永久的。

故障分类

事物故障
即事务没有达到预期的终点(COMMIT或显示的ROLLBACK),因此数据库可能处于不正确状态。恢复程序要在不影响其他事务运行的情况下,强行撤销事务的已完成的修改,这类回复操作称为事务撤销(UNDO)。

系统故障(软故障)
由于掉电、非正常关机等所引起的故障,造成系统停止运作,要重新启动。

介质故障(硬故障)
磁盘损坏、磁头碰撞、瞬时强磁场干扰等破坏数据库或部分数据库并影响正在存取这部分数据的所有事务。

计算机病毒
这是人为破坏的计算机程序。

数据库恢复

转储是数据库恢复中采用的基本技术,即指数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程。

数据库镜像(Mirror)
即数据库管理系统自动把整个数据库或其中的关键数据复制到另一个磁盘上,且数据库管理系统自动保证镜像数据与主数据的一致性,每当主数据库更新时,数据库管理系统自动把更新后的数据复制过去。

数据库安全

⾃主存取控制⽅法:定义各个⽤户对不同数据对象的存取对象。当⽤户对数据库访问时⾸先检查⽤户的存取权限。防⽌不合法⽤户对数据库的存取。

强制存取控制⽅法:每⼀个数据对象被(强制地)标以⼀定的密集,每⼀个⽤户也被(强制地)授予某⼀个级别的许可证。系统规定只有具有谋⼀许可证级别的⽤户才能存取某⼀个密级的数据对象

<think>好的,我需要帮用户获取关于数据库简答题及答案。首先,我要回顾用户提供的引用资料,看看哪些内容适合作为简答题的题目和答案。 用户提供的引用包括数据独立性、索引、ROLLBACK语句、表与视图的区别以及SQL语法等。这些都是数据库课程中的基础知识点,非常适合作为简答题。 首先处理数据独立性的问题。引用[1]提到了数据与程序的物理独立性和逻辑独立性,以及为什么数据库系统具有这些独立性。这可以构成一个问题,比如“什么是数据库的数据独立性?请解释物理独立性和逻辑独立性,并说明数据库系统为何具备这些特性?”答案需要分点解释,并引用[1]。 接下来是索引。引用[2]解释了索引的作用和类比,问题可以是“数据库索引的作用是什么?请举例说明其工作原理。”答案需要说明索引的数据结构功能,并提到目录的例子,引用[2]。 关于ROLLBACK语句,引用[3]提到回滚的作用和事务处理,问题可以是“ROLLBACK语句在数据库中的作用是什么?”答案要解释事务回滚和恢复初始状态,引用[3]。 表与视图的区别在引用[4]中有详细说明,可以设计问题:“简述数据库中的基本表与视图的区别与联系。”答案要对比两者的存储和定义,引用[4]。 SQL查询语法在引用[5]中给出,可以问:“SQL查询语句中GROUP BY和HAVING的作用是什么?”答案需解释分组和筛选,并引用[5]。 需要确保每个问题都清晰,答案准确,正确引用来源。同时检查是否覆盖了用户提供的所有引用内容,避免遗漏。此外,格式要符合要求,使用中文,行内公式正确,独立公式单独成段,但这里可能不需要数学公式。最后生成相关问题部分,确保每个问题对应一个引用,并自然添加引用标识。</think>### 数据库简答题及答案 #### 1. 什么是数据库的数据独立性?简述物理独立性与逻辑独立性 **答案**: 数据独立性指应用程序与数据库结构之间的依赖程度较低的特性,分为: - **物理独立性**:数据库的存储结构(如索引、存储方式)改变时,无需修改应用程序[^1]。 - **逻辑独立性**:数据库的逻辑结构(如表结构、关系模式)改变时,应用程序无需调整[^1]。 数据库系统通过三级模式(外模式、模式、内模式)和两层映射(外模式/模式映射、模式/内模式映射)实现数据独立性,保证数据与程序解耦。 --- #### 2. 数据库索引的作用是什么?举例说明其原理 **答案**: 索引是一种数据结构,用于加速数据检索。例如,通过索引可以直接定位到表中满足条件的记录,避免全表扫描。 **原理**:类似于书籍目录,索引存储键值(如字段值)与其物理地址的映射。当执行查询`SELECT * FROM table WHERE id=5`时,索引会直接找到`id=5`对应的磁盘位置,减少I/O开销[^2]。 --- #### 3. ROLLBACK语句的作用是什么? **答案**: `ROLLBACK`用于撤销事务中的所有操作,将数据库恢复到事务开始前的状态。当事务执行失败或违反完整性约束时,通过回滚保证数据一致性。例如,转账事务中若一方扣款失败,`ROLLBACK`会撤销已执行的操作,避免数据错误[^3]。 --- #### 4. 基本表与视图的区别与联系 **答案**: - **区别**: - 基本表独立存储数据,视图是虚表,仅存储定义(如查询语句)[^4]。 - 视图依赖基本表存在,数据随基本表更新而动态变化。 - **联系**: - 视图可基于一个或多个基本表定义,用户可像操作基本表一样查询视图[^4]。 --- #### 5. SQL中GROUP BY和HAVING的作用 **答案**: - **GROUP BY**:按指定字段分组,常用于聚合统计(如统计每个部门的平均工资)[^5]。 - **HAVING**:对分组后的结果筛选(类似`WHERE`,但作用于分组后的数据)。例如: ```sql SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000; ``` 此语句筛选出平均工资超过5000的部门。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半山乱步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值