首页 > 编程知识 正文

mysql数据库概念设计,mysql数据库的三大范式

时间:2023-05-03 14:33:37 阅读:168144 作者:4038

为什么需要数据库设计

三大范式

保证第一范式(1NF )各列不可再分割

举例说明:

上表中,“家庭信息”和“学校信息”列均不满足原子性要求,因此不满足第一范式,调整如下。

由于调整后的各列不可再分割,因此可知满足第一范式(1NF )

基于第二范式(2NF ) 1NF,在各表中只记述一件事

举例说明:

在上图中,主键必须由“订单号”和“产品号”组成,因为同一订单可能包含不同的产品。

但是,您可以看到,产品数量、产品折扣和产品价格均与“订单编号”和“产品编号”相关,而订单金额和订单时间仅与“订单编号”相关,与“产品编号”无关。

这样不满足第二范式的要求,需要如下调整,分为两个表。

基于第三范式(3NF ) 2NF,使各列和主键直接相关,间接不相关

举例说明:

上表满足了第二种模式,因为所有属性完全依赖于学校号码,但“ryddg性别”和“ryddg年龄”直接依赖于“ryddg姓名”。

因为不是主键“学号”,所以需要做如下调整。

这样,就满足了第三范式的要求。

如果将上表中的ryddg重命名为ryddg教学号,ps:可能会更准确,更符合实际情况,但只要能理解就可以了。

规范性与绩效的权衡

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。