文章标题

数据库结构优化 – 表的范式优化

第三范式

范式化是指数据库设计的规范,目前说到范式化一般是指第三设计范式,也就是要求数据表中不存在非关键字段对任意候选关键字段的传递函数依赖,则符合第三范式。
这里写图片描述
存在以下传递函数依赖关系:

(商品名称)->(分类)->(分类描述)

也就是说存在非关键字段“分类描述”对关键字段“商品名称”的传递函数依赖。

反范式存在的问题

不符合第三范式要求的表存在下列问题:

1、数据冗余:(分类,分类描述)对于每一个商品都会进行记录;

    相同“分类”字段对应的“分类描述”也相同,造成表中存在大量冗余数据。

2、数据的更新异常

    也是由于表中存在冗余数据,更新操作时,会造成大量数据的改动。

3、数据的插入异常;

    道理同上。

4、数据的删除异常;

    如果将表中的“分类”值为 饮料 的记录全部删除,则会造成数据表中 饮料 这个分类消失。

解决方案

将表进行拆分为三个表。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值