数据库设计三大范式

这三个主要范式代表了数据库设计的基本原则。

第一范式:列不能进一步划分。
时期:7 0年代。
职位:关系数据库理论。
具体数字:无。
说明:地址分割。
按国家、省、市划分。

第二范式:非主键列完全依赖于主键。
时期:7 0年代。
职位:关系数据库理论。
具体数字:无。
说明:订单名称和订单类型取决于订单号。
不部分依赖。

第三范式:非主键列不传递依赖于主键。
时期:7 0年代。
职位:关系数据库理论。
具体数字:无。
说明:产品规格和单价取决于产品代码。
没有传递依赖。

遵循三大范式,数据结构清晰,查询效率高。

数据库的三大范式

上次帮同事调试旧系统时,表结构一塌糊涂。
有一张订单表,客户的地址分为十几个字段,有县、市、区、街道、门牌号、邮政编码,而且还互相重叠。
导致每次查询都要长时间使用union all,而且数据更新容易出错和遗漏。
我这才发现,老师在讲模型的时候,说每个领域都要分成原子,这可不是随口说说的。
如果您查看第三范式,就会发现非主属性不能依赖于主键的一部分。
这些家伙对标题的分析就像蜘蛛网一样。
如何避免数据一致性问题?但从另一方面来看,银行系统有时必须重复存储密码哈希值,否则每次验证交易时都必须检查另一个表。
这是为什么呢?等等,还有别的事。
我记得当我使用MySQL设计用户表时,我将手机号码和电子邮件地址放在一个字段中。
导致导入数据时出现乱码,且查重困难。
最后我还是把它拆了。