数据库范式

news2024/11/20 18:33:07

1 数据库范式

完全函数依赖

(Sno,Cno) —> Grade 是完全函数依赖,学号不能得出成绩,学科号也不能推出成绩。

部分函数依赖

(Sno,Cno) --> Sdept 是部分函数依赖,学号能推出院系。

传递依赖
Sno --> Sdept —> Sloc 学号推出院系 , 院系推出宿舍楼,但 Sloc --/–>Sdept, Sdetp --/–> Sno , 学号能推出 宿舍楼。

称之为传递依赖。

候选码
K为 R<U,F> (R表示一个域, U表示集合,F表示特定关系运算) 中的属性或者属性组合 若K --> U,则K是R的候选码。U完全函数依赖于K

举例:

学号,身份证号能推出学生的全部信息,学号,身份证号就成为 候选码,数据库主键就是从候选码中选择一个。

超码

K为 R<U,F> 中的属性或者属性组合, 若K —> U , 但 U 部分函数依赖于K ,k称之为超码。

(学号,年龄) —> student 则 (学号,年龄)就是超码。 带有候选码的集合就是超码

主属性
包含任意候选码中的属性称为主属性。如 候选码(Sno,Cno)Cno就是主属性

非主属性
不包含任何候选码成为非主属性。

1 第一范式

数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

2 第二范式

每一个非主属性完全函数依赖于任何一个候选码,称为第二范式。

image-20221223150959948

(Sno,Cno) —> Ggrade ,所以 学号,学科号 是一个候选码,存在了非完全函数依赖,此时就不是第二范式

不满足第二范式会出现 增,删异常,改复杂。

明确一点插入的记录,必须含有码

插入学生时,学生还没选课,没有课程号,就不能插入,因为 学号,课程号 组成一个码。

应修改为两个表,此时满足第二范式。

image-20221223151818249

3 第三范式

属于第二范式,不存在传递依赖,成为第三范式。

上面改造为

(Sno,Cno) – > Grade, Sno --> Sdept, Sdept --> Sloc。 三张表就满足第三范式。

4 BCNF

BC范式在 3NF 的基础上消除了主属性对候选键的部分依 赖或者传递依赖关系。

主属性仓库名对于候选码(管理员,物品名)存在非完全函数依赖。不满足BC范式。

image-20221223154847404

修改为

仓库表 :(仓库名,管理员)

库存表 :(仓库名,物品名,数量)

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

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

相关文章

肝了十天半月,献上纯手绘“Spring/Cloud/Boot/MVC”全家桶脑图

01 纯手绘Spring思维脑图 纯手绘Spring思维脑图 1.1 基本概念 纯手绘Spring思维脑图-基本概念 事先申明&#xff1a;Spring/Cloud/Boot/MVC的手绘思维脑图以及详细部分解读&#xff0c;这边都是以截图的形式展示出来&#xff0c;如果需要完整的全部原件xmin思维脑图https://gi…

Shell ❀ 三剑客 - Grep + Sed + Awk

文章目录八、三剑客 - Grep Sed Awk1、Grep - 过滤1.1 常用grep参数1.2 使用方法2、Sed - 行匹配2.1 执行原理2.2 常见语法2.3 使用方法2.3.1 地址边界的设定2.3.2 基础编辑命令2.3.3 扩展操作2.3.4 命令执行案例3、Awk - 列匹配3.1 awk能做什么3.2 执行原理3.3 命令的使用3.…

生物素化聚N-异丙基丙烯酰胺,Biotin-PNIPAM

产品名称&#xff1a;生物素化聚N-异丙基丙烯酰胺 英文名称&#xff1a;Biotin-PNIPAM 聚(N-异丙基丙烯酰胺)是一种有机物&#xff0c;化学式为(C6H11NO)n&#xff0c;由单体N-异丙基丙烯酰胺(NIPAM)聚合而成 &#xff0c;主要用于药物控释、生化分离以及化学传感器等。 物…

C语言--操作符

文章目录一、数据的存储二、算术操作符三、移位操作符左移位操作符<<右移操作符四、位操作符五、赋值操作符六、单目操作符sizeof前后置七、关系操作符一、数据的存储 如果想要准确的掌握每个操作符的作用&#xff0c;那么首先需要理解数据在计算机中的存储和运算规则。…

解决智能化的最后「一公里」:深度解读小匠物联产测系统

作者 | 牧之 编辑 | 小沐 出品 | 智哪儿 zhinaer.cn测试是智能家电等产品走向交付的最后一个环节。与普通产品相比&#xff0c;智能化产品由于功能多元&#xff0c;涉及模组通信和编程&#xff0c;其可能存在问题的点位也多了起来。而作为专业的AIoT智能化解决方案服务商&#…

三、Flex布局简介

目录 一、Flex布局简介 什么是flex布局&#xff1f; flex属性 二、视图层 View WXML 三、会议OA项目-首页 一、Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 什么是flex布局&#xff1f; 1) Flex是…

电脑Tab键有什么功能?分享Tab键的6个妙用

Tab键tabulator key 的缩写&#xff0c;意思是跳格键。基本用法是可以用来绘制无边框的表格&#xff0c;还可以在单词间留下间隔&#xff0c;一般等于八个空格的长度。但是您知道电脑Tab键有什么功能吗&#xff1f;以下一些关于Tab键的使用和功能的介绍&#xff0c;希望这些可以…

Kibana:圣诞老人使用 Kibana Dashboards 驾驶他的雪橇!

又到了每年一度的圣诞节了。圣诞老人今年开始向各个国家发放礼物了。他驾驶着自己的雪橇挨个国家发放礼物了。我们收集了去世界过个国家的首都的地理位置信息&#xff0c;并按照一定的顺序来发放礼物。我们可以轻松地使用 Elastic Stack 中的 Kibana 来创建一个 Maps 可视化来展…

Elmedia Player - Mac 上最好用的音视屏媒体播放器

Elmedia Player - Mac 上最好用的音视屏媒体播放器 Elmedia是macOS的富媒体播放器&#xff0c;支持多种文件格式&#xff0c;包括大多数视频和音频。一些支持的文件类型包括FLV, SWF, WMV, AVI, MOV, MP4, MP3, DAT, FLAC, M4V, MPG和MKV。它不仅有多种格式&#xff0c;而且还为…

刷爆力扣之电话号码的字母组合

刷爆力扣之电话号码的字母组合 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&…

【语义感知:IVIF:实时:高级视觉任务循环】

Image fusion in the loop of high-level vision tasks: A semantic-aware real-time infrared and visible image fusion network &#xff08;高级视觉任务循环中的图像融合&#xff1a;一种具有语义感知的实时红外与可见光图像融合网络&#xff09; 本文提出了一种语义感知…

【Vue 快速入门系列】如何更优雅的使用vuex进行组件间通信

文章目录前言一、vuex是什么&#xff1f;二、vuex的使用三、四个重要的映射函数四、多组件数据共享五、模块化使用vuex前言 前面介绍过几种可以实现组件间通信的方式props、ref、自定义事件绑定、全局事件总线、插槽…&#xff0c;这些要么就是实现组件间通信只能在特定条件下…

一个基于.Net开发的Windows截屏录制工具

今天给大家推荐一个UI漂亮、功能强大的截屏录制工具。 项目简介 这是基于.Net开发的&#xff0c;屏幕截图、录屏的开源项目。功能非常强大&#xff0c;功能列表如下&#xff1a; 1、截图&#xff1a;全屏截图、滚动截图、检测窗口截图、自动截图、倒计时截图 2、录制&#…

Treap树堆

1.概念 当串行一直插入连续的数字&#xff0c;会导致树成为一个链表&#xff0c;时间复杂度变为0N 树堆概念&#xff1a; 主要体现的思想是随机插入数字&#xff0c;会给每个数字赋予一个优先级——>目的是让插入的关键字满足二叉树&#xff08;节点的性质满足&#xff08…

155. SAP Smart Table 的 Personalization(个性化配置)

本教程的前一步骤,我们介绍了 SAP Smart Table 和 Smart Filter Bar 配合起来的使用方法: SAP UI5 应用开发教程之一百五十四 - SAP UI5 Smart Table 和 Smart Filter Bar 的联合使用方法介绍本文我们在此基础上更进一步,为 Smart Table 增添一个 Personalization(个性化配置…

蓝桥杯备赛Day2——知识拾遗

目录 字符串 格式化输出 字符串的常用方法 1、去掉空格和特殊符号 2、字符串的测试和替换函数 3、字符串的分割 4、连接字符串 5.截取字符串(切片&#xff09; ​编辑 6、eval函数 7、关键字in&#xff08;返回布尔值&#xff09; 8、startswith()、endswith() 9、…

第5章 管理端(Vue)布局面的重构与路由的全局存储

1 重构路由&#xff1a;src\router\index.js import { createRouter, createWebHashHistory } from vue-router import HomeView from ../views/HomeView.vue //注意&#xff1a;path属性所对应的字符串不能与“*.vue”文件名相同否则会出现错误。 const routes [{ path: …

https搭建-基于phpstudy+openssl实现https网站搭建

目录 一、前言 1.https简介 2.生成ssl证书 二、下载安装phpstudy 1.下载phpstudy 2.启动phpstudy 三、利用openssl证书搭建https 1.进行phpstudy的配置https 2.把CA自签名证书导入受信任的根证书中 3.更改主机host文件 一、前言 1.https简介 HTTPS &#xff0c;是以…

扫雷游戏的设计——大型程序的设计思路

目录 &#x1f33a;了解扫雷游戏的作用原理并梳理思路 &#x1f33a;扫雷游戏前期部分完善 &#x1f337;文件的创建 &#x1f337;创建菜单&#xff0c;完善主函数 &#x1f333;代码呈现&#xff1a; &#x1f33a;扫雷游戏主题内容 &#x1f335;第一步初始化棋盘 &#x1…

CSDN博客运营团队2022年H2总结

前言 在2022年的年中&#xff0c;我们对外公布了我们的年中盘点&#xff1a;2022年上半年部分团队的总结 我们希望尽可能的公开我们的工作内容&#xff0c;让更多人可以了解CSDN的变化&#xff0c;同时也希望收到大家的真实反馈&#xff1a;你期待的新功能上线了吗&#xff1…