什么是数据库三范式的通俗讲解

三个主要范式是数据库设计优化规则。

第一范式需要场原子化。
地址字段分为省、市和区。
例如“广东省广州市天河区”被拆分。

第二范式需要消除一些依赖关系。
地址分为省份表、城市表、地址表。
例如,学生表和部门表是分开的。

第三范式要求消除传递依赖。
学生表包含 ID、姓名和部门 ID。
部门表包含部门ID、部门名称和主管ID。

具体例子: 选课表分为学生表和选课表。
例如,2 02 3 年的学生表包含学号、姓名和部门ID。

我还在验证。
你自己掂量一下吧。

三大范式通俗解释

哎呀,说到数据库设计,我以前确实踩过很多陷阱。
我记得当时我刚刚开始接触数据库。
当时,我对这三个主要范式一无所知,所以我只是遵循我的直觉。
结果导致数据库设计的一塌糊涂,后面又出现很多问题。

第一范式,简而言之,是一个密不可分的领域。
我以前也犯过这个错误。
我记得当我在用户表上工作时。
有一个“地址”字段,其中输入了街道、城市和邮政编码等一系列信息。
结果后来查的时候,一切都乱了。
那时我意识到一个字段只能存储一个值,不能创建复合数据。

第二范式,必须有一个主键,并且所有非主键字段都必须依赖于主键。
我之前做的时候就犯了一个错误,就是把部门信息直接放到员工列表里。
这样一来,当部门信息改变时,员工信息也得改变,这是一个令人头疼的问题。
然后我意识到表应该只代表一个事物,所有相关信息都取决于这个事物的唯一标识符。

第三范式,这就要求非主键字段不能互相依赖。
我以前有一个项目,部门经理的名字一直保存在部门表中。
因此,当部门发生变化时,经理的名字也必须改变。
然后,我通过创建新的关联表解决了这个问题,这样不仅避免了数据冗余,还减少了更新异常。

这三种范式,归根到底是数据库设计的基本规则,可以保证数据的完整性、一致性和效率。
现在回想起来,之前的设计确实漏洞百出,但也正是因为这些漏洞,我成长了很多。
嘿嘿,要学会这个,不断踩陷阱,不断进步!