超市商品库存管理系统1.doc_第1页
超市商品库存管理系统1.doc_第2页
超市商品库存管理系统1.doc_第3页
超市商品库存管理系统1.doc_第4页
超市商品库存管理系统1.doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

08级计算机科学与技术3班数据库原理与应用课程设计课程论文信息工程学院数据库原理与应用课程设计论文题 目:超市商品库存理系统数据库设计学 号:09108087专业班级:计算机083姓 名:毛 维 静指导老师:邹 青完成日期:2010年1月22日 3. 数据流图(1)顶层数据流程图图3 顶层数据流图(2)一层数据流程图图5 一层数据流图(3)二层数据流程图分别如下(分供货、库存管理、和查询):图6 二层数据流图供货图7 二层数据流图库存管理图8二层数据流图查询、报损4. 数据字典a) 数据项:系统涉及的数据项有37项 1数据项表1数据项编号数据项数据项含义数据结构别名A1-1ID出入库的唯一标识Char(30)票号A1-2商品名称唯一标识商品Char(30)A1-3规格商品的属性Char(20)A1-4助记码备注Char(50)A1-5默认价格商品的单价Char(20)A1-6供应商提供商品的厂家Char(30)A1-7管理员名唯一的标识操作员的姓名Char(12)A1-8管理员密码管理员登陆系统的密码Char(10)A1-9管理员级别管理员的级别,级别越高,管理员功能越多SmallintA1-10姓名唯一标识管理员Char(12)管理员名A1-11供应商编号唯一标识供应商Char(30)A1-12供应商名标识供应商Char(30)A1-15电话供应商电话Char(12)A1-16地址供应商地址Char(30)A1-17网址供应商厂家主页网站Char(30)A1-18邮箱供应商邮箱Char(30)A1-19入库单号入库的标识Char(20)A1-20应付金额应付给供应商的金额Char(20)A1-21实付金额实际给的金额Char(20)A1-22入库时间商品入库的时间DatetimeA1-23商品编号唯一标识商品Char(30)A1-24默认价格一种商品的单个价格Char(12)A1-25数量入库商品的数量Char(10)A1-26仓库名储存商品的仓库的名称Char(20)A1-27出库单编号商品出库标识Char(20)A1-28盘点人编号商品出库盘点人的标识Char(12)管理员名A1-29盘点人商品出库的经手人Char(20)A1-30时间盘点时间Datetime A1-31等级备注Char(30)A1-32库存数量商品在仓库中的库存数量Char(20)A1-33库存上限仓库最多可进的容量Char(12)A1-34库存下限仓库至少要求的容量Char(12)2.2概念设计在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能够更好的、更准确的用某一DBMS实现这些需求。 2.2.1 概念设计阶段的目标根据系统的具体情况,将需求分析的结果转化为概念模型,选择中层数据流图中作为设计分E-R图的出发点,再通过合并以及消除冲突和不必要的冗余,从而得到总的E-R图。 2.2.2 E-R图的设计图9 供货分ER图图10商品入库分ER图 图11 商品出库分ER图 合并各分ER图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步ER图,再消除不必要冗余,得到如下总ER图:图12 总ER图08级计算机科学与技术3班数据库原理与应用课程设计课程论文E-R图向关系模型的转换实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:表2 管理员基本信息表列名数据类型可否为空说明Anochar(8)否管理员编号Anamechar(12) 否管理员名Passwordchar(12) 否密码Levelsmallint 否级别 表3 商品信息表列名数据类型可否为空说明Gno Char(8)否商品编号Pnochar(8)否供应商编号GnameChar(50)否商品名称SpecChar(20)允许规格ShortnameChar(10)允许助记DefalutpriceChar(8)否默认价格StatusChar(8)允许等级表4 供应关系表列名数据类型可否为空说明Gnochar(8)否商品编号Snochar(8)否供应商编号QTYint允许供应数量表5 供应商信息表列名数据类型可否为空说明PnoChar(8)否供应商编号PnameChar(30)否供应上姓名PhoneChar(12)允许电话AddrChar(30)允许地址WebChar(30)允许网址EmailChar(30)允许邮箱表6 仓库基本信息表列名数据类型可否为空说明GnoChar(8)否商品编号Anochar()否管理员编号SnameChar(20)允许仓库名Amountint允许库存量UpperlimitChar(12)否库存上限LowerlimitChar(12)否库存下限表7 库存信息表列名数据类型可否为空说明Gnochar(8)否商品编号Anochar(8)否管理员编号Pnochar(8)否供应商编号Numbersint允许货物数量MoneyChar(20)允许付款金额IntimeDatetime允许入库时间表8 子模式的建立编号用户子模式(View)作用(共性:方便各类商品的查询)V-1Food_info便于查询食品类商品信息V-2Household_info便于查询家居用品类商品信息V-3Dress_info便于查询服饰类商品信息V-4Skincare_info便于查询护肤品类商品信息V_5S_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) 查询管理系统功能模块图如下:图12 系统功能模块图数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为了一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计,这也就是物理设计阶段的目标。物理设计目标任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。希望得到设计优化的物理数据库结构,使得数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。为此,首先对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。在物理设计阶段主要的任务包括:(1)为关系模式选择存取方法(2)设计关系、索引等数据库文件的物理结构存取方法的选择有索引存取方法的选择、聚簇存取方法的选择以及HASH存取方法的选择。确定数据库的存储结构主要是确定数据的存放位置与确定系统配置。数据存储方面由于基本表Goods,Provider的主码Gno,Pno经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,因此在两个属性上建立唯一性索引。建立数据库1)建立数据库create database 超市库存管理系统;2)建立表共有4张基本表,包括供应商信息表Provider、商品信息表Goods、管理员信息表Administrator和仓库信息表Storage,详细数据定义见附录13)建立视图为了方便管理员的查询共建立了4个视图,在系统中需要通过密码来进行验证,进入后进行不同权限的查询。视图分别是Food_info,Household_info,Dress_info,Skincare_info,S_Storageinfo分别进行超市内食品、家居用品、服饰类、护肤用品等四类不同商品的查询及各仓库商品库存量信息查询。详细定义见附录24)建立触发器 为了方便管理员对超市商品进行等级分类,建立触发器S3,根据商品价格的不同当插入新的商品时按照其价格,系统自动将其分为低廉价格,中等价格,较贵商品,珍品等四个等级,同时也方便管理员对商品的库存处理。详细定义见附录3.5)建立存储过程每个业务都通过存储过程来实现,共有7个存储过程,详细定义见附录3.数据入库数据库三分在技术,七分在数据,所以基础数据非常重要。数据可以检验数据库的正确性和性能,依此来进行数据库的调试工作,主要步骤如下:1) 向各个表中录入数据,同时要注意完整性约束和逻辑上要成立2) 向建立好的数据库中导入数据,先导入基本表,然后导入关系表,成功证明导入后的数据表可以打开,导入失败要检验是否符合完整性和逻辑要求调试与运行阶段的目标调试时候要逐步调试,先检查基本表和视图,然后检查存储过程和触发器以检验业务能否正常完成,出现问题做好记录,填到设计的错误表中。1) 检查基本表和视图,详细内容见附录42) 检查存储过程,具体过程见附录5收获与体会在进行课程设计的一周里。我从做课程设计的过程中感触颇多。在这过程中使我对超市商品库存管理系统有了深入的了解。在做课程设计的时候不断学习数据库,通过实践使我巩固了在这之前所学到理论知识。也为我以后步入工作的岗位做了很好的铺垫。本次课程设计是我们自己出题,充分锻炼了我们发现问题、分析问题、解决问题的能力。其间老师还给我们补充了一些Word的排版知识,尽管开学的时候我们进行过这方面的培训,但是我们对这方面的知识还是太匮乏了。我以后会抽出课余时间多加强这方面的训练。以前只是记书本上关于数据库系统的相关功能,以及不同数据库系统功能之间的的对比,但这些大部分只是处在死记的基础上,没有切身实地的感触,这次实习有让我再次对SQL SERVER 2000相关功能有了更深一层的理解,比如:触发器和存储过程。 通过本次实习,我觉得最重要的是要和老师、同学之间多交流,这样会使自己的数据库系统更加的完善。最后,要特别感谢这次实习的辅导老师,他们总是耐心的为同学们答疑解惑。存在问题与建议 1)由于时间特别仓促,所以需求分析阶段做的不是很好,对于超市的库存管理业务还不是特别了解,这就为后面的设计带来了一定的困难。2)由于实习时间短,所以该系统治只实现了部分功能,还有待扩展,我会继续对其进行完善,使其满足用户的更多需求。19参考文献1 萨师煊 王 珊,数据库系统概论(第四版),北京:高教出版社,20062 李书琴 杨丽丽,数据库原理与应用实习指导书,信息工程学院信息系统系,20093 郑人杰 殷人昆 陶永雷,实用软件工程(第二版),北京:清华大学出版社,19974 微软公司 SQL-Server 2000 联机丛附录1 模式定义语句供应商信息表create table Provider ( Pnochar(8) primary key, Pnamechar(30), Phonechar(12), Addrchar(30), Webchar(30), Email char(30) )商品信息表create table Goods (Gno char(8) primary key,Pnochar(8), Gnamechar(50), Spec char(20), Defalutprice char(8),Status char(8) )供应关系信息表create table Supply( Pno char(8), Gno char(8), QTY int primary key(Pno,Gno), foreign key (Gno) references Goods(Gno), foreign key (Pno) references Provider(Pno)仓库管理员信息表create table Administrator (Ano char(8) primary key, Aname char(12), APassword char(12), ALevel smallint )仓库信息表create table Storage( Gno char(8), Ano char(8), Sname char(20), Amount int, Upperlimit char(12), Lowerlimit char(12) primary key(Gno,Ano), foreign key (Gno) references Goods(Gno), foreign key (Ano) references Provider(Pno)库存信息表create table Inventory( Gno char(8), Ano char(8), Pno char(8), Numbers int, Money char(20), Intime Datetime primary key(Gno,Ano,Pno), foreign key (Gno) references Goods(Gno), foreign key (Ano) references Administrator(Ano), foreign key (Pno) references Provider(Pno)附录2 子模式定义语句create view Food_infoasselect Goods.Gno,Gname,Provider.Pno,Defalutprice,Storage.Snamefrom Goods,Provider,Storagewhere Goods.Gno=101 and Goods.Gno=201 and Goods.Gno=301 and Goods.Gno=401 and Goods.Gno= 0 and Defalutprice = 11 and Defalutprice = 101 and Defalutprice = 901update Goodsset Status =珍品from Goods,insertedwhere Goods.Gno = inserted.Gno begin print商品等级rollbackendGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOcreate trigger tri_fullStorageon Storagefor Insertasdeclare Upperlimit intselect Upperlimit = Upperlimitfrom insertedif Upperlimit2吨 and Upperlimit0.5吨update Storageset Amount =未满where room.Rno = Inserted.Rnoif Upperlimit2吨 beginprint该仓库满rollbackend create procedure proc_Gpc2jh char(8) asselect distinct Gno,Gname,Defalutprice from Goodswhere Pno=2jh order by Gno create procedure proc_Ps3jh char(8)asselect distinct Sname,Upperlimit,Lowerlimit from Storagewhere Ano=3jhcreate procedure proc_PI4jh char(8)asselect distinct Gno,Ano,Numbers,Intime from Invtorywhere Pno=4jhcreate procedure S_Goods_delete Gname char(8) as delete from Goods where Gname like rtrim(rtrim(Gname)create procedure S_Storage_delete G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论