超市商品库存管理系统1Word格式.docx
- 文档编号:22718695
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:29
- 大小:335.37KB
超市商品库存管理系统1Word格式.docx
《超市商品库存管理系统1Word格式.docx》由会员分享,可在线阅读,更多相关《超市商品库存管理系统1Word格式.docx(29页珍藏版)》请在冰豆网上搜索。
助记码
备注
Char(50)
A1-5
默认价格
商品的单价
A1-6
供应商
提供商品的厂家
A1-7
管理员名
唯一的标识操作员的姓名
Char(12)
A1-8
管理员密码
管理员登陆系统的密码
Char(10)
A1-9
管理员级别
管理员的级别,级别越高,管理员功能越多
Smallint
A1-10
姓名
唯一标识管理员
A1-11
供应商编号
唯一标识供应商
A1-12
供应商名
标识供应商
A1-15
电话
供应商电话
A1-16
地址
供应商地址
A1-17
网址
供应商厂家主页网站
A1-18
邮箱
供应商邮箱
A1-19
入库单号
入库的标识
A1-20
应付金额
应付给供应商的金额
A1-21
实付金额
实际给的金额
A1-22
入库时间
商品入库的时间
Datetime
A1-23
商品编号
A1-24
一种商品的单个价格
A1-25
数量
入库商品的数量
A1-26
仓库名
储存商品的仓库的名称
A1-27
出库单编号
商品出库标识
A1-28
盘点人编号
商品出库盘点人的标识
A1-29
盘点人
商品出库的经手人
A1-30
时间
盘点时间
Datetime
A1-31
等级
A1-32
库存数量
商品在仓库中的库存数量
A1-33
库存上限
仓库最多可进的容量
A1-34
库存下限
仓库至少要求的容量
2.2概念设计
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能够更好的、更准确的用某一DBMS实现这些需求。
2.2.1概念设计阶段的目标
根据系统的具体情况,将需求分析的结果转化为概念模型,选择中层数据流图中作为设计分E-R图的出发点,再通过合并以及消除冲突和不必要的冗余,从而得到总的E-R图。
2.2.2E-R图的设计
合并各分E—R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E—R
图,再消除不必要冗余,得到如下总E—R图:
E-R图向关系模型的转换
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。
由于读者类别与读者、馆室与图书的联系方式是1:
n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:
n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:
m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:
n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
表2管理员基本信息表
列名
数据类型
可否为空
说明
Ano
char(8)
否
管理员编号
Aname
char(12)
否
Password
密码
Level
smallint
级别
表3商品信息表
Gno
Char(8)
Pno
Gname
Spec
允许
Shortname
助记
Defalutprice
Status
表4供应关系表
Gno
Sno
QTY
int
供应数量
表5供应商信息表
Pname
供应上姓名
Phone
Addr
Web
表6仓库基本信息表
否
char(8)
Sname
允许
Amount
库存量
Upperlimit
Lowerlimit
表7库存信息表
Numbers
货物数量
Money
付款金额
Intime
表8子模式的建立
编号
用户子模式(View)
作用(共性:
方便各类商品的查询)
V-1
Food_info
便于查询食品类商品信息
V-2
Household_info
便于查询家居用品类商品信息
V-3
Dress_info
便于查询服饰类商品信息
V-4
Skincare_info
便于查询护肤品类商品信息
V_5
S_Storageinfo
便于查询各仓库商品库存量信息
2.模型优化
关系模式Provider、Storage、Administrator、Supply、Invtory等不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是商品关系模式(Goods表)仓库信息表(Storage表)中存在着一些不应该有的数据冗余,现将模型优化,其结果如下:
Goods(Gno,Pno,Gname,Spec,shortname,Defalutprice,Meno).
Storage(Gno,Ano,Sname,Upperlimit,Lowerlimit)
3.数据处理
描述超市商品库存管理系统的总体功能(如下图)。
总体功能分为四大功能模块:
(1)入库管理。
(2)库存管理。
(3)查询管理
系统功能模块图如下:
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为了一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计,这也就是物理设计阶段的目标。
物理设计目标任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。
希望得到设计优化的物理数据库结构,使得数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。
为此,首先对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。
其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。
在物理设计阶段主要的任务包括:
(1)为关系模式选择存取方法
(2)设计关系、索引等数据库文件的物理结构
存取方法的选择有索引存取方法的选择、聚簇存取方法的选择以及HASH存取方法的选择。
确定数据库的存储结构主要是确定数据的存放位置与确定系统配置。
数据存储方面
由于基本表Goods,Provider的主码Gno,Pno经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,因此在两个属性上建立唯一性索引。
建立数据库
1)建立数据库
createdatabase超市库存管理系统;
2)建立表
共有4张基本表,包括供应商信息表Provider、商品信息表Goods、管理员信息表Administrator和仓库信息表Storage,详细数据定义见附录1
3)建立视图
为了方便管理员的查询共建立了4个视图,在系统中需要通过密码来进行验证,进入后进行不同权限的查询。
视图分别是Food_info,Household_info,Dress_info,Skincare_info,S_Storageinfo分别进行超市内食品、家居用品、服饰类、护肤用品等四类不同商品的查询及各仓库商品库存量信息查询。
详细定义见附录2
4)建立触发器
为了方便管理员对超市商品进行等级分类,建立触发器S3,根据商品价格的不同当插入新的商品时按照其价格,系统自动将其分为低廉价格,中等价格,较贵商品,珍品等四个等级,同时也方便管理员对商品的库存处理。
详细定义见附录3.
5)建立存储过程
每个业务都通过存储过程来实现,共有7个存储过程,详细定义见附录3.
数据入库
数据库三分在技术,七分在数据,所以基础数据非常重要。
数据可以检验数据库的正确性和性能,依此来进行数据库的调试工作,主要步骤如下:
1)向各个表中录入数据,同时要注意完整性约束和逻辑上要成立
2)向建立好的数据库中导入数据,先导入基本表,然后导入关系表,成功证明导入后的数据表可以打开,导入失败要检验是否符合完整性和逻辑要求
调试与运行阶段的目标
调试时候要逐步调试,先检查基本表和视图,然后检查存储过程和触发器以检验业务能否正常完成,出现问题做好记录,填到设计的错误表中。
1)检查基本表和视图,详细内容见附录4
2)检查存储过程,具体过程见附录5
收获与体会
在进行课程设计的一周里。
我从做课程设计的过程中感触颇多。
在这过程中使我对超市商品库存管理系统有了深入的了解。
在做课程设计的时候不断学习数据库,通过实践使我巩固了在这之前所学到理论知识。
也为我以后步入工作的岗位做了很好的铺垫。
本次课程设计是我们自己出题,充分锻炼了我们发现问题、分析问题、解决问题的能力。
其间老师还给我们补充了一些Word的排版知识,尽管开学的时候我们进行过这方面的培训,但是我们对这方面的知识还是太匮乏了。
我以后会抽出课余时间多加强这方面的训练。
以前只是记书本上关于数据库系统的相关功能,以及不同数据库系统功能之间的的对比,但这些大部分只是处在死记的基础上,没有切身实地的感触,这次实习有让我再次对SQLSERVER2000相关功能有了更深一层的理解,比如:
触发器和存储过程。
通过本次实习,我觉得最重要的是要和老师、同学之间多交流,这样会使自己的数据库系统更加的完善。
最后,要特别感谢这次实习的辅导老师,他们总是耐心的为同学们答疑解惑。
存在问题与建议
1)由于时间特别仓促,所以需求分析阶段做的不是很好,对于超市的库存管理业务还不是特别了解,这就为后面的设计带来了一定的困难。
2)由于实习时间短,所以该系统治只实现了部分功能,还有待扩展,我会继续对其进行完善,使其满足用户的更多需求。
参考文献
[1]萨师煊王珊,数据库系统概论(第四版),北京:
高教出版社,2006
[2]李书琴杨丽丽,数据库原理与应用实习指导书,信息工程学院信息系统系,2009
[3]郑人杰殷人昆陶永雷,实用软件工程(第二版),北京:
清华大学出版社,1997
[4]微软公司SQL-Server2000联机丛
附录1模式定义语句
供应商信息表
createtableProvider
(Pnochar(8)primarykey,
Pnamechar(30),
Phonechar(12),
Addrchar(30),
Webchar(30),
Emailchar(30)
)
商品信息表
createtableGoods
(Gnochar(8)primarykey,
Pnochar(8),
Gnamechar(50),
Specchar(20),
Defalutpricechar(8),
Statuschar(8)
供应关系信息表
createtableSupply
(Pnochar(8),
Gnochar(8),
QTYint
primarykey(Pno,Gno),
foreignkey(Gno)referencesGoods(Gno),
foreignkey(Pno)referencesProvider(Pno)
)
仓库管理员信息表
createtableAdministrator
(Anochar(8)primarykey,
Anamechar(12),
APasswordchar(12),
ALevelsmallint
仓库信息表
createtableStorage
(Gnochar(8),
Anochar(8),
Snamechar(20),
Amountint,
Upperlimitchar(12),
Lowerlimitchar(12)
primarykey(Gno,Ano),
foreignkey(Ano)referencesProvider(Pno)
库存信息表
createtableInventory
Pnochar(8),
Numbersint,
Moneychar(20),
IntimeDatetime
primarykey(Gno,Ano,Pno),
foreignkey(Ano)referencesAdministrator(Ano),
附录2子模式定义语句
createviewFood_info
as
selectGoods.Gno,Gname,Provider.Pno,Defalutprice,Storage.Sname
fromGoods,Provider,Storage
whereGoods.Gno>
=101andGoods.Gno<
=110andGoods.Pno=Provider.PnoandGoods.Gno=Storage.Gno
select*
fromFood_info
createviewHousehold_info
=201andGoods.Gno<
=209andGoods.Pno=Provider.PnoandGoods.Gno=Storage.Gno
fromHousehold_info
createviewDress_info
=301andGoods.Gno<
=306andGoods.Pno=Provider.PnoandGoods.Gno=Storage.Gno
fromDress_info
createviewSkincare_info
=401andGoods.Gno<
=405andGoods.Pno=Provider.Pnoand.Gno=Storage.Gno
fromSkincare_info
createviewS_Storageinfo(Invtory.Sname,Amount)
selectInvtory.Sname,sum(Numbers)Amount
fromInvtory
groupbySname
selectAmount
fromS_Storageinfo
whereAno='
A_1'
A_2
A_3'
A_4'
附录3触发器及存储过程语句
SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
createtriggerS3onGoods
afterinsert,update
declare@Defalutpricefloat
select@Defalutprice=Defalutprice
frominserted
if@Defalutprice>
=0and@Defalutprice<
=10
updateGoods
setStatus='
低廉价格'
fromGoods,inserted
whereGoods.Gno=inserted.Gno
=11and@Defalutprice<
=100
中等价格'
=101and@Defalutprice<
=900
较贵商品'
whereGoods.Gno=inserted.Gno
if@Defalutprice>
=901
珍品'
begin
print'
商品等级'
rollback
end
SETQUOTED_IDENTIFIEROFF
createtriggertri_fullStorage
onStorage
forInsert
declare@Upperlimitint
select@Upperlimit=Upperlimit
if@Upperlimit<
'
2吨'
and@Upperlimit<
0.5吨'
updateStorage
setAmount='
未满'
whereroom.Rno=Inserted.Rno
begin
该仓库满'
createprocedureproc_Gpc
@2jhchar(8)
selectdistinctGno,Gname,DefalutpricefromGoods
wherePno=@2jh
orderbyGno
createprocedureproc_Ps
@3jhchar(8)
selectdistinctSname,Upperlimit,LowerlimitfromStorage
whereAno=@3jh
createprocedureproc_PI
@4jhchar(8)
selectdistinctGno,Ano,Numbers,IntimefromInvtory
wherePno=@4jh
createprocedureS_Goods_delete
@Gnamechar(8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 库存 管理 系统