请你利用SQL数据库相关知识解决以下问题:一家销售公司向各机关事业单位销售计算机等器材,主要工作业务包括:只有办公室才能列出所有的商品清单(BOM 表),并掌控商品价格;采购人员按照商品清单从供应商手中采购商品并存在仓库中,同时能够掌控库存状态,常规商品低于最低库存时,系统能够报警提醒;销售人员把这些商品销售给客户,同时出库给客户(无需考虑运输),客户通常分批付款;公司财务需要掌握每位销售人员的销售业绩、客户的应收款、供应商的应付款、每类商品的销售数量等状况。 依据上述业务流程,完成数据库系统设计和开发。 1.设计该进销存系统的数据字典(至少包括数据结构及其数据项),并画出ER模型;务必简洁明了,非要求实体和属性不必列出。(5+10=15分) 2.用规范化和最小函数依赖集等理论解释说明你的ER模型。(10分) 3.把ER模型转为关系模型。(10分)
时间: 2024-03-28 07:38:45 浏览: 173
1. 数据字典(部分):
- 商品表(BOM):商品ID、商品名称、商品价格、最低库存量、当前库存量、供应商ID
- 供应商表:供应商ID、供应商名称、联系人、联系电话、地址
- 采购表:采购ID、商品ID、供应商ID、采购数量、采购价格、采购日期
- 仓库表:商品ID、当前库存量、最低库存量
- 客户表:客户ID、客户名称、联系人、联系电话、地址
- 销售表:销售ID、客户ID、销售人员ID、销售日期、销售金额
- 销售明细表:销售ID、商品ID、销售数量、销售单价、小计金额
- 应收款表:客户ID、销售ID、应收金额、已收金额、未收金额
- 应付款表:供应商ID、采购ID、应付金额、已付金额、未付金额
ER模型如下图:
![ER模型](https://img-blog.csdnimg.cn/20210810153107357.png)
2. 规范化和最小函数依赖集的说明:
- 商品表(BOM):已经是规范化的,不存在多值依赖或部分依赖。
- 供应商表:已经是规范化的,不存在多值依赖或部分依赖。
- 采购表:采购ID为主键,不存在多值依赖或部分依赖。
- 仓库表:商品ID为主键,不存在多值依赖或部分依赖。
- 客户表:客户ID为主键,不存在多值依赖或部分依赖。
- 销售表:销售ID为主键,不存在多值依赖或部分依赖。
- 销售明细表:销售ID和商品ID组成复合主键,不存在多值依赖或部分依赖。
- 应收款表:客户ID和销售ID组成复合主键,应收金额存在部分依赖于客户ID和销售ID,已收金额和未收金额存在传递依赖,可拆分为两个表:客户销售表和应收款表。
- 应付款表:供应商ID和采购ID组成复合主键,应付金额存在部分依赖于供应商ID和采购ID,已付金额和未付金额存在传递依赖,可拆分为两个表:供应商采购表和应付款表。
3. 关系模型:
- 商品表(BOM):(商品ID,商品名称,商品价格,最低库存量,当前库存量,供应商ID)
- 供应商表:(供应商ID,供应商名称,联系人,联系电话,地址)
- 采购表:(采购ID,商品ID,供应商ID,采购数量,采购价格,采购日期)
- 仓库表:(商品ID,当前库存量,最低库存量)
- 客户表:(客户ID,客户名称,联系人,联系电话,地址)
- 销售表:(销售ID,客户ID,销售人员ID,销售日期,销售金额)
- 销售明细表:(销售ID,商品ID,销售数量,销售单价,小计金额)
- 客户销售表:(客户ID,销售ID)
- 应收款表:(客户ID,销售ID,应收金额,已收金额,未收金额)
- 供应商采购表:(供应商ID,采购ID)
- 应付款表:(供应商ID,采购ID,应付金额,已付金额,未付金额)
其中,客户销售表和供应商采购表是为了拆分应收款表和应付款表所需的关系而添加的。
阅读全文