数据库的反范式设计

阅读: 评论:0

数据库的反范式设计

数据库的反范式设计

范式设计可以消除数据库的数据冗余及插入异常,但是过分的范式设计可能导致数据查询时需要关联多张表,导致数据库查询效率下降,因此在实际工作中,需要适当的反范式设计。

举例说明,某在线图书销售网站,希望实现如下功能: 1)用户登录 2)用户管理 3)商品展示 4)商品管理 5)供应商管理 6)在线销售

符合三范式的数据库设计

用户信息表 : 用户名(主键),密码,姓名,手机号,注册日期

图书信息表 : 图书名称(主键),出版社名词,图书价格图书描述,作者

分类信息表 : 分类名词(主键),分类描述

图书分类表 : (图书名词,图书分类)(主键)

供应商信息表:出版社名词(主键),地址,电话,联系人,银行帐号

订单表:订单编号(主键),用户名,下单日期,物流单号

订单图书关联表 : (订单编号,图书名称)(主键), 商品数量

在如上的数据库设计中,如果需要查询每个用户的消费总金额

select 用户名, sum(c.图书价格*b.商品数量)

from 订单表 a join 订单图书关联表 b on a.订单编号=b.订单编号

                          join 图书信息表 c on b.图书名称=c.图书名称

group by 用户名

以上查询需要关联3张表,因为在线销售经常会有促销活动,商品价格时而会波动,在以上设计中,如果图书价格发生变化,则查询结果也会发生变化。

如果需要查询下单用户和订单详情

select  a.订单编号 a.用户名 c.图

本文发布于:2024-02-02 15:55:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686055444852.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:范式   数据库
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23