扫码阅读
手机扫码阅读
你还记得数据库三范式吗?

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。


熊泽有话说
扫码关注公众号
数据库三范式概述
前言
本文是对SqlServer数据库三范式的简单整理,旨在帮助那些可能忘记了这些概念的人们回顾和理解。
数据库三范式
- 第一范式(1NF): 数据库表中的每一列都是不可分割的基本数据项,没有多值属性。
- 第二范式(2NF): 在1NF的基础上,要求每个表中的每条记录都能被唯一区分。
- 第三范式(3NF): 在2NF的基础上,消除非主键列对主键列之外其他列的依赖。
在数据库设计中,遵循这三个范式可以确保表结构的合理性,减少数据冗余,并尽量避免插入、删除、修改时的异常。
举例说明
第一范式(1NF)
确保每列保持原子性,即每个字段只能有一个值,不可再分割。
第二范式(2NF)
每一个非主属性完全依赖于主键,如果有联合主键,则每个非主属性必须依赖于整个主键集合。
第三范式(3NF)
非主属性不依赖于其他非主属性,消除传递依赖。
总结
三范式设计让数据库更好地适应变化,允许业务规则、需求和数据的变更而不需要重构整个系统。
参考文献
- 三范式:百度百科
- 三大范式:https://zhuanlan.zhihu.com/p/28528655
- 数据库设计三大范式:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html#undefined
想要了解更多内容?


熊泽有话说
扫码关注公众号
熊泽有话说的其他文章
Redis分布式锁的原理和实现
对同一个资源进行操作,单一的缓存读取没问题了,但是存在并发的时候怎么办呢,为了避免数据不一致,们需要在操作共享资源之前进行加锁操作。\x0a我们在开发很多业务场景会使用到锁,例如库存控制,抽奖,秒杀等。一般我们会使用内存锁的方式来保证线性的执行。
ToString()字符串转换你用正确了吗?
在开发中,ToString()这个方法太方便了,以致于误解大家转换时都是直接Object.ToString()直接转换,\x0a\x0a其实不然, 一般都是转之前先判断是否为null后再进行转换,否则会直接报错。
NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具
NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具
bug优先级定义及处理流程(bug等级划分方法)
软件开发完成后,会交到测试同学手中进行各种测试,\x0a测试同学所提交的bug普遍被分为四个等级,分别为P0、P1、P2、P3, 其中P0最高,P3最低。\x0a\x0aP0 和 P1的bug必须要在模块交付前完全修复。
新司机的致胜法宝,使用ApexSql Log2018快速恢复数据库被删除的数据
解决误操作数据数据库delete、update、insert还原数据
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线