当前位置:网站首页>数据库三范式
数据库三范式
2022-08-02 14:22:00 【半度纳】
·范式:Normal Form,可缩写为NF
·在设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范(例如第1,第2第3),越高的范式数据库冗余越小.
·早期提倡的有三大范式,目前已经发展到6个范式,但一般只讨论最初的三大范式即可
数据库三范式:
-1NF:在关系模型中,对于添加一个规范要求,所有的域都应该是原子性的,即数据库表的 每一列都是不可分割的原子数据项,而不是集合,数组,记录等非原子数据项,简单来说就 是:列不可再分.
-2NF:在1NF的基础上,非码属性必须完全依赖于候选码,简单来说就是:非主属性不能依赖主键的一部分.
-3NF:在2NF基础上,任何非主属性不依赖于其它非主属性,简单来说就是:每列数据都与主键直接相关.
数据库范式的核心思想包括”消除冗余”,冗余的缺点在于:
-占用较多的存储空间
-不便于管理维护
-但是,适当冗余可提高查询性能
-数据库范式不是必须严格遵守的
实际使用原则:
·基本按照数据库范围来设计各数据表,但不完全遵循,并且:
-查询频率高且修改频率低的较短长度的数据允许冗余,特别是关联查询
-如果varchar类型的字段的值的长度相对可控,推荐使用char替代,因为char的效率 更高一些
-尽管varchar类型的理论长度可达65535,但如果可能超过5000(部分企业可能约定
为其它值),建议将其设计到另一张表中去,并与当前表关联一可能建议将字段类型改 为text
-可能会在当前表把长字符串值进行截取,便于获取简要信息
- 如果可行,建议使用更小的单位存储更大的数值,避免使用浮点类型,造成运算时
的误差,例如价值为“18.52元”的商品,存储为“1852分”
边栏推荐
猜你喜欢
随机推荐
lammps学习(二)联合原子模型聚乙烯拉伸
【交换机端口安全技术 】
2022-07-20 第六小组 瞒春 学习笔记
解决(An error happened during template parsing (template: “class path resource [templates/...]
网络请求——跨域 的概念
2022-07-08 第五小组 瞒春 户外拓展
DOM — 元素的增删改查
双亲委派机制
页面返回顶部和固定导航栏js基础案例
BOM(Browser Object Model)浏览器对象模型相关概念
DOM —— 事件类型
基于Visual Studio 2015的CUDA编程(一):基本配置
【JS执行机制】
电设3----脉冲信号测试仪
2022-0801 第六小组 瞒春 学习笔记
VsCode更新后,怎么使用使用快捷键同时生成多个元素
【web渗透】文件包含漏洞入门级超详细讲解
nvm管理node版本 nodenpm不是内部或外部命令,也不是可运行的程序
事件对象,事件流(事件冒泡和事件捕获)、事件委托、L0和L2注册等相关概念及用法
2022/7/15,我的人生中第一篇博客,不忘初心,砥砺前行!