数据库的三范式是什么?

server/2024/12/23 18:41:03/

第一范式(1NF)

每列的原子性,表中的每一个字段都是不可分割的,同一列中不能有多个值。第一范式是对关系模式的基本要求,不满足第一范式的数据库不是关系型数据库

・不满足第一范式的示例:

学生编号

学生姓名

联系方式

1001

张三

zs@gmail.com, 13599999999

1002

李四

ls@gmail.com, 13699999999

1003

王五

ww@163.net, 13488888888

第二范式(2NF)

确保唯一性和依赖性,每个表都有主键,且其他字段都完全依赖主键。

第二范式是在第一范式的基础上,要求表中的每一条数据可以被唯一区分,通常使用主键实现,其他所有字段都完全依赖主键。

其他字段依赖主键是指,其他每个字段都与主键完全相关,当确定主键的值时就能确定其他所有字段的值。也就是说一个表只能存一种数据,不可以把多种数据存到一个表中。

完全依赖是指,联合主键时,其他字段不可以只依赖主键中的某个字段,必须依赖联合主键中的每一个字段。

・不满足第二范式的示例:

学生编号

课程编号

学生姓名

成绩

1001

001

张三

90

1002

001

李四

80

1001

002

张三

90

第三范式(3NF)

在第二范式的基础上,非主键字段必须直接依赖于主键,不能存在传递依赖。

・不满足第三范式的示例:

学生编号

班级编号

学生姓名

班级名

1001

01

张三

一年一班

1002

02

李四

一年二班

1003

03

王五

一年三班

班级名学生编号班级编号产生传递依赖


http://www.ppmy.cn/server/152553.html

相关文章

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等

【自动化】Python SeleniumUtil 工具 【Python】使用Selenium 操作浏览器 自动化测试 记录-CSDN博客文章浏览阅读58次。文章浏览阅读42次。【附件】Selenium chromedriver 驱动及浏览器下载。【附件】Selenium chromedriver 驱动及浏览器下载-CSDN博客。3.安装Chrome浏览器驱动…

青少年编程与数学 02-004 Go语言Web编程 11课题、认证、授权与安全

青少年编程与数学 02-004 Go语言Web编程 11课题、认证、授权与安全 一、认证二、JWTJWT的主要组成部分:JWT认证的工作流程: 三、OAuthOAuth 2.0的核心概念OAuth 2.0的工作流程OAuth 2.0的四种授权模式 四、授权授权的主要类型:授权的过程&…

Object.prototype.hasOwnProperty.call(item, key) 作用与用途

在 JavaScript 中,Object.prototype.hasOwnProperty.call(item, key) 是一种检查对象 item 是否具有特定属性 key 作为自身的属性(而不是继承自原型链)的方法。这种调用方式是安全的,特别是在处理可能被修改过原型链的对象时。 解…

Linux之多线程互斥

目录 线程互斥的概念 原子性 线程互斥的引入 互斥锁 互斥锁的创建 互斥锁的静态初始化 互斥锁的动态初始化 互斥锁的销毁 互斥锁加锁 互斥锁解锁 互斥锁加锁和解锁的原理 上一期我们学习了线程控制,线程控制就是根据pthread线程库提供的线程接口对线程…

mac iterm2 使用 lrzsz

前言 mac os 终端不支持使用 rz sz 上传下载文件,本文提供解决方法。 mac 上安装 brew install lrzsz两个脚本 注意:/usr/local/bin/iterm2-send-zmodem.sh 中的 sz命令路径要和你mac 上 sz 命令路径一致。 /usr/local/bin/iterm2-recv-zmodem.sh 中…

Linux 端口操作

安装netstat yum -y install net-tools 检测端口占用 netstat -npl | grep "端口" 安装lsof lsof yum -y install lsof 检测端口占用 lsof -i :端口号 安装nc yum -y install nc 查看对方端口是否开放 nc -vz 对方ip 对方端口 安装telnet telnet yum -y in…

信奥赛四种算法描述

#include <iostream> #include <iomanip> using namespace std;// 使用unsigned long long类型来尽量容纳较大的结果&#xff0c;不过实际上这个数值极其巨大&#xff0c;可能最终仍会溢出 // 更好的方式可以考虑使用高精度计算库&#xff08;如GMP等&#xff09;来…

适用于.net的操作excel的库

目录 目录 知识点概要 知识点具体说明(使用步骤、解释) 使用场景及示例 1. EPPlus 2. NPOI 3. ClosedXml 4. SpreadsheetLight 5.ExcelDataReader 开源库 6. ExcelDataWriter 总结 知识点概要 使用Excel来导入和导出数据&#xff0c;在日常工作中使用频率是相当高的&…