oracle数据库设计实例

来源:互联网 发布:常用的特征提取算法 编辑:程序博客网 时间:2024/05/21 00:19

1)要求

设计一个网上购物程序(使用powerdesigner建立模型并编写测试数据)。有一下需求:

  1. 管理员可以在后台添加商品,每个商品属于一个商品组
  2. 可以对管理员进行分组,对每一组进行分别授权,即一个管理员组可以有多个管理员,一个管理员组有多个权限,一个管理员可以在多个组
  3. 用户可以自己购买商品,购买商品时要在订单表中添加信息,一个用户可以同时购买多个商品,用户可以选择自己所在地区进行商品的派送
  4. 用户可以根据自己的购买积分,对商品进行折扣。

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

本程序所有代码都是按照标准范式完成的,所以出现了以上的问题。为了在开发中减少多表查询,可以通过冗余数据。下面进行改变

此时,定单表和定单详情表就可以通过添加的冗余数据包含更多的内容。

原创粉丝点击