范式(上)-第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、可用关系模式

news2024/10/5 20:18:05

一、范式的作用

根据关系模式间属性的数据依赖来评价关系模式的好坏

以下我们将基于函数依赖的范围内来讨论范式

二、范式的定义

1、数据依赖满足一定约束关系模式是范式

2、范式是符合某一级别的关系模式的集合,关系模式R为第几范式可记为R\in xNF

三、第一范式(1NF)

1、定义:

对于关系模式R,当且仅当R中的每个属性对应的域是原子的,则该关系模式R属于第一范式,即R\in 1NF

2、正面的例子:

有关系模式R,学生学号和课程编号共同组成R的主键

R(学生学号,课程编号,学生姓名,所在系,系主任,成绩)

每个属性对应的域都是原子的,满足第一范式的条件,因此关系模式R属于第一范式,即R\in 1NF

3、反面的例子

有关系模式R

R(学生学号,课程编号,学生姓名,所在系,系主任,成绩)

其所在系属性为复合属性或者其成绩属性为多值属性,则

该关系模式R不属于第一范式

4、分析

对于关系模式R:

R(学生学号,课程编号,学生姓名,所在系,系主任,成绩)属于第一范式,但是依旧存在着数据冗余、更新异常、数据不一致三个问题

四、 第二范式(2NF)

1、定义

对于关系模式R,当且仅当R\in 1NF,且R中的每一个非主属性都完全依赖于候选键时,该关系模式R属于第二范式,即R\in 2NF

2、反面例子

对于关系模式R:

R(学生学号,课程编号,学生姓名,所在系,系主任,成绩)

由于

所以

R\notin 2NF

2、正面例子

由于

 成绩完全依赖于候选键(学生学号,课程编号),而

学生姓名完全依赖于学生学号,所在系完全依赖于学生学号,系主任完全依赖于学生学号,

则将关系模式R分解为两个关系模式

R1(学生学号,课程编号,成绩)

R2 (学生学号,学生姓名,所在系,系主任)

则这两个关系模式均属于第二范式,即R1\in 2NFR2\in 2NF

消除了关系模式R中“非主属性对候选键的部分函数依赖”,解决了部分数据冗余问题部分数据更新异常问题

4、结论:

满足2NF的关系模式要比满足1NF的关系模式要好

五、第三范式(3NF)

1、定义

对于关系模式R,当且仅当R\in 2NF,且R中所有非主属性都不传递函数依赖于候选键时,该关

系模式R属于第三范式,记作 R\in 3NF

2、正面的例子

关系模式R(学生学号,课程编号,学生姓名,所在系,系主任,成绩)和

关系模式R1(学生学号,课程编号,成绩)都符合第三范式的条件,记为R\in 3NFR1\in 3NF

3、反面的例子

关系模式R2 (学生学号,学生姓名,所在系,系主任)中系主任传递函数依赖于学生学号

R2\notin 3NF

可通过将R2分解为

关系模式R3(学生学号,学生姓名,所在系)和

关系模式R4(所在系,系主任)

使得R3\in 3NFR4\in 3NF

消除了“非主属性对候选键”的传递函数依赖”,进一步消除了关系模式存在的数据冗余、更新异常和数据不一致问题

4、结论:

(1)满足3NF的关系模式要比满足2NF的关系模式要好

(2)3NF是一个可用的关系模式应该满足的最低范式要求

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

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

相关文章

【Java】已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常 一、分析问题背景 com.mysql.cj.jdbc.exceptions.CommunicationsException是Java程序在使用MySQL Connector/J与…

Docker(三)-Docker常用命令

1.run run命令执行流程:2.帮助启动类命令 2.1 启动docker systemctl start docker2.2 停止docker systemctl stop docker2.3 重启docker systemctl restart docker2.4查看docker状态 systemctl status docker2.5开机启动 systemctl enable docker2.6查看docker概要信息 …

ch552g使用torch-pad测试触摸按键遇到的问题

基本工作原理 通过设置好功能在寄存器和控制寄存器检测引脚输入的值。 实际检测阶段分为3个步骤:第一阶段:选择需要检测的阶段,选择扫描周期1或2ms,开启触摸按键中断,然后在87us内为充电准备阶段,87us内数…

第二十三篇——香农第二定律(二):到底要不要扁平化管理?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 对于企业的理解,扁平化的管理,如果从香农第二定律…

ORA-12560: TNS:协议适配器错误

项目场景: 由于最近一直没有连接oracle,然后之前windows也是正常可以启动oracle,正常连接。无论是SQL Developer还是SQL PLUS命令,都能正常连接和操作。 问题描述 这两天刚好用SQL Developer工具连接,然后报错&#…

【Java毕业设计】基于SpringBoot开发的图书馆管理系统

文章目录 摘 要目录1 绪论1.1 课题背景和意义1.2 国内外研究现状1.2.1 国外研究现状1.2.2 国内研究现状 1.3 课题主要内容 2 开发相关技术介绍2.1 系统开发环境2.2 系统开发技术2.2.1 Spring Boot框架2.2.2 MySQL数据库2.2.3 MVC模式 3 系统规划3.1 初步调查分析3.2 可行性分析…

数字孪生流域:定义、组成等

数字孪生流域:定义、组成等 1 数字孪生流域(Digital Twin Basin/Watershed)总则1.1 定义1.2 适用范围1.3 建设目标1.4 建设原则 2 数字孪生流域框架与组成2.1 数字孪生流域框架2.2 数字孪生流域组成2.2.1 数字孪生平台2.2.2 信息化基础设施 3…

博雅BOYAMIC小魔方测评:外设与内核并重,诠释硬核旗舰体验

撰稿|行星 来源|贝多财经 视频流量时代的到来,使得用户生成内容端对于视频质量的要求拾级而上。 图像、画面构成情节发展,影响视频内容的表达,而观众对内容的直接感知,则直接取决于视频声音呈现的品质。正因如此,视…

4418 android4.4 + 6818 android5.1 移植gps

网上已经有的移植的资料 目前 3399 的板子上 对已有的可运行的GPS 进行测试。 我这里的 rk3399 的板卡 , Android7 Android8 都是 可以运行 GPS 应用程序的。 使用的是 ttyS4 的节点。 问题: 我发现, 开机就删掉 ttyS4 节点,也是可以 打开应用的。并且可以正常运行。不…

CUDA C权威编程指南 第4章 全局内存

一、CUDA内存模型概述 1. CUDA内存模型 对于程序员来说,一般有两种类型的存储器: 可编程的:你需要显式地控制哪些数据存放在可编程内存中 不可编程的:你不能决定数据的存放位置,程序将自动生成存放位置以获得良好…

Centos8.5安装mysql8.0

1.检查是否有安装mysql数据库(如果有mysql或者mariadb数据库,则卸载) [rootmyhost ~]# rpm -qa |grep mysql [rootmyhost ~]# rpm -qa | grep mariadb [rootmyhost ~]# ll /etc/my.cnf ls: 无法访问/etc/my.cnf: No such file or directory…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 单词大师(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

敬酒词大全绝对实用 万能敬酒词

举杯共饮,友情初识;再续一杯,情深似海,朋友相伴人生路更宽。酒逢知己千杯少,一饮而尽显真意,浅尝则留情,深情则尽欢。友情到深处,千杯不倒,若情浅则饮少,醉卧…

正则表达式常用表示

视频教程:10分钟快速掌握正则表达式 正则表达式在线测试工具(亲测好用):测试工具 正则表达式常用表示 限定符 a*:a出现0次或多次a:a出现1次或多次a?:a出现0次或1次a{6}:a出现6次a…

第二十二篇——香农第二定律(一):为什么你的网页总是打不开?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 看似在将知识,实际是在讲生活和所有;突破边界偶尔…

澳汰尔(Altair)3D 打印部件设计仿真——打造高效的增材制造设计

借助 Inspire Print3D,可加速创新、结构高效的 3D 打印部件的创建、优化和研究,提供快速准确的工具集,可用于实现选择性激光熔融 (SLM) 部件的设计和过程仿真。 工程师可以快速了解影响可制造性的工艺或设计变更,然后将部件和支撑…

Java网络爬虫入门

文章目录 1、导入依赖2、CrawlerFirst 1、导入依赖 <dependencies><!-- HttpClient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 智能成绩表(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

高等数学笔记(二):极限

一、数列极限的定义 以下符号表示 “对于任意给定的” 以下符号表示 “存在” 以下符号表示 “如果什么&#xff08;箭头左&#xff09;&#xff0c;则什么&#xff08;箭头右&#xff09;” 二、收敛数列的性质 2.1 唯一性 2.2 有界性 2.3 保号性 2.4 子数列收敛性 三、函数…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第43课-玩家形象优化-使用导入的3D模型文件

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第43课-玩家形象优化-使用导入的3D模型文件 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScri…