【SQL学习进阶】从入门到高级应用【三范式】

在这里插入图片描述

🌈你好呀!我是 山顶风景独好
💕欢迎来到我的博客,很高兴能够在这里和您见面!
💕希望您在这里可以感受到一份轻松愉快的氛围!
💕这里不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

🏠大家订阅本专栏!本专栏旨在为SQL初学者提供一条逐步迈向高级应用的学习之路,带您从零开始,一步一步练习,逐步掌握SQL的精髓,实现技能的提升与飞跃!😊

什么是数据库设计三范式

数据库表设计的原则。教你怎么设计数据库表有效,并且节省空间。

三范式

  1. 第一范式:任何一张表都应该有主键,每个字段是原子性的不能再分
    1. 以下表的设计不符合第一范式:无主键,并且联系方式可拆分。

image.png

  1. 应该这样设计:

image.png

  1. 第二范式:建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖
    1. 以下表存储了学生和老师的信息

image.png
虽然符合第一范式,但是违背了第二范式,学生姓名、老师姓名都产生了部分依赖。导致数据冗余。

  1. 以下这种设计方式就是符合第二范式的:

image.png

  1. 第三范式:建立在第二范式基础上的,非主键字段不能传递依赖于主键字段
    1. 以下设计方式就是违背第三范式的

image.png
以上因为产生了传递依赖,导致班级名称冗余。

  1. 以下这种方式就是符合第三范式的:

image.png

一对多怎么设计

口诀:一对多两张表,多的表加外键。
image.png
image.png

多对多怎么设计

多对多三张表,关系表添加外键。
image.png

一对一怎么设计

两种方案:

  1. 第一种:主键共享

image.png

  1. 第二种:外键唯一

image.png

最终的设计

最终以满足客户需求为原则,有的时候会拿空间换速度。


✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 我在CSDN等你哦!我的主页😍

在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值