数据库复习——范式(Normal Form)

news2024/11/18 17:35:53

因为上课的时候一直在摸鱼没有听懂,所以复习的时候理解一下数据库中关于范式的相关知识点。涉及范式的定义,以及给定一个函数依赖集判断是那种范式的方法

范式

  迄今为止一共提出了 6 6 6 种范式,他们的关系是 5 N F ⊂ 4 N F ⊂ B C N F ⊂ 3 N F ⊂ 2 N F ⊂ 1 N F 5\rm{NF}\subset 4NF\subset BCNF\subset3NF\subset2NF\subset1NF 5NF4NFBCNF3NF2NF1NF,在这里我们只讨论后 4 4 4 个范式(不讨论 4 N F 4\rm NF 4NF 5 N F 5\rm NF 5NF)。

第一范式(1NF)

  这是关系型数据库最基本的要求。只要是关系型数据库中的关系(即没有“表中有表”等问题),那么它就是 1 N F \rm1NF 1NF

第二范式(2NF)

  定义:若 R ∈ 1 N F R\in1\rm NF R1NF,且每一个非主属性完全函数依赖于任何一个候选码,则 R ∈ 2 N F R\in\rm2NF R2NF。(定义太绕,建议看解读。)

非主属性:一个关系可能有很多候选码,在候选码里面的都是主属性;不在候选码里面的就是非主属性。比如关系 R ( A , B , C , D , E , F ) R(A,B,C,D,E,F) R(A,B,C,D,E,F) 3 3 3 个候选码 A B C \mathit{ABC} ABC C E \mathit{CE} CE D D D,那么主属性就是 A B C D E \mathit{ABCDE} ABCDE,非主属性就是 F F F

  解读:只要不存在非主属性对码的部分依赖,就属于第二范式。
  举一个不是第二范式的例子,关系 R ( A , B , C , D ) R(A,B,C,D) R(A,B,C,D) 里面,已知它的码是 A B \mathit{AB} AB,并且有函数依赖 B → D B\rightarrow D BD。由于不需要知道 A B AB AB,只需要知道其一部分 B B B 就可以得出非主属性 D D D,因此 R R R 不是第二范式。

第三范式(3NF)

  定义:设关系模式 R < U , F > ∈ 1 N F R<U,F>\in 1\rm NF R<U,F>∈1NF,若 R R R 中不存在这样的码 X X X,属性组 Y Y Y 及非主属性 Z ( Z ⊉ Y ) Z(Z\nsupseteq Y) Z(ZY) 使得 X → Y X\rightarrow Y XY Y → Z Y\rightarrow Z YZ 成立, Y ↛ X Y\nrightarrow X YX,则称 R ∈ 3 N F R\in3\rm NF R3NF

这里强调 Y ↛ X Y\nrightarrow X YX 是为了 Z Z Z X X X传递依赖成立。如果 Y → X Y\rightarrow X YX,那么 Z Z Z X X X 就是直接函数依赖

  解读:只要不存在非主属性对码的部分和传递依赖,就属于第三范式。实际上,只要消除了传递依赖,也就顺便消除了部分依赖,所以判定是不是 3 N F 3\rm NF 3NF 时只需看是否存在传递依赖就好了。
  举一个不是第三范式的例子,关系 R ( A , B , C ) R(A,B,C) R(A,B,C) 中,已知它的码是 A A A,存在函数依赖 F = { A → B , B → C , A → C } F=\{A\rightarrow B,B\rightarrow C,A\rightarrow C\} F={AB,BC,AC}。既然 A A A 能够决定 B B B,然后 B B B 又决定 C C C,那么就有 A → 传递 C A\xrightarrow{传递}C A传递 C,所以不是第三范式。

注意这个例子中, C C C 不是主属性。

BC范式(BCNF)

  定义:设关系模式 R < U , F > ∈ 1 N F R<U,F>\in1\rm NF R<U,F>∈1NF,若 R R R 中不存在这样的码 X X X,若 X → Y X\rightarrow Y XY Y ⊈ X Y\nsubseteq X YX X X X 必含有码,则 R ∈ B C N F R\in\rm BCNF RBCNF
  解读:只要所有函数依赖的决定因素都含有码,那么就是BC范式。
  举一个不是BC范式的例子,关系 R ( S , T , J ) R(S,T,J) R(S,T,J) 里面的候选码有 ( S , J ) (S,J) (S,J) ( S , T ) (S,T) (S,T),并且存在函数依赖 F = { ( S , J ) → T , ( S , T ) → J , T → J } F=\{(S,J)\rightarrow T,(S,T)\rightarrow J,T\rightarrow J\} F={(S,J)T,(S,T)J,TJ}。这个关系的决定因素 { ( S , J ) , ( S , T ) , T } \{(S,J),(S,T),T\} {(S,J),(S,T),T} 里面, T T T 是不含码的(虽然是候选码的一部分,但是没有完整包含候选码),所以它不是BC范式。


 各种范式之间的关系总结如下:

练习

1 1 1.指出下列关系模式最高是第几范式(不考虑 4 N F , 5 N F \rm4NF,5NF 4NF,5NF)?
( 1 ) (1) (1) R ( X , Y , Z ) , F = { X Y → Z } R(X,Y,Z),F=\{\mathit{XY}→Z\} R(X,Y,Z),F={XYZ},侯选码 X Y \mathit{XY} XY
( 2 ) (2) (2) R ( X , Y , Z ) , F = { Y → Z , X Z → Y } R(X,Y,Z),F=\{Y→Z, \mathit{XZ}→Y\} R(X,Y,Z),F={YZ,XZY},侯选码 X Y \mathit{XY} XY X Z \mathit{XZ} XZ
( 3 ) (3) (3) R ( X , Y , Z ) , F = { X → Y , X → Z } R(X,Y,Z),F=\{X→Y, X →Z\} R(X,Y,Z),F={XY,XZ},侯选码 X X X
( 4 ) (4) (4) R ( W , X , Y , Z ) F = { X → Z , W X → Y } R(W,X,Y,Z) F=\{X→Z, \mathit{WX}→Y\} R(W,X,Y,Z)F={XZ,WXY},候选码 W X \mathit{WX} WX

答案
( 1 ) (1) (1) 所有函数依赖的决定因素 { X Y } \{{XY}\} {XY} 都含有码 X Y \mathit{XY} XY,因此最高是 B C N F \rm BCNF BCNF
( 2 ) (2) (2) 没有非主属性,因此至少是 3 N F \rm 3NF 3NF。由于存在一个决定因素 Y Y Y 不含码,因而不是 B C N F \rm BCNF BCNF,所以最高是 3 N F \rm3NF 3NF

TIPS: 2 N F \rm2NF 2NF 3 N F \rm3NF 3NF 都是对非主属性作出要求,如果一个关系本身就没有非主属性,那么这些要求自然就是满足的,因此该关系至少是 3 N F \rm 3NF 3NF

( 3 ) (3) (3) ( 1 ) (1) (1),决定因素 { X } \{X\} {X} 都含有码 X X X,因而最高是 B C N F \rm BCNF BCNF
( 4 ) (4) (4) Z Z Z 是非主属性, Z Z Z 依赖于 X X X,然而 X X X 是候选码 W X \mathit{WX} WX 的子集。因此存在非主属性对码的部分函数依赖,不是 2 N F \rm 2NF 2NF,因此最高是 1 N F 1\rm NF 1NF


2 2 2.考虑关系模式 R ( A , B , C , D ) R(A,B,C,D) R(A,B,C,D),写出满足下列函数依赖时 R R R 的码,并给出 R R R 最高属于哪种范式?( 1 N F , 2 N F , 3 N F \rm1NF,2NF,3NF 1NF,2NF,3NF B C N F \rm BCNF BCNF
( 1 ) (1) (1) B → D , A B → C \mathit{B→D,AB→C} BD,ABC
( 2 ) (2) (2) A → B , A → C , D → A A →B,A →C, D →A AB,AC,DA
( 3 ) (3) (3) B C D → A , A → C \mathit{BCD}→A, A →C BCDA,AC
( 4 ) (4) (4) B → C , B → D , C D → A B→C, B→D,\mathit{CD}→A BC,BD,CDA
( 5 ) (5) (5) A B D → C \mathit{ABD}→C ABDC

答案

题号最高属于哪个范式
( 1 ) (1) (1) A B \mathit{AB} AB 1 N F \rm1NF 1NF
( 2 ) (2) (2) D {D} D 2 N F \rm2NF 2NF
( 3 ) (3) (3) B C D , A B D \mathit{BCD,ABD} BCD,ABD 3 N F \rm 3NF 3NF
( 4 ) (4) (4) B B B 2 N F \rm 2NF 2NF
( 5 ) (5) (5) A B D \mathit{ABD} ABD B C N F \rm BCNF BCNF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu设置静态ip地址

首先&#xff0c;查看ip地址可以使用&#xff1a; ifconfig 例如&#xff0c;出现如下结果&#xff1a; 然后&#xff0c;需要查看本地的gateway以及dns&#xff0c;可以使用&#xff1a; nmcli device show例如&#xff1a; 接下来说明一下如何设置静态ip&#xff1a;

浅谈配置元件之JDBC连接配置

浅谈配置元件之JDBC连接配置 通过使用“JDBC连接配置”配置元件&#xff08;JDBC Connection Configuration&#xff09;&#xff0c;您可以轻松地在JMeter测试计划中集成数据库交互能力。本指南将详细介绍如何设置和使用此配置元件来连接数据库并执行SQL查询。 1. 准备工作 …

2002-2022年各省人口总抚养比数据(人口抽样调查)

2002-2022年各省人口总抚养比数据&#xff08;人口抽样调查&#xff09; 1、时间&#xff1a;2002-2022年 2、指标&#xff1a;总抚养比 3、来源&#xff1a;国家统计局、统计年鉴 4、范围&#xff1a;31省&#xff0c; 5、缺失情况&#xff1a;无缺失&#xff0c;其中201…

视频监控统一管理平台LntonCVS安防视频监控系统视频汇聚方案

LntonCVS平台最初被设计为一个以视频汇聚为核心的平台。那么&#xff0c;什么是视频汇聚平台&#xff0c;以及它是如何处理视频资源的呢&#xff1f;简单来说&#xff0c;视频汇聚平台能够从不同的视频源&#xff08;如直播和点播&#xff09;收集、整合和展示视频内容。以下是…

SAS:从零开始用proc report出人口统计学表

目的&#xff1a;如何生成如下图所示的人口统计学的表格 要点&#xff1a; 1、连续型变量&#xff08;基线体重、基线身高等&#xff09;需要展示例数、均值、中位值、最小值、最大值&#xff1b;离散型变量&#xff08;性别、民族等&#xff09;需要展示例数和百分比。这些统…

application/x-www-form-urlencoded和json的区别

application/x-www-form-urlencoded 和 application/json 是两种不同的数据格式&#xff0c;常用于HTTP请求中传递数据。 它们各自的特点和使用场景如下&#xff1a; 1. application/x-www-form-urlencoded •特点&#xff1a;这是一种传统的表单提交时采用的编码类型&#x…

Jenkins+K8s实现持续集成(一)

镜像仓库的搭建 docker run -d \--restartalways \--name registry \-p 5000:5000 \-v /root/devops/registry/data:/var/lib/registry \registry安装完之后&#xff0c;执行下面命令可以看到镜像仓库已经安装成功 docker ps 然后在浏览器上输入下面地址进行访问 http://ip:…

高性价比MOS推荐:惠海HC090N10L,HC025N10L,100V高耐压,12V/24V加湿器和3.7V打火机专用MOS

加湿器MOS应用特点&#xff08;HC090N10L,HC025N10L&#xff09;&#xff1a; 沟槽工艺&#xff0c;抗性好&#xff0c;不容易烧 可应用在1.8MHZ&#xff0c;2.4MHZ和3MHZ频率的加湿器 100V高耐压&#xff0c;MOS不容易尖峰击穿 加湿器缺水干烧MOS不易坏 加湿器出雾量大 …

路由框架 ARouter 原理及源码解析

文章目录 前言一、ARouter 简介二、ARouter 使用1.添加依赖和配置2.添加注解3.初始化SDK4.发起路由操作 三、ARouter 成员1. PostCard 明信片2. Interceptor 拦截器3. Warehouse 路由仓库4. ARouter 注解处理 四、ARouter 原理五、ARouter 源码分析1. ARouter 初始化1.1 ARoute…

美国ARC与延锋安全合作,推动汽车安全气囊技术新突破

在汽车安全领域&#xff0c;安全气囊作为关键被动安全配置&#xff0c;对于保障乘客生命安全至关重要。随着汽车工业的快速发展和科技创新的持续推进&#xff0c;安全气囊技术的升级与革新显得尤为重要。2022年10月25日&#xff0c;美国ARC公司与延锋安全携手合作&#xff0c;共…

产品交付能力提升的探索与分享

在当前激励的市场竞争环境下&#xff0c;对项目交付的成本和毛利要求越来越高。如何能快速高效地完成项目交付已然成为我们矢志追求的目标。抛开人为因素对项目交付效率的影响&#xff0c;产品本身的交付能力才是关键。因此&#xff0c;在设计新产品时需要考虑其便捷交付性&…

那些年我为了考PMP踩过的坑.....

说到考PMP我尊嘟很难过且伤心&#xff0c;众所周知&#xff0c;报考PMP都是要报机构的而且还是PMI认证的机构&#xff0c;所以在报考PMP过程中选的机构我可以说踩过了很多坑了...... Q&#xff1a;包过吗&#xff1f; 大家千万不要信某某机构说的包过噱头&#xff0c;真的很坑…

具身智能的视觉-语言-动作模型综合综述论文

近期arXiv公开了关于具身智能&#xff08;Embodied AI&#xff09;中的视觉-语言-动作模型&#xff08;Vision-Language-Action Models&#xff0c;简称VLAs&#xff09;的综合综述论文。介绍了VLAs的概念&#xff0c;它们是为了处理多模态输入而设计的模型&#xff0c;包括视觉…

用AI绘画生成网上爆火的治愈系插画,竟然轻松月入两万?!

大家好&#xff0c;我是向阳 一个月的时间&#xff0c;涨粉 2w&#xff0c;太猛了。这类作品&#xff0c;不仅涨粉能力强&#xff0c;变现能力也很强。 在第 11天的时候&#xff0c;就已经开始接商单变现了。 而这类账号&#xff0c;不仅仅只有接商单这一种变现模式。至于其…

Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层

借助Spire.PDF&#xff0c;我们可以在新建或现有pdf文档的任意页面中添加线条、图像、字符串、椭圆、矩形、饼图等多种图层。同时&#xff0c;它还支持我们从pdf文档中删除特定图层。 Spire.PDF for .NET 是一款独立 PDF 控件&#xff0c;用于 .NET 程序中创建、编辑和操作 PD…

用python和HY(lisp)代码为例学习什么是递归?

什么是递归&#xff1f; 看ANSI Common Lisp手册&#xff0c;里面提到递归第二章&#xff1a;欢迎来到 Lisp — ANSI Common Lisp 中文版&#xff0c;说&#xff1a;不要把递归看作一个普通函数来理解&#xff0c;因为普通函数经常被当成一个“机器”&#xff0c;原料从入口进…

2021数学建模A题目–“FAST”主动反射面的形状调节

A 题——“FAST”主动反射面的形状调节 思路&#xff1a;该题主要是通过利用伸缩杆调整FAST反射面&#xff0c;给出合适的调整方案 程序获取 第一题问题思路与结果&#xff1a; 当待观测天体S位于基准球面正上方&#xff0c;结合考虑反射面板调节因素&#xff0c;确定理想抛物…

消息队列的对比及适配的应用场景

消息队列的对比及适配的应用场景## 特性 / 消息队列KafkaRabbitMQActiveMQRedis消息模型发布-订阅、流处理队列、发布-订阅队列、发布-订阅发布-订阅协议支持自定义TCP协议、REST代理AMQP、STOMP、MQTTAMQP、OpenWire、STOMP、MQTT自定义协议可用性非常高&#xff0c;分区和副…

域权限维持之伪造域控

2022年1月10日&#xff0c;国外安全研究员Kaido发文称发现了一种新的伪造域控方式&#xff0c;安全研究员只需要新建一个机器账户&#xff0c;然后修改机器账户的UserAccountControl属性为8192。活动目录就会认为这个机器账户就是域控&#xff0c;然后就可以使用这个新建的机器…

STM32多功能交通灯系统:从原理到实现

一、功能说明 本交通灯系统采用先进的stm32f103c8t6微处理器为核心控制单元。系统设置东南西北四个方向各配置两位数码管&#xff0c;用以精准展示5至99秒的时间范围&#xff0c;并且允许用户根据实际需求进行灵活调整。 在信号灯配置方面&#xff0c;每个方向均配备左转、直…