课外天地 李树青学习天地数据库系统原理课件 → 练习——顾客产品订单


  共有26669人关注过本帖树形打印复制链接

主题:练习——顾客产品订单

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
练习——顾客产品订单  发帖心情 Post By:2010/11/3 8:43:08 [只看该作者]

需求为:

 

在一个订货系统的数据库中,存有顾客、货物和订单的信息
每个顾客包含顾客号(唯一)、收货地址(一个顾客可有多个地址)、赊购限额、余额和折扣
每个订单包含订单号(唯一)、顾客号、收货地址、订货日期、订货细则(每个订单有多条)、每条订单细则内容货物号以及订货数量
每种货物包含货物号(唯一)、制造厂商、每个厂商的实际存货量、规定的最低存货量和货物描述
由于处理上的要求,每个订单的每一项订货细则中还应该有一个未发货量(此值初始值为订货数量,随着发货将减为零)

 

ER图为:

 


此主题相关图片如下:t.jpg
按此在新窗口浏览图片

表结构

顾客(顾客号,赊购限额,余额,折扣)

收货地址(收货地址号,收货地址,顾客号)

订单(订单号,订货日期,收货地址号,顾客号)

订货细则(订单号,货物号,订货数量,未发货量)

货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)


 

范式分析

先将所有不可分割的属性做成一张表结构,在进行分析

(顾客号,收货地址,赊购限额、余额,折扣,订单号,收货地址,订货日期,货物号,订货数量,制造厂商,实际存货量,最低存货量,货物描述)

主键为:订单号、货物号

订单号,货物号—>订货数量,未发货量

订单号—>订货日期,收货地址,顾客号

顾客号—>赊购限额,余额,折扣

收货地址—>顾客号

货物号—>实际存货量,制造厂商,最低存货量,货物描述


 

对没有主键的表定义主键,如增加收货地址号

订单号,货物号—>订货数量,未发货量

订单号—>订货日期,收货地址号,顾客号

顾客号—>赊购限额,余额,折扣

收货地址号—>收货地址,顾客号

货物号—>实际存货量,制造厂商,最低存货量,货物描述


 

最后生成表结构

订货细则(订单号,货物号,订货数量,未发货量)

订单(订单号,订货日期,收货地址号,顾客号)

顾客(顾客号,赊购限额,余额,折扣)

收货地址(收货地址号,收货地址,顾客号)

货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)


 

[此贴子已经被作者于2010-11-03 08:59:59编辑过]

 回到顶部
客人(122.88.*.*)
  2楼


  发帖心情 Post By:2010/11/7 13:45:17 [只看该作者]

hh

 回到顶部
客人(222.190.*.*)
  3楼


  发帖心情 Post By:2010/11/12 22:31:28 [只看该作者]

每个厂商的实际存货量,里面没有体现

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  4楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2010/11/13 7:27:49 [只看该作者]

所谓的厂商存货量应该就是货物的存货量


 回到顶部
帅哥哟,离线,有人找我吗?
cie2009
  5楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:1 积分:1041 威望:0 精华:0 注册:2009/10/24 14:52:02
  发帖心情 Post By:2010/11/17 22:26:19 [只看该作者]

 但是题目说了是每个厂商

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  6楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2010/11/18 20:58:34 [只看该作者]

有道理,如果是这样的话,厂商就需要单独定义成一个实体

与货物的关系为多对多


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  7楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1938 积分:26572 威望:0 精华:34 注册:2003/12/30 16:34:32
字段的英文名称建议  发帖心情 Post By:2012/3/29 14:31:09 [只看该作者]

顾客(顾客号,赊购限额,余额,折扣)

Customers(CustomerID,CreditLimit,Balance,Discount)

 

收货地址(收货地址号,收货地址,顾客号)

Addresses(AddressID,DetailInformation,CustomerID)

 

订单(订单号,订货日期,收货地址号,顾客号)

Orders(OrderID,OrderDate,AddressID,CustomerID)

 

订货细则(订单号,货物号,订货数量,未发货量)

OrderDetails(OrderID,ProductID,Quantity,NotShippedQuantity)

 

货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)

Products(ProductID,Stock,Manufacturer,ReorderLevel,Description)

 

 


 回到顶部