为了实现企业仓库的出库、入库、盘点、调拨、实时库存等具有现代化、信息化及智能化的仓库管理平台,数据库的合理设计与开发是至关重要的。
数据库设计的第一步是数据库概念设计,可以通过实体-联系图(Entity Relationship Diagram)即E-R图来表示实体与属性之间、实体与实体之间的联系。根据前期的用户需求分析得出仓库管理系统涉及的实体有:管理员、顾客、仓库、商品、商口出入库、商品类别、类别出入库。进行设计时首先给出各实体的属性组成,如下图1所示。接下来合并各实体E-R图并消除冗余后得到整体E-R图,如下图2所示。
接下来可以根据已画好的E-R模型转换为关系模式,并用横线标出主键,用波浪线标出外键,一个实体对应一个关系,得出如下所示的关系:
数据库表设计也称为物理设计,一个关系对应一个数据库表,因此本文仓库管理系统需要设计7个数据库表,下面表1-7给出每个数据库表的设计列名、数据类型、说明和功能:
表1 商品信息表X_Goods 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Goods_ID | int | 非空,自增,主键 | 商品编号 |
2 | X_Goods_Name | Varchar(50) | 非空 | 商品名称 |
3 | X_Goods_Sort_ID | int | 外键 | 商品类别编号 |
4 | X_Goods_Price_I | money | 商品进货价 | |
5 | X_Goods_Price_O | money | 出货价>=进货价 | 商品出货价 |
6 | X_Goods_Warning | int | 默认值为1 | 库存量<10时,提示出现0告警信息 |
表2 商品类别信息表X_Goods_Sort 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Goods_Sort_ID | int | 非空,主键 | 商品类别编号 |
2 | X_Goods_Sort_Name | Varchar(50) | 非空 | 商品类别名称 |
表3 仓库管理员信息表X_Manager 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Manager_ID | int | 非空,唯五 | 管理员编号 |
2 | X_Manager_User | Varchar(50) | 非空,唯一,主键 | 管理员帐号 |
3 | X_Manager_Pwd | Varchar(50) | 非空,唯一 | 管理员密码 |
4 | X_Manager_State | Varchar(50) | 管理员状态 | |
5 | X_Manager_Power | Varchar(50) | 管理员权限 |
表4 顾客信息表X_Customer 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Customer_ID | int | 非空,自增,主键 | 顾客编号 |
2 | X_Customer_Name | Varchar(50) | 非空 | 顾客名称 |
3 | X_Customer_Sex | Varchar(50) | 顾客性别 | |
4 | X_Customer_Tel | Varchar(50) | 非空,唯一 | 顾客联系电话 |
5 | X_Customer_Addr | Varchar(50) | 非空,唯一 | 商品详细地址 |
表5 仓库信息表X_Depot 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Depot_ID | int | 非空,自增,主键 | 仓库编号 |
2 | X_Depot_Name | Varchar(50) | 非空,唯一 | 仓库名称 |
表6 出入库商品信息表X_Goods_IO 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_Goods_IO_ID | int | 非空,自增,主键 | 出入库商品序号 |
2 | X_Goods_IO_Name | Varchar(50) | 非空 | 出入库商品名称 |
3 | X_Goods_IO_Price_I | money | 非空 | 出入库商品进货价 |
4 | X_Goods_IO_Price _O | money | 出货价>=进货价 | 出入库商品出货价 |
5 | X_IO_Depot_ID | int | 非空,外键 | 商品类别编号 |
6 | X_Goods_IO_Total | int | 默认值为100 | 出入库商品总量 |
7 | X_Goods_IO_Sort_ID | int | 非空,外键 | 仓库编号 |
表7 出入库类别X_IO_Depot 导出到EXCEL
序号 | 列名 | 数据类型 | 说明 | 功能 |
1 | X_IO_Depot_ID | int | 非空,自增,主键 | 出入库类别序号 |
2 | X_IO_Depot_Manager | Varchar(50) | 非空,外键 | 管理员帐号 |
4 | X_IO_Depot_Date | datetime | 默认值为now() | 日期 |
3 | X_Depot_ID | int | 非空,外键 | 商品类别编号 |
5 | X_IO_Depot_Sort | int | 非空,外键 | 仓库编号 |
最后可以根据关系模式及实际选择的数据库管理系统进行数据库的实现,本文的仓库管理系统选择的数据库管理系统为:Microsoft SQL Server 2012进行设计表结构,然后通过数据库管理系统逐步实现数据库的开发与设计,其操作步骤为:
第一步:启动Microsoft SQL Server 2012,选择正确的“服务器类型”和“服务器名称”(一般使用默认方式即可),“身份验证”选择“SQL Server 身份验证”,“登录名”为“sa”,密码为安装SQL Server 2012时设置的即可成功登录到数据库服务器,如下图3所示:
第二步,创建名为“zd_kucun” 数据库,然后在数据库zd_kucun下,根据表1-7创建本文仓库管理系统所需要的7个数据库表,如下图4所示:
数据库设计与实现分为需求分析、概念设计、关系设计、数据库表设计、数据库实现共5个步骤。值得注意的是在数据库表结构设计过程中,要把用户的需求、空间效率、时间效率,维护的代价等多方面的因素考虑进去,且有些因素是矛盾的(如时间和空间效率),这时需要找出一个权衡的方案,以达到最优的方案。
标签:
上一篇: 基于数据仓库的数据分析在物资管理中的应用
下一篇: 物流仓库大面积地坪的施工质量控制应用