MySql——数据库三范式
用于自己学习时的简单解释
数据库三范式:是数据库的设计原则,主要目的是为了避免数据冗余。
数据库的设计应当遵循三范式
第一范式:任何一张表都应该有主键,每一个字段必须具有原子性不可再分
第二范式:在第一范式的基础上,所有非主属性完全依赖于主属性,不存在部分依赖
比如:
t_student:
sno | sname |
1 | zs |
2 | ls |
t_teacher
tno |
tname |
1 | 张老师 |
2 | 李老师 |
3 | 王老师 |
两个表的联合表:
sno | tno | sname | tname |
1 | 1 | zs | 张老师 |
1 | 2 | zs | 李老师 |
2 | 1 | ls | 张老师 |
联合表的主键:(sno,tno),很明显存在部分依赖
因为学生和老师之间存在多对多的关系,在建立联合关系表时,遵循:将两个主键作为关系表的外键
id(pk) | sno(fk) |
tno(fk) |
1 | 1 | 1 |
2 | 1 | 3 |
第三范式:在一二范式基础上,不存在传递依赖;
在一对多的关系中,将多的表加成外键
一对一:主键共享
外键唯一
MySql——数据库三范式相关推荐
- 关于mysql数据库三范式
文章目录 第一范式 第二范式 第三范式 反规范化 第一范式 列不可分.每一列都是不可分割的基本数据项.字段都是不可再分的原子属性,同时有一个主键 第二范式 首先要满足第一范式,非主键字段必须完全依赖于 ...
- MySQL笔记(七)数据库三范式
这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇主要是数据库三范式.有错误的欢迎大家指出... 数据库三范式 (1)第一范式(1NF): 定义:每一列都是不可分割的原子数据项(强调的是列的 ...
- mysql数据库建仓范式_存mysql个数
MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...
- 为什么我不喜欢数据库三范式
插曲 最近,一个远房亲戚的小表弟准备选修专业 找到我问: "哥,现在学数据库有没有前途阿?""当然有啊,前途大大的呢""那我现在开始学数据库,需要先从 ...
- 如何在数据库三范式的基础上进行数据库冗余设计
数据库设计过程中不仅要考虑遵循第三范式,还要考虑是否冗余 很多数据库设计书籍都强调数据库设计三范式,而三范式的一个重要工作就是消除冗余,可以消除冗余在大多数情况下是正确的.当在实际的业务模型中,处理复 ...
- python学习笔记 day44 数据库三范式
参考自 https://www.cnblogs.com/wangfengming/articles/7929118.html 1. 数据库三范式概念: 为了建立减少冗余,结构合理的数据库,涉及数据库时 ...
- 数据库三范式 无重复列 完全依赖主键 属性不依赖非主属性
参考:http://www.cnblogs.com/xrq730/p/5100442.html 细说数据库三范式 2.1 第一范式(1NF)无重复的列,保证每列的原子性,即每一列的各个属性值之间不能有 ...
- 三句话归纳数据库三范式
数据库三范式,网友已经总结n多了,这里不再赘述. 其实,归纳起来,就三句话: 一:行不可再分 二:列不可再分 三:列不可重复
- 从数据库三范式角度分析一对多、多对多和一对一关系
文章目录 前言 一.三范式的目的 二.三范式及其对应关系 1.第一范式 2.第二范式 3.第三范式 4.一对一关系 总结 前言 几乎绝大多数项目的最终目的都是通过操作数据库来实现的,所以,操作数据库的 ...
最新文章
- 【进阶4-1期】详细解析赋值、浅拷贝和深拷贝的区别
- 系统管理工具top、glances、dstat比较
- Android Nand Flash 分区
- 将js进行到底:node学习10
- 网管型工业以太网交换机的几种管理方式
- 【Pytorch】model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
- 程序员应该知道的一些很cool网站
- 【白皮书分享】2022年中国品质直播选型与应用白皮书.pdf(附下载链接)
- Cockos REAPER 6 for Mac - 强大的数字音频工作站
- SDK Manager配置
- linux /dev/null 中有数据
- “Python小屋”1300篇历史文章分类速查表
- html5手机页面设计软件,5个非常优秀的免费H5页面制作工具(推荐)
- c语言 java 嵌入式_嵌入式C语言编译器
- 单片机 STM32 HAL GSM通讯 SIM800L
- Windows 10 的触摸板手势
- tensorflow学习笔记——获取训练数据集和测试数据集
- Redis的性能瓶颈
- 几个重要的电子元器件网站
- 解决gpu没有运行进程,但是显存一直占用的方式
热门文章
- noteexpress 笔记导出_笔记软件Cloud Outliner值得被推荐的理由
- 利用SingleFile插件和wkhtmltopdf工具,完美地将网页转化为PDF,即HTML转化PDF,同时文字可复制网址可跳转
- 题目3:文本文件单词的检索与计数(代码实现)
- js页面跳转常用的6种方式
- java 资源网站有哪些_可以收藏的几个java自学资源网站,说说我的观点
- javascript 在页面显示九九乘法表,99乘法表,双循环实现
- EMI滤波电路是由哪些元件组成的,一文看懂
- 消防设施操作员考试真题、模拟练习题库(4)
- 基于51单片机的智能计算器Protues仿真设计
- mysql 根据查询结果集更新数据