中小型超市销售管理系统的设计与实现
表5-1 交易备份表
列名 商品编号 商品名称 销售单价 计量单位 销售数量 小计 交易时间 操作员
数据类型
char varchar float varchar int float datetime varchar
长度 7 20 8 4 4 8 8 20
主键 是 否 否 否 否 否 是 否
表5-2 会员信息表
列名 会员卡号 等级 折扣 消费总额
数据类型 char varchar float float
长度 7 1 8 8
主键 是 否 否 否
表5-3 供应商信息表
列名 供应商编号 供应商名 供应商地址 联系方式 信誉度
数据类型
char varchar varchar varchar char
长度 3 30 50 20 1
主键 是 否 否 否 否
表5-4 促销信息表
列名 商品编号 促销价 原价 起始时间 截止时间
数据类型
char float float datetime datetime
长度 7 8 8 8 8
主键 是 否 否 否 否
15
中小型超市销售管理系统的设计与实现
表5-5 库存信息表
列名 商品编号 库存数量 状态
数据类型
char int varchar
长度 7 4 4
主键 是 否 否
表5-6 用户信息表
列名 登录账号 登录密码 用户姓名 身份证号 用户类型
数据类型
varchar char varchart char char
长度 20 6 10 18 10
主键 是 否 否 否 否
表5-7 待进货信息表
列名 商品编号 计划进货数量 计划进货时间 截至时间
数据类型
char int datetime datetime
长度 7 4 8 8
主键 是 否 否 否
表5-8 进货信息表
列名 进货时间 商品编号 进货数量 进货单价 供应商编号 进货员
数据类型
datetime char int float char varchar
长度 8 7 4 8 3 20
主键 是 是 否 否 否 否
表5-9 进货单备份表
列名 货单编号 进货金额 进货时间 进货员
数据类型
char float datetime varchar
16
长度 10 8 8 20
主键 是 否 否 否
中小型超市销售管理系统的设计与实现
表5-10 销售单备份表
列名 交易单编号 交易金额 交易时间 操作员
数据类型
char float datetime varchar
长度 10 8 8 20
主键 是 否 否 否
5.3 数据库关系和完整性约束的建立
在单机多用户系统的操作过程中我们最关心的是数据的正确性,而数据完整性约束就数据的正确、合理进行了规范。在实际系统中,一般将数据完整性约束分为标准的数据完整性约束和定制的数据完整性约束。标准的数据完整性约束是DBMS已经实现的内部规则,包括实体完整性、域完整性和引用完整性。
5.3.1 实体完整性(Entity Integrity)
实体完整性(Entity Integrity) :保证一个表中的每一行必须是唯一的。为保证数据的完整性,需指定一个表中的一列或一组列作为它的主键(Primary Key),且主键必须非空和唯一。
5.3.2 域完整性(Field Integrity)
保证一个数据库不包含无意义的或不合理的值,即保证表的每一列的任何值是该列域(即合法的数据集合)的成员。方法是限制列的数据类型、精度、范围、格式和长度等。
5.3.3 引用完整性(Reference Integrity)
定义了一个关系数据库中不同的列和不同的表之间的关系(主键与外键)要求一列或一组列中的值必须要与相关的一列或一组列中的值相匹配。
完整性约束中的实体完整性和引用完整性可通过定义数据表的主键约束和外键约束来实现。域完整性可在用户进行前台操作时加入判断语句,确保每次写入的数据都在取值范围即可。由上述要求,得出系统的数据库关系如下:
17
中小型超市销售管理系统的设计与实现
图5-6 系统数据库表关系图
18
中小型超市销售管理系统的设计与实现
第六章 系统的详细设计
6.1 系统窗体设计原则
按上面功能模块的设计结果,一个模块对应一个窗体。由于本系统的操作者基本上不是计算机专业人员,所以界面的开发要本着以下几个原则:
美观、友好的图形用户界面; 控件的有效性控制; 控强壮的出错处理机制。
6.2 系统部分主要功能模块的窗体设计
6.2.1 系统登录窗口
本模块的主要功能是使不同的用户登录后进入的系统界面不同,从而完成不同的操作。根据前面的系统功能分析,本系统的用户有系统管理员、超市经理、仓管员和销售员,由于不同的用户所拥有的权限不同,所以,在设计时要充分考虑到这一点。在设计时,将系统的默认用户名设置为administor,即系统管理员。
图6-1 系统登录窗口
19