1)要求
设计一个网上购物程序(使用powerdesigner建立模型并编写测试数据)。有一下需求:
管理员可以在后台添加商品,每个商品属于一个商品组
可以对管理员进行分组,对每一组进行分别授权,即一个管理员组可以有多个管理员,一个管理员组有多个权限,一个管理员可以在多个组
用户可以自己购买商品,购买商品时要在订单表中添加信息,一个用户可以同时购买多个商品,用户可以选择自己所在地区进行商品的派送
用户可以根据自己的购买积分,对商品进行折扣。
2)实现
根据第一个要求,一个商品属于一个商品组,则此时应该建立一个一对多的关系
根据第二个要求,可以对管理员进行分组,需要一个管理员表和一个管理员组,权限表,组-权限关系表
实际上此时,管理员和商品表也应该存在关系
根据第三个要求,需要一个用户表
第四个要求,商品折扣可以参考oracle的salgrade表
正常情况下,一份定单会按照下面的格式显示,这样一来就要查询多少张表?用户表,地区表-子地区表,定单表、定单详情表,商品表。本查询需要同时查询六张表
定单详情
定单编号
100001
用户姓名
Xxx
用户电话
Xxxxxxxx
用户地区
北京
用户地址
XXXXX
商品总价
Xxxx
订单日期
Xxxx年xx月xx日
邮政编码
Xxxxxx
商品信息
No.
商品名称
商品数量
商品单价
商品总价
折扣价
1
Xxxx
3
90
270
20
2
Xxxx
4
78
314
300
3
Xxxx
1
10
10
5
4
Xxxx
2
20
40
8
本程序所有代码都是按照标准范式完成的,所以出现了以上的问题。为了在开发中减少多表查询,可以通过冗余数据。下面进行改变
此时,定单表和定单详情表就可以通过添加的冗余数据包含更多的内容。