软考学习笔记

学习资料:

数据库关系模式的范式总结_关系模式范式-CSDN博客

【范式】五大范式所解决的问题及说明_天空_新浪博客 (sina.com.cn)


求函数依赖:

根据函数依赖求候选码_证明存在部分依赖属于候选码-CSDN博客

关系范式:

1NF:若关系模式R的每个关系r的属性值都是不可分的原子值,则称R是第一范式1NF (First Normal Form)的模式。

2NF:

1.对于FD W→A,若存在X⊆W有X→A成立,则称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。完全依赖也称为"左部不可约依赖"。

2.若A是关系模式R中候选键属性,则称A是R的主属性:否则称A是R的非主属性。

3.若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,则称R是第二范式(2NF)的模式。若数据库模式中每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。

3NF:

1.若x→Y, Y→A, 且Y-/->x和A⫋Y,则称X→A是传递依赖(A传递依赖于X)。

  1. 若关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,则称 R是第三范式(3NF)的模式。

3NF的目的是消除非主属性对键的传递函数依赖。

BCNF:

若关系模式R是1NF,且每个属性都不部分依赖也不传递依赖于R的候选键,则称R是 BCNF的模式。

4NF:

设关系R(X,Y,Z),其中X,Y,Z是成对的、不相交属性的集合。若存在非平凡多值依赖,则意味着对R中的每个属性 Ai(i=1,2,...,n)存在有函数依赖 X→Ai(X必包含键)。那么称R是第四范式的模式 。

也就是说,当一个表中的非主属性互相独立时(3NF),这些非主属性不应该有多值。若有多值就违反了第四范式。

5NF:

如果关系模式R中的每一个连接依赖均由R的候选码所隐含,则称此关系模式符合第五范式。

规范化的过程可概括如下:

(1)取原始的1NF关系投影,消去非主属性对键的部分函数依赖,从而产生一组2NF关系。

(2)取2NF关系的投影,消去非主属性对键的传递函数依赖,产生一组3NF关系。

(3)取这些3NF的投影,消去决定因素不是键的函数依赖。产生一组BCNF关系。

(4)取这些BCNF关系的投影,消去其中不是函数依赖的非平多值依赖,产生一组4NF关系。

(5)取4NF关系的投影,消除不是由候选码所蕴含的连接依赖,产生一组5NF关系。

逻辑蕴含

设F是关系模式R(U)中的一个函数依赖集合,X, Y是R的属性子集,如果从F中的函数依赖能够推导出X→Y ,则称F逻辑蕴涵X→Y, 或称X→Y是F的逻辑蕴涵。

相关推荐
Lv11770089 小时前
Visual Studio中的多态
ide·笔记·c#·visual studio
HollowKnightZ9 小时前
论文阅读笔记:Class-Incremental Learning: A Survey
论文阅读·笔记
我命由我123459 小时前
Python Flask 开发问题:ImportError: cannot import name ‘Markup‘ from ‘flask‘
开发语言·后端·python·学习·flask·学习方法·python3.11
全栈陈序员9 小时前
【Python】基础语法入门(二十)——项目实战:从零构建命令行 To-Do List 应用
开发语言·人工智能·python·学习
AA陈超10 小时前
枚举类 `ETriggerEvent`
开发语言·c++·笔记·学习·ue5
小六*^____^*10 小时前
虚拟列表学习
前端·javascript·学习
代码游侠10 小时前
学习笔记——IPC(进程间通信)
linux·运维·网络·笔记·学习·算法
apcipot_rain10 小时前
汇编语言程序设计 从0到1实战笔记
笔记
周小码10 小时前
我用一个周末,写了一个“反内卷“的极简笔记工具
笔记
惜.己10 小时前
前端笔记(三)
前端·笔记