您的位置: 首页 > 生活常识 >

数据库范式判断技巧(判断类 题型、解题的套路、步骤)

100次浏览     发布时间:2026-03-30 01:35:32    

讲题之前,我们先来理顺一下相关的知识点,及其概念。

什么是范式?

关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式;

什么是规范化?

一个低一级范式关系模式通过模式分解,可以转换为若干个高一级的范式的关系模式的集合,这个过程就叫做规范化;

什么是部分依赖?

我这里不详细的说明直接依赖的具体定义规范,有想知道的可自行百度。这里我只例举一个例子:

假设 AB为候选码; 若 Bㅡ> C ,因为 C 依赖于 B,而 B 是候选码的一部分,所以 C 部分依赖于 AB;

什么是直接依赖?

由单个候选键直接推出;

什么是传递依赖?

设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

例如:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A

判断是否是传递依赖的条件:① 满足B——>A,A——C 其中B为候选键,C为非键属性,② 但是A不能推出B

重点来了: 什么是候选键/候选码?

定义: 能唯一标识关系中元组的一个属性或属性集,称为候选键(Candiate Key)

不含多余属性的键;

如何找候选码?

① L类:某一个属性全部出现在函数依赖的左边 ② R类:某一个属性全部出现在函数依赖的右边 ③ LR类:出现在函数依赖的左右两边 ④ N类:不出现在函数依赖中

找的规则:

⑴ 可能成为候选键的有L类,LR类和N类,R类属性不可能称为候选键的属性; ⑵ 如果是L类,则求出他的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键; ⑶ 如果是LR类,求出其闭包,若能推出所有属性,则为候选键;若不包含,再找出其中一个属性与其结合; ⑷ 如果是N类,直接为候选键;

好了,现在基本的概念我们已经有了一些了解,在这里我在再次强调一下,你一定要会怎么找候选码即候选键,因为这是判断范式的重要依据;

下面给大家康康具体的解题步骤:

有如下流程图:

分析一下 :

⑴ 判断非键属性是否部分依赖于候选键; 是则为1NF,否则进行⑵;

⑵ 判断非键属性是否传递依赖于候选键; 是则为2NF,否则进行⑶;

⑶ 判断所有依赖下左边是否全为候选键; 是则为BCNF,否则为3NF;