1、数据库 仓库管理系统 数据库课程设计学生姓名:指导老师:学号:日期:2012-02-01一、 摘要1) 有一个存放商品的仓库,每天都有商品出库和入库。2) 每种商品都有名称、生产厂家、型号、规格等。3) 出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。二、 需求分析1.商品管理: 增加商品:修改商品,删除商品,浏览商品增加商品:实现增加商品的详细资料的功能修改商品:实现修改商品资料的功能删除商品:实现删除该商品的所有资料的功能浏览商品:实现浏览所有商品的功能2库存管理: 实现商品的入库,在商品入库时通过触发
2、器或存储过程同时完成商品库存台帐的更新。实现商品的出库,在商品出库时通过触发器或存储过程同时完成商品库存台帐的更新。实现按商品名称查询商品的入库情况及目前的库存量。实现按入库日期查询商品的入库情况及目前的库存量。实现按商品名称查询商品的出库情况及目前的库存量。实现按出库日期查询商品的出库情况及目前的库存量。按时间段查询商品库存情况。实现分别按年、季度和月对入库商品数量的统计。实现分别按年、季度和月对出库商品数量的统计。三、 数据库概念结构设计1.有一个存放商品的仓库,每天都有商品出库和入库。2.每种商品都有商品编号、商品名称、生产厂家、型号、规格等。3.入库时必须填写入库单据,单据包括商品名称
3、、生产厂家、型号、规格、入库数量、入库日期、入库仓库号、入库仓库名称、送货人姓名。4.出库时必须填写出库单据,单据包括仓库号、仓库名称、商品编号、商品名称、型号、规格、出库数量、出库日期、提货人姓名。5.设置商品库存台帐,商品库存台帐是对仓库中目前库存的所有商品的明细记录,商品库存台帐包括商品编号、商品名称、型号、规格、库存数量、库存日期。每当有商品入库或商品出库时都应该自动修改该台帐,最后一次修改的是现在的库存情况。6.商品的入库和出库过程通过库存台帐更加清晰条理地显示出仓库中商品的库存数量和库存日期等信息,容易对库存内的商品信息进行查询,增加,修改,删除等操作。7.该仓库的商品型号统一为D
4、A01-DA99格式,规格为CX100-CX199格式四、 数据库逻辑结构设计商品仓库库存出库入库五、 数据流图及程序结构框图六、程序原代码及其说明表表名中文名Ware商品Depot仓库Stock库存Stocking入库Outbound出库商品Ware字段名数据类型是否可以为空Is PKIs FK中文名WNochar(10)NOT NULLYesNo商品编号WNamevarchar(50)NOT NULLNoNo商品名称WFactoryvarchar(50)NOT NULLNoNo生产厂家WTypevarchar(20)NOT NULLNoNo型号Specvarchar(20)NOT NULL
5、NoNo规格仓库 Depot字段名数据类型是否可以为空Is PKIs FK中文名DNochar(10)NOT NULLYesNo仓库号DNamevarchar(50)NOT NULLNoNo仓库名称库存Stock字段名数据类型是否可以为空Is PKIs FK中文名WNochar(10)NOT NULLYesYes商品编号Dnochar(10)NOT NULLYesYes仓库号WAmountIntNOT NULLNoNo库存数量入库Stocking字段名数据类型是否可以为空Is PKIs FK中文名SNochar(10)NOT NULLYesNo入库号WNochar(10)NOT NULLNoY
6、es商品编号Dnochar(10)NOT NULLNoYes仓库号SAmountIntNOT NULLNoNo入库数量SDatesmalldatetimeNOT NULLNoNo入库日期Suppliervarchar(50)NOT NULLNoNo送货人姓名出库Outbound字段名数据类型是否可以为空Is PKIs FK中文名ONochar(10)NOT NULLYesNo出库号WNochar(10)NOT NULLNoYes商品编号Dnochar(10)NOT NULLNoYes仓库号OAmountintNOT NULLNoNo出库数量ODatesmalldatetimeNOT NULLN
7、oNo出库日期Buyersvarchar(50)NOT NULLNoNo提货人姓名创建商品表use Material_DBcreate table Ware (WNo char(10) NOT NULL primary key,WName varchar(50) NOT NULL,WFactory varchar(50) NOT NULL,WType varchar(20) NOT NULL,Spec varchar(20) NOT NULL)use Material_DBinsert into Warevalues(000001,剪刀,王麻子,HJA1,sa8);insert into Wa
8、revalues(000002,锯条,星球,jdA1,ssak8);insert into Warevalues(000003,台钻,新世界,21k,mcui);insert into Warevalues(000004,电锯,聚客,yueA1,h67);insert into Warevalues(000005,风扇,东升,21o,mc67);insert into Warevalues(000006,喷漆,巨力,tyA1,ui21);仓库表use Material_DBcreate table Depot( DNo char(10) NOT NULL primary key,DName v
9、archar(50) NOT NULL)use Material_DBinsert into Depotvalues(100001,丰盛);insert into Depotvalues(100002,长虹);insert into Depotvalues(100003,永利);库存表use Material_DBcreate table Stock( WNo char(10) NOT NULL,DNo char(10) NOT NULL,-WDate smalldatetime NOT NULL,WAmount int NOT NULL,primary key(WNo,Dno),foreig
10、n key (WNo) references Ware(WNo),foreign key (DNo) references Depot(DNo)创建入库表use Material_DBcreate table Stocking( SNo char(10) NOT NULL primary key,WNo char(10) NOT NULL,DNo char(10) NOT NULL,foreign key (WNo) references Ware(WNo),foreign key (DNo) references Depot(DNo),SAmount Int NOT NULL,SDate s
11、malldatetime NOT NULL,Supplier varchar(50) NOT NULL创建出库表use Material_DBcreate table Outbound( ONo char(10)NOT NULL primary key,WNo char(10)NOT NULL ,foreign key (WNo)references Ware(WNo),DNo char(10) NOT NULL,foreign key (DNo) references Depot(DNo),OAmount int NOT NULl ,ODate smalldatetime NOT NULL,
12、Buyers varchar(50) NOT NULL)七、要求实现1. 设计E-R图2.实现按商品名称、出入库日期的查询。create view VWname(商品名称, 出库日期)ASSELECT Outbound.WNo,Outbound.ODatefrom Outbound3. 实现分别按日、月和年对出入库商品数量的统计create view WA_Stocking1as select SNo,WNo,DNo,SAmount,SDate,Supplier from Stocking where SDate=2012-01-04 02:03:00 八、总结这是我第一次按照需求分析做数据库,逻辑分析、关系表和表之间的关系都需要实践,ER图的构思,让我有了对数据库设计的进一步认识。这次让我对书本中的知识和老师的讲解进行了巩固。九、致谢语感谢老师的指导!十、参考文献1 王珊. 数据库系统概论(第四版).北京:高等教育出版社,20052 PowerBuilder 7.0 的帮助文件 pbgswin.pdf (在文件夹C:Program FilesSybasePowerBuilder 7.0hlp)3 Adaptive Server Anywhere 的所有帮助文件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1