图3-3所示:
图3-3 实体联系(E-R)图
3.4.3 数据库逻辑设计
(1) 表设计
将数据库的概念结构设计转换成关系模型,就得到了以下的几张数据库中的表[7]:下面分别介绍这些表。
系统登录用户的基本信息保存在用户信息表里,其中对于用户编号,通过自增方式实现,无需用户手动编号,编号从1000起始。详细说明如表3-1所示。
表3-1 用户信息表(Users)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 编号 UserID int 4 × 主键自增,标识种子1000 2 真实名字 UserName varchar 10 × 3 密码 UserPass
word varchar 50 × MD5加密存储 4 权限 UserRight varchar 10 × 商品种类繁多,可以划分为大范围的不同种类。对于这些种类,已事先划分并存储于数据库中,不需要用户自动添加。商品类别信息表如下表3-2。
表3-2 商品类别信息表(GoodsType)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 类别编号 TypeID tinyint × 主键自增 2 名称 TypeName nvarchar 10 × 商品信息表记载的是商品的详细信息,含商品编号、名称、类别、计量单位、规格、售价、库存量等等。具体的各字段属性说明和类型如下表3-3。
表3-3 商品信息表(GoodsInfo)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 商品编号 GoodsID nvarchar 20 × 主键 2 类型号 TypeID tinyint × 3 名称 GoodsName nvarchar 50 × 4 计量单位 GoodsUnit nvarchar 5 × 5 规格 GoodsNorm nvarchar 20 √ 6 售价 GoodsSellPrice smallmoney × 7 库存量 GoodsNum int 4 × 0 8 报警值 AlarmNum int 4 × 0 9 备注 GoodsRemark nvarchar 100 √ 描述信息 入库记录表包含商品入库的相关信息,入库信息有入库时间、操作人、进库商品、商品数量等。每一笔商品的入库都对应一个编号,具有唯一性。在这里,对编号的处理就是用入库时的时间做编号。具体的各字段的属性说明和类型如下表3-4所示。
表3-4 入库记录表(StockInfo)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 编号 StockID varchar 20 × 主键,与时间相关 2 商品编号 GoodsID nvarchar 20 × 外键 3 供应商编号 CompanyID int 4 × 外键 4 操作员 Operator int 4 × 外键 5 进价 GoodsPrice smallmoney × 6 数量 GoodsNum int 4 × 1 7 备注 Remark nvarchar 100 √ 商品销售信息存储在销售记录表中,流水编号也采用时间作为编号,具有唯一性。各字段的详细情况见下表3-5。
表3-5 销售记录表(SellInfo)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 编号 SellID varchar 20 × 主键,与时间相关 2 商品编号 GoodsID nvarchar 20 × 外键 3 操作者 Operator int 4 × 外键 4 售价 SellPrice smallmoney × 5 数量 GoodsNum int 4 × 6 备注 Remark nvarchar 100 √ 退货原因 供应商供货价格表中记载的是供应商所可商品的信息,含商品编号、供货商编号、最新进价。各字段的详细信息见下表3-6。
表3-6 供应商供货价格表(StockPrice)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 商品编号 GoodsID nvarchar 20 × 组合主键 2 供应商编号 CompanyID int 4 × 组合主键 3 最新进价 GoodsSellPrice smallmoney × 供应商信息表记录的是供应商的基本信息,其中编号由系统自动编号,采取主键自增方式,编号始于1000。各字段的详细信息见下表3-7。
表3-7 供应商信息表(Company)
序号 属性名 字段名 类型 长度 NULL 默认 备注 1 编号 CompanyID int 4 × 主键自增,标识种子1000 2 名称 CompanyName nvarchar 50 × 3 联系人 CompanyDirector nvarchar 10 × 4 电话 CompanyPhone nvarchar 20 × 5 传真 CompanyFax nvarchar 20 √ 6 地址 CompanyAdd nvarchar 50 × 7 合作时间 HzDataTime datetime × (2) 视图设计
根据逻辑模型所设计出的各种数据表构成了完整的