
1.用户需求
1.1仓库信息管理。记录、修改和查询仓库的编号、名称、地址、负责人、联系方式及存放货物等。所有仓库由仓库号唯一标识。
1.2商店信息管理。记录,修改和查询商店的编号、名称、地址、负责人、联系方式及销售货物、月销售额等。所有商店由商店号唯一标识。
1.3商品信息管理。记录、修改和查询仓库的编号、名称、单价、存放仓库及销售额等。所有商品由商品号唯一标识。
2.业务流程图
3.数据库模式概念设计
3.1 实体联系图(RED图)是系统分析员为了建模方便而绘制的一种图表格试的语言,是表达实体和联系的直观方法。下面是商业集团数据库管理系统的实体联系图,包括仓库、商品、商店3个实体。
| 仓库号 | 仓库名称 | 地址 | 负责人 | 联系方式 |
m:1
| 仓库号 | 库存商品 | 库存量 | 存库日前 |
n:1
| 商品号 | 商品名称 | 单价 | 库存量 | 月销售量 |
1:r
| 商店号 | 销售商品 | 月份 | 月销售量 |
1:s
| 商店号 | 商店名称 | 地址 | 负责人 | 联系方式 |
仓库号 仓库号
库存商品 仓库名称
库存量 地址
存库日期 负责人、联系方式
商品号
商品名称
单价
库存量
月销售量
商店号
销售业绩
销售商品 商店号
月份 商店名称
月销售量 地址
负责人
4. 数据库逻辑模式设计
4.1 一般逻辑模式设计
由E-R图导出一般关系模型的原则为:
原则一:一个实体型转换为一个关系模型。实体的属性就是关系的属性,实体的码就是关系的码。
原则二:一个1:1联系可以转换为一个的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个的关系模式,则与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
原则三:一个1:n联系可以转换为一个的关系模型,也可以与n段对应的关系模式合并。如果转换为一个的关系模式,则与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n段实体的码。
原则四:一个m:n联系转换为一个关系模式。与该联系相连多个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
4.2 根据以上4个原则,导出的一般关系式如下:
仓库(仓库号、仓库名称、地址、负责人、联系方式)
仓库存货(仓库号、库存商品、库存量、存库日期)
商店(商店号、商店名称、地址、负责人、联系方式)
销售业绩(商店号、销售商品、月份、月销售额)
商品(商品号、商品名称、单价、库存量、月销售量)
4.3 具体逻辑模式设计
表4.3.1仓库
| 字符 | 类型 | 长度 | 允许空值 | 备注 |
| 仓库号 | Tinyint | 否 | 主键&唯一 | |
| 仓库名称 | Varchar | 30 | 否 | |
| 地址 | Varchar | 100 | 否 | |
| 负责人 | Varchar | 10 | 否 | |
| 联系方式 | Varchar | 11 | 否 |
| 字符 | 类型 | 长度 | 允许空值 | 备注 |
| 仓库号 | Tinyint | 否 | ||
| 库存商品 | Varchar | 10 | 否 | |
| 库存量 | Varchar | 10 | 否 | |
| 存库日期 | Datetime | 否 |
| 字符 | 类型 | 长度 | 允许空值 | 备注 |
| 商店号 | Tinyint | 否 | 主键&唯一 | |
| 商店名称 | Varchar | 30 | 否 | |
| 地址 | Varchar | 100 | 否 | |
| 负责人 | Varchar | 10 | 否 | |
| 联系方式 | Varchar | 11 | 否 |
| 字符 | 类型 | 长度 | 允许空值 | 备注 |
| 商店号 | Tinyint | 否 | ||
| 销售商品 | Varchar | 10 | 否 | |
| 月份 | Tinyint | 否 | ||
| 月销售量 | Varchar | 10 | 否 |
| 字符 | 类型 | 长度 | 允许空值 | 备注 |
| 商品号 | varvarchar | 10 | 否 | 主键&唯一 |
| 商品名称 | Varchar | 30 | 否 | |
| 单价 | Tinyint | 否 | ||
| 库存量 | Varchar | 10 | 否 | |
| 月销售量 | Varchar | 10 | 否 |
设计表间关系及完整性设计
| 仓库 |
| 仓库号 仓库名称 varchar(30) 地址 varchar(100) 负责人 varchar(10) 联系方式 varchar(11) |
| 商店 |
| 商店号 商店名称 varchar(30) 地址 varchar(100) 负责人 varchar(10) 联系方式 varchar(11) |
FK_仓库_拥有_仓库存货
| 商品 |
| 商品号 商品名称 varchar(30) 单价 tinyint 库存量 varchar(10) 月销售量 varchar(10) |
| 仓库存货 |
| 仓库号 库存商品 库存量 varchar(10) 存库日期 datetim |
| 销售业绩 |
| 商店号 销售商品 月份 tinyint 月销售量 varchar(10) |
