当前位置: 首页 > news >正文

【数据库】简答题知识点

数据库系统的结构

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

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

概念模式:是对数据库总全部数据的逻辑结构特征的总体描述,例如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)
即数据库管理系统自动把整个数据库或其中的关键数据复制到另一个磁盘上,且数据库管理系统自动保证镜像数据与主数据的一致性,每当主数据库更新时,数据库管理系统自动把更新后的数据复制过去。

数据库安全

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

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

相关文章:

  • wordpress www data/app开发流程
  • 济南建立网站/建网站教学
  • 广州商城型网站建设/考研培训班哪个机构比较好
  • wordpress github更新/网站推广的具体方案
  • 建设银行手机银行电脑版官方网站/淘宝怎么提高关键词搜索排名
  • 自己做考试题目网站/网站优化seo教程
  • Linux5.4.0内存分配器核心代码解析
  • SpringBoot 结合 MyBatis-Plus 配置多数据源以及结合 p6spy 打印 SQL 日志
  • PPCNN
  • Windows tensorflow、keras虚拟环境搭建记录(使用conda和mamba)
  • Canvas 从进阶到退学
  • 376. 机器任务——最小点覆盖+匈牙利算法
  • [第十二届蓝桥杯/java/算法]F——时间显示
  • 多维表需求管理表自动生成TAPD需求
  • shell总结
  • C++【LRU】
  • SMT工厂及PCB工程师的福音!可视化BOM交互焊接工具来了
  • 阿里「杀手锏」级语音识别模型来了!推理效率较传统模型提升10倍,已开源