当前位置:网站首页>数据库三范式
数据库三范式
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分”
边栏推荐
猜你喜欢
随机推荐
DOM - Element Box Model
【面经】被虐了之后,我翻烂了equals源码,总结如下
Cookie 和 Session
2022-7-15 第五组 瞒春 学习笔记
FIR滤波器设计之窗函数法
详解C语言中的位操作运算符可以怎么用?
【SVM回归预测】基于LibSVM实现多特征数据的预测
JS中的数组方法和循环
CSV file with the data read and write 】 【 XLS/XLSX file
The DOM event type
如何正确且快速的清楚C盘!!释放C盘空间内存保姆级教程
Scala的安装和IDEA的使用(初入茅庐)
2022-7-12 第五组 瞒春 学习报告
nodemon : 无法加载文件 D:\Program Files\nodejs\node_global\nodemon.ps1
JSP技术
【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)
ADB常用命令--测试人员必备
2022-07-11 第五小组 瞒春 学习笔记
CUDA programming based on Visual Studio 2015 (1): basic configuration
2021 Huawei Cup Mathematical Modeling Contest E question - Ultra-Wideband (UWB) precise positioning problem under signal interference








