小型超市收银系统的设计与实现 毕业设计论文(4)

2019-03-29 11:52

毕业设计

表3-1 用户信息表(Users)

序号 1 2 3 4 属性名 编号 真实名字 密码 权限 字段名 UserID UserName UserPassword UserRight 类型 int varchar varchar varchar 长度 4 10 50 10 NULL × × × × 默认 备注 主键自增,标识种子1000 MD5加密存储 商品种类繁多,可以划分为大范围的不同种类。对于这些种类,已事先划分并存储于数据库中,不需要用户自动添加。商品类别信息表如下表3-2。

表3-2 商品类别信息表(GoodsType)

序号 1 2 属性名 类别编号 名称 字段名 TypeID TypeName 类型 tinyint nvarchar 长度 10 NULL × × 默认 备注 主键自增 商品信息表记载的是商品的详细信息,含商品编号、名称、类别、计量单位、规格、售价、库存量等等。具体的各字段属性说明和类型如下表3-3。

表3-3 商品信息表(GoodsInfo)

序号 1 2 3 4 5 6 7 8 9 属性名 商品编号 类型号 名称 计量单位 规格 售价 库存量 报警值 备注 字段名 GoodsID TypeID GoodsName GoodsUnit GoodsNorm GoodsSellPrice GoodsNum AlarmNum GoodsRemark 类型 nvarchar tinyint nvarchar nvarchar nvarchar smallmoney int int nvarchar 长度 20 50 5 20 4 4 100 NULL × × × × √ × × × √ 默认 0 0 备注 主键 描述信息 入库记录表包含商品入库的相关信息,入库信息有入库时间、操作人、进库商品、商品数量等。每一笔商品的入库都对应一个编号,具有唯一性。在这里,对编号的处理就是用入库时的时间做编号。具体的各字段的属性说明和类型如下表3-4所示。

共42页,第 12页

毕业设计

表3-4 入库记录表(StockInfo)

序号 1 2 3 4 5 6 7 属性名 编号 商品编号 供应商编号 操作员 进价 数量 备注 字段名 StockID GoodsID CompanyID Operator 类型 varchar nvarchar int int 长度 20 20 4 4 4 100 NULL × × × × × × √ 默认 1 备注 主键,与时间相关 外键 外键 外键 GoodsPrice smallmoney GoodsNum Remark int nvarchar 商品销售信息存储在销售记录表中,流水编号也采用时间作为编号,具有唯一性。各字段的详细情况见下表3-5。

表3-5 销售记录表(SellInfo)

序号 1 2 3 4 5 6 属性名 编号 商品编号 操作者 售价 数量 备注 字段名 SellID GoodsID Operator SellPrice GoodsNum Remark 类型 varchar nvarchar int smallmoney int nvarchar 长度 20 20 4 4 100 NULL × × × × × √ 默认 备注 主键,与时间相关 外键 外键 退货原因 供应商供货价格表中记载的是供应商所可商品的信息,含商品编号、供货商编号、最新进价。各字段的详细信息见下表3-6。

表3-6 供应商供货价格表(StockPrice)

序号 1 2 3 属性名 商品编号 供应商编号 最新进价 字段名 GoodsID CompanyID 类型 nvarchar int 长度 20 4 NULL × × × 默认 备注 组合主键 组合主键 GoodsSellPrice smallmoney 供应商信息表记录的是供应商的基本信息,其中编号由系统自动编号,采取主键自增方式,编号始于1000。各字段的详细信息见下表3-7。

共42页,第 13页

毕业设计

表3-7 供应商信息表(Company)

序号 1 属性名 编号 字段名 CompanyID 类型 int 长度 4 NULL × 默认 备注 主键自增,标识种子1000 2 3 4 5 6 7 名称 联系人 电话 传真 地址 合作时间 CompanyName CompanyDirector CompanyPhone CompanyFax CompanyAdd HzDataTime nvarchar nvarchar nvarchar nvarchar nvarchar datetime 50 10 20 20 50 × × × √ × × (2) 视图设计

根据逻辑模型所设计出的各种数据表构成了完整的物理数据库。由于业务范围的限制,每一个用户不可能访问数据库系统中的所有数据表,所访问的只是数据表的一个子集。我们把一个用户能访问到的数据表集合称为一个视图(View)[8]。视图是以一致和直观的方式提供给用户的数据形式。视图以这种形式给用户提供数据,一方面为了满足用户对数据访问的方便性、简洁性需要,使数据在视图中以更符合用户要求和喜好的形式展现出来,另一方面,为了保证数据的一致性,最好不要把数据表直接提供给最终用户。

该数据库中涉及到的视图有两个:

视图QuerySell,对应的Transact-SQL语句:

SELECT dbo.SellInfo.SellID, dbo.SellInfo.GoodsID, dbo.GoodsInfo.GoodsName,

dbo.GoodsType.TypeName, dbo.Users.UserName, dbo.SellInfo.SellPrice,

dbo.SellInfo.GoodsNum, dbo.SellInfo.Remark FROM dbo.GoodsInfo INNER JOIN

dbo.SellInfo ON dbo.GoodsInfo.GoodsID = dbo.SellInfo.GoodsID INNER JOIN

dbo.Users ON dbo.SellInfo.Operator = dbo.Users.UserID INNER JOIN dbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID

视图QueryStock,对应的Transact-SQL语句:

SELECT dbo.StockInfo.StockID, dbo.StockInfo.GoodsID, dbo.GoodsInfo.GoodsName, dbo.GoodsType.TypeName, dbo.Company.CompanyName,

dbo.Users.UserName, dbo.StockInfo.GoodsPrice, dbo.StockInfo.GoodsNum, dbo.StockInfo.Remark

共42页,第 14页

毕业设计

FROM dbo.StockInfo INNER JOIN

dbo.GoodsInfo ON dbo.StockInfo.GoodsID = dbo.GoodsInfo.GoodsID INNER JOIN

dbo.Users ON dbo.StockInfo.Operator = dbo.Users.UserID INNER JOIN dbo.Company ON dbo.StockInfo.CompanyID = dbo.Company.CompanyID INNER JOIN

dbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID

共42页,第 15页

毕业设计

4 系统实现

系统用SQL Server2005做后台数据库,进行基于.net发平台的WinForm应用程序开发,基本实现其功能。以下将描述系统几个主要功能模块的运行和测试的结果。

4.1 登陆系统模块

当我们建立了一个完整的系统时,尤其对于管理系统,对于进入每个系统的人员我们都要对他进行身份验证,我们当然不希望有任何人进入该系统进行恶意的破坏,对系统中的数据进行修改,维护该系统的系统管理员也不希望有任何麻烦,所以对系统进行安全保护显的很重要,无论对于谁,系统的安全问题是首要的[9]。

为了解决这个问题,有一个简单、实用,但是老套的方法,就是口令加密。在该小型超市收银系统中对口令的加密采取的是常用的MD5加密算法。在新增或修改用户信息时,存入数据库的是用户密码的MD5哈希值,在登录验证时根据用户输入的密码计算相应的MD5哈希值进行比较。

加密方法:

public static string EncryptMD5(string oldData) {

//将字符串转化为字节序列

Byte[] clearBytes = new UnicodeEncoding().GetBytes(oldData); //计算字节序列对应的Hash值 Byte[] hashedBytes =

((HashAlgorithm)CryptoConfig.CreateFromName(\ //返回经MD5加密后的字符串

return BitConverter.ToString(hashedBytes); }

在用户登录系统时,用户只需要输入分配的用户ID,只要ID号正确就可以自动显示出相应的用户名。为了防止他人获知用户的密码,增强系统的安全性,我们将待输入密码的文本框的PasswordChar设为*,当用户输入密码后,系统将对所输入的密码进行检查,只有当密码正确才可进入到系统主界面,否则系统会提示错误。登录界面如图4-1所示。

共42页,第 16页


小型超市收银系统的设计与实现 毕业设计论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:铁运[2006]146号 关于印发《铁路线路修理规则》的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: