判断关系属于哪一种范式(期末考试必看)

简介: 判断关系属于哪一种范式(期末考试必看)

1NF(第一范式)

属性值是不可分的原子值

2NF(第二范式)

R1NF,每个非主属性都完全函数依赖于R的候选键

3NF(第三范式)

R1NF,每个非主属性都不传递依赖于 R的候选键

BCNF(BC范式)

R1NF,每个属性都不传递依赖于 R的候选键(定义1)

R1NF,每个非平凡函数依赖的左侧都是超键(定义2)

4NF(第四范式)

R1NF,每个非平凡多值依赖的左侧都是超键

5NF(第五范式)

R1NF,每个连接依赖均由R的候选键蕴含


如果还是不理解可以看这里http://t.csdn.cn/Dwh5c,这里就不细讲了,直接上例题吧!


例1:判断右边关系最高属于哪个范式(BCNF)


零件号 单价

P1 25

P2 8

P3 25

P4 9

任意的二元关系必为(BCNF)


例2:判断右边关系最高属于哪个范式(2NF)


材料号 材料名 生产厂

M1 线材 武汉

M2 型材 武汉

M3 板材 广东

M4 型材 武汉

材料号→材料名,材料名→生产厂

唯一候选键:材料号

R的候选键为单属性→R2NF

非主属性生产厂对候选键材料号传递依赖→R3NF


例3:关系W(工号,姓名工种定额)规范到3NF,最合适的

A.W1工号,姓名),W2(工种,定额)

B.W1(工号,工种,定额),W2(工号,姓名)

C.W1(工号,姓名,工种),W2(工种,定额)

D.以上都不对


分析:


F={工号→姓名,工号→工种,工种→定额}

唯一候选键:工号

A:W1 和 W2 没有公共属性

B:有传递依赖


例4:R(ABCD), F ={B→C,C →D,D → A}

判断R最高属于哪个范式

A.1NFB.2NFC.3NFD.BCNF


分析:

唯一候选键 B

B→C, C→D (CB, DC. C 不能推B)

非主属性 D 传递依赖于候选键 B,R3NF

所有函数依赖左边都是单属性,不存在部分依赖,R2NF


例5:R(STJ), F = {(S,J)→T,(S,T)→ J,T → J}}

判断R最高属于哪个范式


分析:

候选键 (S,J),(S,T)

所有属性都是主属性,R3NF

T →J左边不是超键,RBCNF


目录
打赏
0
1
1
0
62
分享
相关文章
学习心得:什么是死锁,如何避免死锁
学习心得:什么是死锁,如何避免死锁
|
8月前
|
什么是视图?详细解析与应用指南
【8月更文挑战第31天】
1369 0
会SQL语句,就能快速开放你的数据接口API
会SQL,就能开放你的数据API接口。 如果你是非技术开发工程,不熟悉Java、PHP、Python、Golang这些后端的编程语言,但熟悉MySQL、Oracle、SQL Server、PostgreSQL这些数据库的查询操作,当你需要把现有的数据库的数据,通过API接口形式提供给外部人员使用时,使用派框架·接口大师这个工具,就能轻松实现。
spring-boot集成spring-brick实现动态插件
spring-boot集成spring-brick实现动态插件
1272 0
阿里云环境中TLS/SSL握手失败的场景分析
TLS/SSL握手是一个相对复杂的过程,在阿里云环境中结合产品,安全等特性,可能会让TLS/SSL握手过程的不定性更多。本文来总结下各种握手失败的场景。
10856 3
如何在 Ubuntu 12.04 VPS 上安装和配置基本的 LDAP 服务器
如何在 Ubuntu 12.04 VPS 上安装和配置基本的 LDAP 服务器
125 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等