需求为:
在一个订货系统的数据库中,存有顾客、货物和订单的信息
每个顾客包含顾客号(唯一)、收货地址(一个顾客可有多个地址)、赊购限额、余额和折扣
每个订单包含订单号(唯一)、顾客号、收货地址、订货日期、订货细则(每个订单有多条)、每条订单细则内容货物号以及订货数量
每种货物包含货物号(唯一)、制造厂商、每个厂商的实际存货量、规定的最低存货量和货物描述
由于处理上的要求,每个订单的每一项订货细则中还应该有一个未发货量(此值初始值为订货数量,随着发货将减为零)
ER图为:
此主题相关图片如下:t.jpg
表结构
顾客(顾客号,赊购限额,余额,折扣)
收货地址(收货地址号,收货地址,顾客号)
订单(订单号,订货日期,收货地址号,顾客号)
订货细则(订单号,货物号,订货数量,未发货量)
货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)
范式分析
先将所有不可分割的属性做成一张表结构,在进行分析
(顾客号,收货地址,赊购限额、余额,折扣,订单号,收货地址,订货日期,货物号,订货数量,制造厂商,实际存货量,最低存货量,货物描述)
主键为:订单号、货物号
订单号,货物号—>订货数量,未发货量
订单号—>订货日期,收货地址,顾客号
顾客号—>赊购限额,余额,折扣
收货地址—>顾客号
货物号—>实际存货量,制造厂商,最低存货量,货物描述
对没有主键的表定义主键,如增加收货地址号
订单号,货物号—>订货数量,未发货量
订单号—>订货日期,收货地址号,顾客号
顾客号—>赊购限额,余额,折扣
收货地址号—>收货地址,顾客号
货物号—>实际存货量,制造厂商,最低存货量,货物描述
最后生成表结构
订货细则(订单号,货物号,订货数量,未发货量)
订单(订单号,订货日期,收货地址号,顾客号)
顾客(顾客号,赊购限额,余额,折扣)
收货地址(收货地址号,收货地址,顾客号)
货物(货物号,实际存货量,制造厂商,最低存货量,货物描述)
[此贴子已经被作者于2010-11-03 08:59:59编辑过]