图书进销存管理的设计与实现_第1页
图书进销存管理的设计与实现_第2页
图书进销存管理的设计与实现_第3页
图书进销存管理的设计与实现_第4页
图书进销存管理的设计与实现_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、一、需求分析1.1需求调查 通过对用户的调查,书店进货销存管理系统有如下需求:1) l实现图书分类号、出版社、主编等信息的管理;2) l实现进货、入库管理;3) 实现退货、入库管理4) l实现销售、出库管理;5) l查询某段时间内各种图书的进货、销售、退货情况;6) l查询各类图书的库存总数;7) l当图书入库时自动修改相应图书的总量和存放仓库中该图书的数量;8) l一单可以处理多种图书(比如销售设置销售单及其明细两个表);9) 可以对销售额,销售总量进行查询10) 建立数据库相关表之间的参照完整性约束。图书进销存管理进货管理退货管理统计管理销售管理查询管理1.2 系统功能分析 图11.进货管

2、理模块:书店的图书一直在更新,当货源不足、新书上映时都需要进货。进货管理模块主要实现查询图书数量,当数量不足时进行图书订购,根据供应商选择便宜的书籍,进货后进行图书入库操作,并输出进货单,将图书数量进行更新。2.退货管理模块:顾客把已买的书籍退还给书店。输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。3.统计管理模块:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜等信息。4.销售管理模块:输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。5.查询管理模块:允许用户设置条件进行进货、

3、退货、统计、销售和库存书籍的信息查询。1.3 面对用户需求分析在图书进销存管理系统中,最主要的功能就是对图书进货、销售、库存的管理以及查询功能。因此,可以将图书进销存管理系统分为进货、销售、库存三个子系统。而在所设计的图书进销存管理系统中,主要有两类用户,即图书管理员、书店管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为图书管理系统,书店管理系统。同样,将查询系统也按用户职能进行细分,即图书查询系统,书店查询系统。这样细分后,看似把系统需求繁杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。二、面向对

4、象分析和设计 类和对象设计如下: 进货订单订单号:int图书号:int图书价格:int图书数量:int进货日期:char添加()修改()删除()查询()库存图书号:int图书数量:int查询()添加()修改() 供应商供应商名称:char供应图书号:int图书价格: int添加()删除()查询()修改()销售订单订单号:int图书号:int图书价格:int图书数量:int销售日期:char添加()修改()删除()修改()图书类别类别号:int类别名称:char查询()增加()修改()图书信息表图书号:int作者:char出版社:char价格:int类别号:int查询()添加()删除()修改()

5、图 2三、数据流图四、概念和逻辑结构设计图书图书号作者出版号价格类别号书名4.1局部E-R图图书类别类别号类别名称进货订单进货日期图书数量图书价格图书号订单号库存图书号图书数量销售订单销售日期图书数量图书价格图书号订单号供书商供应商名称供应图书号图书价格图 3mnn1nnnnm图书类别分类图书购买订单填写供应商存放仓库数量管理管理员存放数量1销售订单填写顾客mn4.2全局E-R图:mn1图 44.3类和对象向关系模式转换图书表(图书号,图书名,作者,价格,类别号,出版社)图书类别表(类别名,类别号)供应商表(供应商名称,供应图书号,图书价格)进货订单表(订单号,图书号,图书数量,进货价格,进货

6、日期)销售订单表(订单号,图书号,图书数量,销售价格,销售日期)库存表(图书号,图书数量)五、数据库物理结构设计5.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于系统来说,为了提高某些属性的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样会大大提高查询速度。因此,该系统中选择聚簇存取方法。5.2存储结构设计书店进货、销售管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设。数据库管理系统采用Microsoft 公司推

7、出的SQL Server 2014 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。5.3物理设计实现该设计的环境为Windows 10专业版 + MS SQL Server 20141、 建立图书进销存管理系统数据库create database 图书系统2、 建立图书表use 图书系统create table 图书表(图书号 nvarchar(20) primary key,图书名 nvarchar(20),作者 nvarchar(15)价格 float,类别号 nvarchar(20),出版社 char(20),);3、 建立图书类别表create table 图书类别

8、表(类别号 nvarchar(15) primary key,类别名 nvarchar(15),);4、 建立进货订单表create table 进货订单表(订单号 char(20) primary key,图书号 nvarchar(20),图书数量 int,图书价格 float,进货日期 datetime,)5、建立销售订单表create table 销售订单表(订单号 char(20) primary key,图书号 nvarchar(20),图书数量 int,图书价格 float,销售日期 datetime,);6、建立库存表create table 库存表(图书号 nvarchar(2

9、0) primary key,图书数量 int,);7、建立供应商表create table 供应商(供应商名称 char(20) ,供应图书号 nvarchar(20),图书价格 float,Primary key(供应商名称,供应图书号);六、数据库完整性设计6.1 主键及唯一性索引表名主键建立唯一性索引图书表(图书号)create unique index 图书号on图书表(图书号)图书类别表(类别名称)create unique index 类别号on 图书类别(类别号)进货订单表(订单号)create unique index 订单号on 进货订单(订单号)销售订单表(订单号)cre

10、ate unique index 订单号on 销售订单(订单号)库存表(图书号)create unique index 图书号on 库存(图书号)供应商表(供应商名称、供应图书号)create index 供应商名称on 供应商(供应商名称)图 56.2 参照完整性设计1、图书表中将类别号设计为图书类别的外键alter table 图书表 add foreign key (类别号) references 图书类别表(类别号);2、进货订单表中将属性图书号为图书表的外键ALTER TABLE 进货订单表 add foreign key (图书号) references 图书表(图书号);3、销售

11、订单表中将属性图书号为图书表的外键ALTER TABLE 销售订单表 add foreign key (图书号) references 图书表(图书号);4、库存表中将属性图书号为图书表的外键ALTER TABLE 库存表 add foreign key (图书号) references 图书表(图书号);6.3触发器设计6.3.1入库Create Trigger入库1 On 进货订单表 FOR InsertAs declare n int Select n=图书号 from inserted declare num int Select num=图书数量 From inserted Upda

12、te 图书表 set 数量=数量+num Where 图书号=n6.3.2出库Create Trigger 出库On 销售订单表FOR InsertAs beginupdate 库存表set 库存表.图书数量-=销售订单表.图书数量from 库存表,销售订单表where 库存表.图书号=销售订单表.图书号;end;6.4存储过程查询某段时间内各种图书的进货和销售情况SELECT 进货订单表.订单号,进货订单表.图书数量,进货日期,销售订单表.订单号,销售订单表.图书数量,销售日期from 进货订单表,销售订单表 where 销售日期 >= '2016-01-03' and

13、 销售日期 <= '2016-06-07' and 进货日期 >= '2016-01-03' and 进货日期 <= '2016-06-07'七、 数据库视图设计1、建立查询每册图书销售总数的视图Create view 月销数量ASselect sum(图书数量) as 图书总数,销售订单表.图书号 FROM 销售订单表 group by 销售订单表.图书号;2、 选择供应商Create view 选择供应商ASSelect s1.供应商名称,s1.供应图书号,s1.图书价格 From 供应商 s1,供应商 s2Where s1

14、.供应图书号=s2.供应图书号 AND s1.图书价格<=s2.图书价格;3、 建立销售订单应付总金额create view 应付金额asselect 图书数量*图书价格 AS 总数, 订单号from 销售订单表;4、 建立书店总销售create view 总售出金额asselect sum(图书数量*图书价格) 总数from 销售订单表;八、 数据库存储过程设计1、存储过程查询某段时间内各种图书的进货和销售情况ALTER procedure 图书进货销售情况 as begin SELECT 进货订单表.订单号,进货订单表.图书数量,进货日期,销售订单表.订单号,销售订单表.图书数量,销售日期 from 进货订单表,销售订单表 where 销售日期 >= '2014-1-1' and 销售日期 <= '2014-12-31' and 进货日期 >= '2014-1-1' and 进货日期 <= '2014-12-31' end;九、程序截图 十、总结 通过这次数据库课程设计,我深刻的体会到作为DBA要考虑到方方面面的问题。刚开始我根本不知道从哪下手,根据关系模式,从SQL中慢慢建表。刚开始用英文定义的,可是由于没有连续的时间,英文易

温馨提示

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

评论

0/150

提交评论