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

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

范式

  迄今为止一共提出了 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.rhkb.cn/news/353589.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5 C++ 跑酷游戏练习 Part1

一.修改第三人称模板的 Charactor 1.随鼠标将四处看的功能的输入注释掉。 void ARunGANCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) {// Set up action bindingsif (UEnhancedInputComponent* EnhancedInputComponent CastChecked&…

UML详解

1.what is the UML UML 全称是 Unified Modeling Language&#xff08;统一建模语言&#xff09;&#xff0c;它以图形的方式来描述软件的概念 2.它存在的目的 UML 的目标是通过一定结构的表达&#xff0c;来解决现实世界到软件世界的沟通问题。 3.什么是模&#xff0c;…

Centos7安装自动化运维Ansible

自动化运维Devops-Ansible Ansible是新出现的自动化运维工具&#xff0c;基于Python 开发&#xff0c;集合了众多运维工具&#xff08;puppet 、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置 、批量程序部署、批量运行命令 等功能。Ansible…

【每日刷题】Day68

【每日刷题】Day68 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 451. 根据字符出现频率排序 - 力扣&#xff08;LeetCode&#xff09; 2. 最小的K个数_牛客题霸_牛客…

github连接报本地

一、创建GIthub账号 这里默认大家已经创建好了并且有加速器&#xff0c;能正常上网&#xff0c;然后才能进行下面的操作。 二、创建ssh公钥 网址&#xff1a;Sign in to GitHub GitHub Sign in to GitHub GitHub 进入下面的界面&#xff1a; 然后创建新的密钥 三、官方文…

Excel/WPS《超级处理器》功能介绍与安装下载

超级处理器是基于Excel或WPS开发的一款插件&#xff0c;拥有近300个功能&#xff0c;非常简单高效的处理表格数据&#xff0c;安装即可使用。 点击此处&#xff1a;超i处理器安装下载 Excel菜单&#xff0c;显示如下图所示&#xff1a; WPS菜单显示&#xff0c;如下图所示&am…

【BES2500x系列 -- RTX5操作系统】CMSIS-RTOS RTX -- 实时操作系统的核心,为嵌入式系统注入活力 --(一)

&#x1f48c; 所属专栏&#xff1a;【BES2500x系列】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f49…

nodejs爬取小红书图片

昨天的文章已经描述了可以抓取评论区内容&#xff0c; 抓取图片内容和抓取评论区的内容基本一致 我们可以看到接口信息中含有图片链接&#xff0c;我们要做的就是爬取图片链接然后下载 这边要用到的模块为const downloadrequire(download) 将爬到的图片链接存放到images数组…

【解决问题】QApplication: No such file or directory,C++ 使用Qt或项目未正确加载Cmake报错

运行环境&#xff1a; Clion编译&#xff0c;构建C工程项目报错QApplication: No such file or directory 问题描述 QApplication: No such file or directory 引用的#include <QApplication>飘红 解决方案 1、Qt没有安装正确&#xff0c;请使用对应版本的Qt。或编译…

各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成 在计算机中&#xff0c;各类存储器构成了计算机能高速高效运转程序的基石。 计算机的存储体系中&#xff0c;从速度慢到速度快对应着容量大到小&#xff0c;也就是说&#xff0c;速度越快容量越小&#xff1b;容量越大的&#xff0c;速度越慢。两者互相…

Python 数据可视化 多色散点图

Python 数据可视化 多色散点图 fig, ax plt.subplots() max_line max([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) min_line min([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) ax.plot([min_line, max_line], [min_line, …

使用 Vue CLI 脚手架生成 Vue 项目

最近我参与了一个前端Vue2的项目。尽管之前也有过参与Vue2项目的经验&#xff0c;但对一些前端Web技术并不十分熟悉。这次在项目中遇到了很多问题&#xff0c;所以我决定借此机会深入学习Vue相关的技术栈。然而&#xff0c;直接开始深入钻研这些技术可能会显得枯燥&#xff0c;…

笔记-python里面的xlrd模块详解

那我就一下面积个问题对xlrd模块进行学习一下&#xff1a; 1.什么是xlrd模块&#xff1f; 2.为什么使用xlrd模块&#xff1f; 3.怎样使用xlrd模块&#xff1f; 1.什么是xlrd模块&#xff1f; ♦python操作excel主要用到xlrd和xlwt这两个库&#xff0c;即xlrd是读excel&…

C#批量设置海康和大华录像机NVR,GB28181的通道编码.

我经常要把小区海康或者大华的硬盘录像机推送到自己搭建的gb28181监控平台,每次几百个摄像头编码,有点头大,就用了1个多周写了个批量设置海康和大华硬盘录像机的通道编码的程序,海康和大华的SDK简直不是人看的. 太乱了. 大华读取通道编码的代码 /// <summary>/// 获取通道…

Pycharm的基础使用

Pycharm的基础使用 一、修改主题 第一步&#xff1a;点击file->settings 第二步&#xff1a;找到Appearance&Behavior->Appearance->Theme选择主题 有五种主题可以选 二、修改默认字体和大小 第一步&#xff1a;打开设置与上面修改主题第一步一样&#xff1b…

Red Hat Ansible Automation Platform架构

目录 示例架构&#xff1a;一、Ansible Automation Platform 实现流程详解1. 自动化控制器 (Automation Controller)2. 自动化网格 (Automation Mesh)3. 私有自动化中心 (Private Automation Hub)4. Event-Driven Ansible 控制器5. 数据存储 (PostgreSQL 数据库) 二、实现流程1…

leetcode498 对角线遍历

题目 给你一个大小为 m x n 的矩阵 mat &#xff0c;请以对角线遍历的顺序&#xff0c;用一个数组返回这个矩阵中的所有元素。 示例 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,4,7,5,3,6,8,9] 解析 本题目主要考察的就是模拟法&#xff0c;首…

硬盘格式化NTFS好还是exFAT好 U盘存储文件用哪个格式好? 硬盘用exfat还是ntfs mac不能读取移动硬盘怎么解决

在计算机世界中&#xff0c;文件系统是数据管理的基石&#xff0c;而NTFS和exFAT无疑是这块基石上的两大巨头。它们各自拥有独特的特点和优势&#xff0c;并在不同的使用场景中发挥着重要作用。 什么是文件系统 文件系统提供了组织驱动器的方法。它规定了如何在驱动器上存储数…

外卖APP开发详解:从同城O2O系统源码开始

近期&#xff0c;从事软件开发的小伙伴们都在讨论外卖APP&#xff0c;热度非常之高&#xff0c;所以小编今天将与大家一同探讨同城O2O系统源码、外卖APP开发。 一、外卖APP开发的前期准备 了解目标用户的需求&#xff0c;分析竞争对手的优劣势&#xff0c;明确自身的市场定位。…

揭示西周与汉唐时期的纺织工艺

在中国新疆这片充满神秘色彩的土地上&#xff0c;每一次的考古发掘都仿佛是对历史的一次深情回望&#xff0c;揭示出中华民族悠久而灿烂的文明史。其中&#xff0c;新疆出土的西周和汉唐时期的织物&#xff0c;更是以其精美绝伦的工艺和独特的审美风格&#xff0c;让我们对古代…