三范式(详解+例子)

news2024/9/21 13:48:11

第一范式(1NF):每一列都是不可分割的原子数据项(什么意思,每一项都不可分割,像下面的表格就能分割,所以它连第一范式都算不上)

在这里插入图片描述

分割后的样子
在这里插入图片描述

(它就是第一范式了)

第二范式:在1NF基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

几个重要的概念:

1.函数依赖:A–>B,如果通过A属性(属性组)的值,可以确定唯一的B属性的值,则称B依赖于A

例如:学号---->姓名 (学号、课程名称 的属性组)–> 分数

2.完全函数依赖:A–>B 如果A是一个属性组,则B属性值的确定需要依赖A属性组的中所有的属性值

例如:(学号、课程名称)–> 分数

3. 部分函数依赖: A–>B 如果A是一个属性组,则B属性值的确定只需要依赖A属性组的中某一些的属性值(第二范式就是消除这个)

例如:(学号 、课程名称)–> 姓名

4.传递函数依赖:A – >B , B – >C 如果通过A属性(属性组)的值,可以确定唯一的B属性的值,再通过B属性(属性组)的值,可以唯一确定C属性的值,那么称C传递依赖于A

例如: 学号 --> 系名 ,系名 --> 系主任

5.码 :如果在一张表中,一个属性或属性组,被其他所有的属性(非主属性)所完全函数依赖,则称这个属性(属性组)为该表的码。(上面的表,学号和课程名称所构成的属性组就是码)

例如: 该表中码为 (学号、课程名称)

主属性: 码中所有属性

非主属性: 除码之外的所有属性

在上面那张表中我们可知码为(学号、课程名称),但是姓名、系名、系主任都部分依赖于码(主属性),这不符合第二范式,所以进行拆分如下

第一张表码为(学号、课程名称),第二张表为(学号),它们都是完全依赖的,因此符合第二范式。

在这里插入图片描述

第三范式(3NF):在2NF的基础上,任何的非主属性不依赖于其他非主属性 (在第二范式基础上消除传递依赖)

注意看第二范式的学生表:存在系主任依赖于系名 (系名—> 系主任),所以不符合第三范式

继续进行拆分

在这里插入图片描述

这样就符合第三范式…

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

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

相关文章

crm项目bug小结

项目主要内容分析: 第一天完成了系统用户登录、退出、密码修改、全局异常、非法请求与记住我等系统基本功能。 项目的目录结构如图: 1 登录思路: ** * 1.参数校验 * 用户名 非空 * 密码 非空 * 2.根据用户名 查询用户记录 * 3.校验用户存…

搞懂 API ,API 中 URI 设计规范分享

API(Application Programming Interface)是现代软件开发中的一项关键技术,它为不同应用程序间提供了数据和功能交互的标准化方式。而 URI(Uniform Resource Identifier)作为 API 中的重要部分,其规范和良好…

BigCode开放性能超越Copilot的代码生成模型Starcoder

BigCode释出高效能程式码生成模型StarCoderBase,与为Python调校的StarCoder,效能超越GitHub Copilot初期版本所用的OpenAI code-cushman-001模型: BigCode昨晚发布了基于源代码和自然语言文本训练的编程语言生成模型StarCoder。其训练数据包…

JavaSE基础(五)—— 方法(定义、调用、重载)、return关键字

目录 一、方法定义、调用 1. 方法完整的定义形式、调用 2. 方法的其他定义形式、调用 二、方法使用的常见问题 三、方法案例 1. 定义方法的技巧、计算 1- n的和返回 2. 数组求最值案例改方法形式 四、方法调用的内存图 五、方法的参数传递机制 基本类型和引用类型的参…

携带信息的Ajax GET请求

前端页面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>ajax get请求</title><script type"text/javascript">window.onload function () {document.getEle…

Spring管理数据库事务

Spring编程式事务和声明式事务的验证 1、工程目录pom.xml 2、在resources目录创建配置文件applicationContext_1.xmlapplicationContext_2.xmlapplicationContext_3.xmljdbc.properties 3、创建数据表accountaccount 4、创建dao类5、创建service类6、创建测试类7、实验结果图1 …

基于python的点云处理库总结

想对于PCL&#xff0c;python处理点云的库还是比较多的&#xff0c;下面对此进行简单的总结&#xff1a; 一、Open3D A Modern Library for 3D Data Processing&#xff0c;Intel出品&#xff0c;MIT协议。 Open3D是一个支持3D数据处理软件快速开发的开源库。Open3D使用C和P…

CSS - 垂直菜单(鼠标移入时显示右侧容器)

效果图 示例源码 <body><section class="content"><ul class=

OpenVINO 2022.3之四:OpenVINO模型转换

OpenVINO 2022.3之四&#xff1a;OpenVINO模型转换 OpenVINO 2022.3 支持的模型格式: OpenVINO IR&#xff08;中间表示&#xff09; - OpenVINO™的专有格式&#xff0c;可以完全利用其全部功能。 ONNX和PaddlePaddle - 直接支持的格式&#xff0c;这意味着它们可以在OpenVI…

DT7遥控DBUS协议解析

文章目录 运行环境&#xff1a;1.1 DBUS协议解析1)DT7遥控2)配置串口引脚3)配置串口接收DMA 2.1例程代码移植1)例程移动到 Inc 和 Src2)makefile添加.c文件 3.1核心代码解释4.1代码修改1)bsp_rc.c 和 remote_control.c2)调用代码 5.1调试1)硬件接线2)串口工具监视拨杆数据 运行…

【C进阶】-- 字符串函数(1)

目录 0. 前言 1. 函数介绍 1.1 strlen 1.1.1主动改变\0的位置 ✅"strlen函数的返回类型是size_t - 无符号整型"✅ 当使用strlen函数但不引用头文件时&#xff0c;执行结果超出预料: 求字符串长度的方法&#x1f4a5; 1.计数器 2.递归 3.指针 - 指针 1.2 st…

HBase安装下载与集群(高可用)

一、准备 1.1 安装zookeeper zookeeper 安装下载与集群 1.2 安装HADOOP hadoop搭建集群搭建 1.3下载HBase https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ 二、正常部署 2.1 检查是否正常启动 2.2解压 tar -zvxf hbase-2.4.11-bin.tar.gz2.3配置环境变量 vim /…

高效的工作团队都在使用什么工具?

、 移动互联网时代&#xff0c;企业需要开源节流&#xff0c;需要提高员工整体工作效率。尤其对于互联网公司来说&#xff0c;要快速发展业务&#xff0c;更需要让团队工作简单、方便、高效。然而大多公司都面临以下低效阻碍&#xff1a;跨公司、跨部门沟通合作困难。不同部门和…

2、Flutter布局和状态管理

一、Flutter布局之Row&Column 1.1 Container的center属性: 让子控件在父控件的中间显示 Container(color: Colors.yellow,//1.Center让子部件在父控件中间child: Center(child: Text(Layout Center)),); 1.2 alignment让子控件相对父控件位置,取值范围在-1&#xff5e;1…

Mysql索引(1):索引概述

1 介绍 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c; 这样就可以在这些数据结构上…

【半监督学习】Match系列.1

半监督学习(SSL) 半监督学习(SSL). 让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能. 即在少量样本标签的引导下, 能够充分利用大量无标签样本提高学习性能, 避免了数据资源的浪费, 同时解决了有标签样本较少时监督学习方法泛化能力不强和缺少样本标签引导时无监…

YoloV8涨点神器:CFPNet-ECVBlock的小目标检测,即插即用,助力检测涨点

1.Centralized Feature Pyramid for Object Detection 论文地址: https://arxiv.org/abs/2210.02093 1.摘要: CFPNet简介 CFPNet即插即用,助力检测涨点,YOLOX/YOLOv5/YOLOV7均有效 1.3 Centralized Feature Pyramid (CFP) 如图2所示,CFP主要由以下部分组成:输入图像、…

<IBM AIX><ERRPT><No.001>《出现E86653C3、49183216、8003764C告警的处理 20230506》

《出现E86653C3、49183216、8003764C告警的处理 20230506》 1 现象2 分析3 结论4 引申 1 现象 服务器出现errpt告警&#xff0c;告警为E86653C3、49183216、8003764C。 2 分析 1、hdisk1对应的VG&#xff0c;为rootvg。 lspv |grep hdisk12、查看VG状态 lsvg rootvg说明…

聊聊压电材料高温介电温谱仪所知道的那些事(GWJDN-600A)

GWJDN-600A型压电材料高温介电温谱仪 关键词&#xff1a;单通道&#xff0c;双通道&#xff0c;四通道&#xff0c;高低温 GWJDN-600A压电材料高温介电温谱仪本高频介电温谱系统主要用于绝缘材料在不同温度不同频率下的电学性能测试&#xff0c;系统包含高温炉膛&#xff0c;阻…

【云原生】k8s集群部署Rook+Ceph云原生存储

文章目录 一、Rook介绍二、Ceph介绍三、部署Rook和Ceph3.1 前置准备3.2 部署Rook3.3 部署Ceph集群3.4 部署ceph dashboard 四、部署Rook工具箱五、部署RBD StorageClass 一、Rook介绍 Rook 官网地址&#xff1a;https://rook.io 是一个自管理的分布式存储编排系统&#xff0c;…