以文本方式查看主题 - 课外天地 李树青 (http://www.njcie.com/bbs/index.asp) -- 数据库系统原理课件 (http://www.njcie.com/bbs/list.asp?boardid=19) ---- 练习——顾客产品订单 (http://www.njcie.com/bbs/dispbbs.asp?boardid=19&id=914) |
-- 作者:admin -- 发布时间:2010/11/3 8:43:08 -- 练习——顾客产品订单 需求为:
在一个订货系统的数据库中,存有顾客、货物和订单的信息
ER图为:
表结构 顾客(顾客号,赊购限额,余额,折扣) 收货地址(收货地址号,收货地址,顾客号) 订单(订单号,订货日期,收货地址号,顾客号) 订货细则(订单号,货物号,订货数量,未发货量) 货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)
范式分析 先将所有不可分割的属性做成一张表结构,在进行分析 (顾客号,收货地址,赊购限额、余额,折扣,订单号,收货地址,订货日期,货物号,订货数量,制造厂商,实际存货量,最低存货量,货物描述) 主键为:订单号、货物号 订单号,货物号—>订货数量,未发货量 订单号—>订货日期,收货地址,顾客号 顾客号—>赊购限额,余额,折扣 收货地址—>顾客号 货物号—>实际存货量,制造厂商,最低存货量,货物描述
对没有主键的表定义主键,如增加收货地址号 订单号,货物号—>订货数量,未发货量 订单号—>订货日期,收货地址号,顾客号 顾客号—>赊购限额,余额,折扣 收货地址号—>收货地址,顾客号 货物号—>实际存货量,制造厂商,最低存货量,货物描述
最后生成表结构 订货细则(订单号,货物号,订货数量,未发货量) 订单(订单号,订货日期,收货地址号,顾客号) 顾客(顾客号,赊购限额,余额,折扣) 收货地址(收货地址号,收货地址,顾客号) 货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)
[此贴子已经被作者于2010-11-03 08:59:59编辑过]
|
-- 作者:客人 -- 发布时间:2010/11/7 13:45:17 -- hh |
-- 作者:客人 -- 发布时间:2010/11/12 22:31:28 -- 每个厂商的实际存货量,里面没有体现 |
-- 作者:admin -- 发布时间:2010/11/13 7:27:49 -- 回复 所谓的厂商存货量应该就是货物的存货量 |
-- 作者:cie2009 -- 发布时间:2010/11/17 22:26:19 -- 但是题目说了是每个厂商 |
-- 作者:admin -- 发布时间:2010/11/18 20:58:34 -- 回复 有道理,如果是这样的话,厂商就需要单独定义成一个实体 与货物的关系为多对多 |
-- 作者:admin -- 发布时间: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)
|