大型数据库课程设计超市管理系统.docx
《大型数据库课程设计超市管理系统.docx》由会员分享,可在线阅读,更多相关《大型数据库课程设计超市管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
![大型数据库课程设计超市管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/5/46f0ccc2-3d6e-4b4d-bd0c-6b6305a415b4/46f0ccc2-3d6e-4b4d-bd0c-6b6305a415b41.gif)
大型数据库课程设计超市管理系统
课程设计安排计划
通过课程设计,要求掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具、数据库管理系统软件与应用开发工具,规范、科学的完成一个小型数据库的设计并进行数据库应用系统的开发。
具体内容与要求如下:
1.根据所选课题,设计并构建一个数据库(用MSSQLSERVER2008实现);基于上述数据库设计实现一个数据库应用系统(系统开发工具不限)
2.数据库的设计与构建方面(课程设计重点)
(1)数据库来源于对现实世界的抽象和概括,要求设计科学、规范、合理符合实际情况与需求购
(2)数据表的设计要求:
每个关系至少要满足3NF,既要有较低的冗余度,又具有较高的访问效率,每个系统最少应有5个以上的表,并根据实现需要定义索引。
(3)数据库设计的安全性要求:
配置MSSQLServer2008,根据实际需要定义合理的用户权限与用户视图。
(4)数据库设计的完整性要求:
根据实际需要定义合理的完整性约束(实体完整性、参照完整性以与用户自定义完整性等)
(5)根据实际情况定义合理的存储过程和触发器;
3、应用系统的设计与实现面
(1)要求实现所选课题的基本功能,界面美观、大方、实用。
(2)课题基本功能应符合实际系统的需求,一定要先做需求分析,再编写代码。
(3)应用系统开发工具不限,可以根据自己的实际情况选择一种。
4、课程设计报告方面
(1)课设报告杜绝抄袭和下载。
(2)课程设计报告内容包括:
a.前言:
主要对自己的课程设计进行简要介绍说明,在对所选题目进行调研的基础上,明确该选题要做什么。
b.需求分析:
采用自顶向下的方法,对数据库与应用系统进行分析,列出系统功能模块,并画出系统的功能模块图,写出数据字典,并画出数据流图。
c.概要设计:
根据需求分析画出E-R图(E-R图必需规范合理)
d.逻辑设计:
把E-R图转换成关系模式,并进行规范化,最终得到SQLServer所支持的数据表,然后合理定义用户视图和相关存储过程。
e.详细设计与实现:
要求分模块列出各模块的设计思路并用开发工具编写代码实现上述功能。
f.总结:
对设计结果进行合理性、规范程度和系统实际运行的结果进行评价和总结。
按照关系数据库设计原理和方法进行数据库设计,按照结构化程序设计方法或面向对象的程序设计方法进行数据库应用程序设计。
具体应包括:
需求分析,概念设计,详细设计,编码与实现,运行维护等步骤,最后写出完整并合理的课程设计报告。
目 录
前言....................................7
需求分析..................................8
概要设计...................................12
逻辑设计...................................15
详细设计与实现.............................17
数据库测试...............................21
总结......................................28
参考文献..................................29
第一章前言
目前,无论是超市还是公司企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。
于是,进销存储管理信息系统便应运而生。
在公司、工厂里,产品的进销存储涉与产品原料的采购、库存、投入生产、报损,甚至有时涉与到销售,同时,对于产品也有相应的生产、库存、销售和报损等环节。
在其他非生产性单位,如超市、商店等则主要事迹到进货、库存、销售和报损四个方面。
超市进销存储管理的对象是很多的,广而言之,它可以包括:
商业、企业超市的商品,图书馆超市的图书,博物馆超市的展品等等。
在这里本文仅涉与工业企业的产品超市。
超市进销存储管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据:
智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。
完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。
本次实习的题目是超市进销存储管理系统,主要的目的是在超市进销存储模板的基础上对超市的经营、管理进行研究和探讨。
根据系统所需功能,决定以windowsXP为开发平台,采用选择功能强大的MicrosoftSQLServer为开发工具,利用软件工程思想和方法,开发该系统的所需要的功能。
本系统由商品信息管理模块,员工信息管理模板,供应商信息管理模板等的组成,对超市中的各种信息进行分类管理,统筹规划。
功能较为全面。
关键字:
超市、进销存储管理、数据库、MicrosoftSQLServer
第二章需求分析
2.1需求分析
2.1.1处理对象与组织
商品:
商品编号、商品名称、商品单价、生产日期、保质期、商品重量、商品规格
供应商:
供应商名称、供应商地址、供应商账号、供应商传真、供应商电话、交货日期、订单号
进销存储:
库存号、现有库存、最高库存、最低库存、盈亏数量、联系人
随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。
(1)针对超市进销存储管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出一下的需求信息:
商品按类管理,则需要一商品类型信息。
如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。
需要记录供应商品信息。
在涉与商品数量的地方,需要知道商品的库存地方。
商品销售信息单中要包含登记商品销售数量、单价等信息。
在进货信息中要包含商品供应商等信息。
商品报损要有报损原因。
进货、销售、报损操作要有相应信息管理员。
只有管理员登录之后才可以使用系统。
默认的管理员不可以删除。
进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。
当进行进货、销售和报损操作后,能相应更新库存。
(2)经上述系统功能分析和需求总结,考虑到将来功能的发展,设计如下的数据项和数据结构:
商品类型信息,包括数据项有:
商品信息,包括的数据项有:
商品编号、商品名称、商品的生产日期、库存量等。
商供应商信息,包括供应商号、供应商名称、联系电话等。
进货信息,包括进货商品号、数量、规格、单价等。
销售信息,包括销售商品、数量、单价等。
报损信息,包括报损商品、数量、原因、登记时间等。
员工信息,包括员工号、姓名、职称等。
2.1.2信息处理与系统功能
该系统由商品信息管理模板,员工信息管理模板,供应商信息管理模板,仓库信息管理模板等可以完成商品的进销存储和查询、更改等的基本操作。
并根据客户的要求完善系统的跟你需求。
系统功能有:
(1)商品信息的管理包括商品基本信息的新建、修改和删除,商品的编号、商品名称、商品规格等。
(2)供应商信息管理:
包括供货商信息的新建、修改和删除和供应商的名称、供应商代号、供应商地址等。
(3)员工信息管理:
系统管理员的添加、删除和修改密码和员工姓名、性别、职称、工号等。
(4)仓库信息管理:
仓库号、库存商品号、商品数量等。
2.1.3数据库系统开发环境
数据库系统开发环境需求决定以windowsXP为开发平台,采用选择功能强大的MicrosoftSQLServer为开发工具。
2.1.4数据字典
数据项如表一
数据项编号
数据项名称
别名
类型与宽度
I1
TID
商品的代号
char(8)
I2
Tname
商品的名称
char(14)
I3
Tprice
商品的价值
Int
I4
Tproducedate
商品生产的时间
Char(6)
I5
Tkeepdate
商品的保存时间
Char
(2)
I6
Tweight
商品的重量
Char(8)
I7
Tproducename
商品的生产公司
Char(14)
I8
Tnorms
商品长宽
Char(6)
I9
Sname
商品的公司名称
Char(12)
I10
Saddress
商品生产的地方
Char(16)
I11
Scodename
供应商的产品代号
Char(8)
I12
Sfax
与供应商的传真联系方式
Char(11)
I13
Stele
联系供应商的电话方式
Char(11)
I14
Sdate
定货单位要求的供货日期
Char(12)
I15
Sorder
发出订单的单据号
Char(8)
I16
YID
标识公司员工的代码
Char(6)
I17
Yname
公司员工的姓名
Char(6)
I18
Ysex
公司员工的性别
Char
(1)
I19
Yage
公司员工的年龄
Char
(2)
I20
Yzhichen
公司员工的职位名称
Char(6)
I21
KNO
存储商品的库存号
Char
(2)
I22
Knum
商品当前的库存量
Char(4)
I23
Khnum
商品的库存上限
char
I24
Kdnum
商品的库存下限
char
I25
Kpnum
盘赢盘亏数量
Int
I26
Kperson
与定货发生联系的供应商负责人
Char(8)
外部实体编码如表二
外部实体编号
外部实体名称
简述
外部实体组成
输入的数据流
输出的数据流
E1
供应商
提供商品的直接厂家
供应商编码+单位全称+简称+地址+联系人+电话+账号
订货单
发货单
E2
顾客
购买商品的顾客
编码+姓名+地址+电话+邮编
销售单
顾客订单
E3
仓库
存放仓库的地方
单位全陈+地址+电话
实物清单
报损单
数据存取如表三
数据存取编号
数据存储名称
简述
数据存储组成
相关联的处理
S1
库存台账
商品入库、出库与退货后修改当前库存量
商品编码+商品名称+单位+当前库存+商品下限+商品上限
P1.2、P1.3
S2
流水账
入库、出库与退
货的流水账记录
类型+开单日期+单号+商品编号+商品名称+单位+数量+单价
P1.2
供应商商品员工仓库表
SCodename
某供应商的产品代号
Char(8)
YID
标识公司员工的代码
Char(6)
KNO
存储商品的库存号
Char
(2)
TID
标识商品的代号
Char(8)
WQTY
实际的商品数量
int
第三章概要设计
概念设计的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
概念设计的任务和方法是能用E-R图表示出整个系统的实体,实体的属性与实体间的联系。
概念结构设计通常采用的策略是自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构。
3.1通过对超市管理系统分析,得出系统的E-R图
3-1全局/整体E-R图
3-2超市进货E-R图
3-3超市销售E-R图
3-4超市存储E-R图
3.2数据流程图
第四章逻辑设计
4.1系统功能模块图
4.2关系模型表
商品关系模式表
数据项名称
简述
类型与宽度
取值范围
TID
标识商品的代码
Char(8)
Tname
某商品的名称
Char(14)
TPrice
某商品的价值
Int
TProducedate
某商品生产的时间
Char(6)
TKeepdate
某商品的保存时间
Char
(2)
TWeight
某商品的重量
Char(8)
TNorms
某商品的长宽
Char(12)
TProducename
某商品的生产公司
Char(14)
供应商关系模式表
SCodename
某供应商的产品代号
Char(8)
Sname
某商品的公司名称
Char(12)
SAddress
某商品生产的地方
Char(16)
SFax
与供应商的传真联系方式
Char(16)
STele
联系供应商的电话方式
Char(11)
SDate
订货单位要求的供货日期
Char(12)
SOrder
发出订单的单据号
Char(8)
员工关系模式表
YID
标识公司员工的代码
Char(6)
Yname
公司员工的姓名
Char(6)
YSex
公司员工的性别
Char
(1)
YAge
公司员工的年龄
Char
(2)
Yzhicheng
公司的员工的职称名称
Char(6)
仓库关系模式表
KNO
存储商品的库存号
Char
(2)
KNum
某种商品当前的库存量
Char(4)
KHnum
商品的库存上限
Char
KDnum
商品的库存下限
Char
KPnum
盘赢盘亏数量
Int
KPerson
与定货反生联系的供应商负债人
Char(8)
仓库商品关系模式表
KNO
存储商品的库存号
Char
(2)
TID
标识商品的代号
Char(8)
QTY
某商品的数量
Int
员工商品表
YID
标识公司员工的代码
Char
(2)
TID
标识商品的代号
Char(8)
QTY
销售的商品数量
Int
供应商商品关系模式
SCodename
某供应商的产品代号
Char(8)
TID
标识商品的代号
Char(8)
GQTY
供应商品数量
Char(6)
第五章详细设计与实现
5.1根据分析创建以下表
创建数据库
Createdatabase超市管理系统数据库
创建基本表
createtableT(
TIDChar(8)primarykey,
TproducenameChar(14)NOTNULL,
TnameChar(14)NOTNULL,
TpriceIntNOTNULL,
TproducedateChar(6)NOTNULL,
TkeepdateChar
(2)NOTNULL,
TweightChar(8)NOTNULL,
TnormsChar(12)NOTNULL,
)
createtableS(
ScodenameChar(8)primarykey,
SnameChar(12)NOTNULL,
Saddresschar(16)NOTNULL,
Sfaxchar(11)NOTNULL,
Stelechar(11)NOTNULL,
Sdatechar(12)NOTNULL,
)
CreatetableY(
YIDchar(6)primarykey,
Ynamechar(6)NOTNULL,
Ysexchar
(1)NOTNULL,
Yagechar
(2)NOTNULL,
YzhichenChar(6)NOTNULL,
)
CreatetableK(
KNOchar
(2)primarykey,
Knumchar(4)NOTNULL,
Khnumchar(12)NOTNULL,
Kdnumchar(12)NOTNULL,
KpnumintNOTNULL,
Kpersonchar(8)NOTNULL,
)
CreatetableTY(
KNOchar(8)NOTNULL,
TIDchar(8)NOTNULL,
QTYchar(6)NOTNULL,
)
CreatetableST(
ScodenameChar(8)NOTNULL,
TIDchar(8)NOTNULL,
GQTYchar(6)NOTNULL,
)
CreatetableKT(
KNOchar
(2)NOTNULL,
TIDchar(8)NOTNULL,
QTYintNOTNULL,
)
CreatetableTSYK(
Scodenamechar(8)NOTNULL,
YIDchar(6)NOTNULL,
KNOchar
(2)NOTNULL,
TIDchar(8)NOTNULL,
WQTYintNOTNULL,
)
5.2创建视图
购买商品信息视图
CREATEVIEWVIEW_VT
AS
SELECTTID,Tname,Tprice,
FROMT
供应商信息视图
CREATEVIEWVIEW_VS
AS
SELECTSname,Saddress,Scodename,Stele,Sdate
FROMS
仓库信息视图
CREATEVIEWVIEW_VC
AS
SELECTKNO,KNum,KHnum,KDnum
FROMK
员工信息视图
CREATEVIEWVIEW_DH
AS
SELECTYname,Yage,Yzhichen
FROMY
WHEREYID='P006'
5.3创建触发器
在商品信息表上创建触发器提醒信息管理员相应的操作
Createtriggertri_delete_tele
onT
fordelete
as
print'请在仓库中删除此商品'
在仓库信息表上建立触发器
Createtriggertri_S_update
onK
forupdate
as
if(selectTname
fromT
WhereTID='F650')=0
Print'此商品存放仓库已满'
在供应商信息表上建立触发器
Createtriggertri_update_Stele
OnS
Forupdate
As
If(selectTID
FromT
WhereTID='I112')<100
Print'存货不足,请与时进货'
5.4建立储存过程
商品信息查询的存储过程:
CreateprocedureT_T
@T_IDchar(15),
@T_namechar(30),
@T_Prochar(18),
As
Select*
FromT
whereTID=@T_ID
员工信息查询的存储过程:
CreateprocedureY_Y
@Y_IDchar(16),
@Y_namechar(16),
@Y_sexchar
(1),
@Y_agechar(12),
@Y_zhichenchar(6),
As
Select*
FromY
WhereYID=@Y_ID
供应商信息查询存储过程:
CreateprocedureS_S
@S_codenamechar(8),
@S_namechar(12),
@S_addresschar(16),
@S_faxchar(11),
@S_telechar(11),
As
Select*
FromS
WhereScodename=@S_codename
库存信息查询的存储过程:
CreateprocedureK_K
@K_NOchat
(2),
@K_Numchar(4),
@K_PnumInt,
@K_Personchar(8)
As
Select*
FromK
WhereKNO=@K_NO
员工信息插入:
Insertinto(YID,Yname,Ysex,Yage,Yzhichen)
Values('P0018','蒂娜','女','20','营业员')
第六章数据库测试与实现
6.1用户登录界面
用户登录模块在本系统的首页。
用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。
界面如图6-1所示。
图6-1用户登录界面
主要实现代码如下:
publicboolVeri(stringtb_table,stringId,stringPwd);
{
DataClass.MyMeansMyClass=newSMMS.DataClass.MyMeans();
booljud=false;
if(Id!
=""&&Pwd!
=""){
SqlDataReadertemDR=MyClass.getcom("select*from"+tb_table+"whereUserName='"+Id.Trim()+"'andPass='"+Pwd.Trim()+"'");
jud=temDR.Read();
if(jud){
DataClass.MyMeans.Login_Name=Id.Trim();
DataClass.MyMeans.Login_ID=temDR.GetString(0);
DataClass.MyMeans.My_con.Close();
DataClass.MyMeans.My_con.Dispose();
}
else{
MessageBox.Show("用户名或密码错误!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
MyClass.con_close();
}
else{
MessageBox.Show("请将登录信息添写完整");
returnjud;
}
}
6.2商品信息管理模块
此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图6-2所示。
图6-2商品信息管理界面
主要实现代码如下:
privatevoidbtnAdd_Click(objectsender,EventArgse);
{
boolt=false;
stringtxt;
stringRecID;
stringTypeID;
if(txtName.Text==""){
MessageBox.Show("请输入商品名称!
");
txtName.Focus();
}
elseif(txtPrice.Text==""){
MessageBox.Sh