您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据库-仓库管理系统
数据库课程设计学生姓名:指导老师:学号:日期:2012-02-01一、摘要1)有一个存放商品的仓库,每天都有商品出库和入库。2)每种商品都有名称、生产厂家、型号、规格等。3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。二、需求分析1.商品管理:增加商品:修改商品,删除商品,浏览商品增加商品:实现增加商品的详细资料的功能修改商品:实现修改商品资料的功能删除商品:实现删除该商品的所有资料的功能浏览商品:实现浏览所有商品的功能2.库存管理:实现商品的入库,在商品入库时通过触发器或存储过程同时完成商品库存台帐的更新。实现商品的出库,在商品出库时通过触发器或存储过程同时完成商品库存台帐的更新。实现按商品名称查询商品的入库情况及目前的库存量。实现按入库日期查询商品的入库情况及目前的库存量。实现按商品名称查询商品的出库情况及目前的库存量。实现按出库日期查询商品的出库情况及目前的库存量。按时间段查询商品库存情况。实现分别按年、季度和月对入库商品数量的统计。实现分别按年、季度和月对出库商品数量的统计。三、数据库概念结构设计1.有一个存放商品的仓库,每天都有商品出库和入库。2.每种商品都有商品编号、商品名称、生产厂家、型号、规格等。3.入库时必须填写入库单据,单据包括商品名称、生产厂家、型号、规格、入库数量、入库日期、入库仓库号、入库仓库名称、送货人姓名。4.出库时必须填写出库单据,单据包括仓库号、仓库名称、商品编号、商品名称、型号、规格、出库数量、出库日期、提货人姓名。5.设置商品库存台帐,商品库存台帐是对仓库中目前库存的所有商品的明细记录,商品库存台帐包括商品编号、商品名称、型号、规格、库存数量、库存日期。每当有商品入库或商品出库时都应该自动修改该台帐,最后一次修改的是现在的库存情况。6.商品的入库和出库过程通过库存台帐更加清晰条理地显示出仓库中商品的库存数量和库存日期等信息,容易对库存内的商品信息进行查询,增加,修改,删除等操作。7.该仓库的商品型号统一为DA01-DA99格式,规格为CX100-CX199格式四、数据库逻辑结构设计商品仓库库存出库入库五、数据流图及程序结构框图名称商品编号型号规格仓库编号名称厂家六、程序原代码及其说明表表名中文名Ware商品Depot仓库Stock库存Stocking入库Outbound出库商品Ware字段名数据类型是否可以为空IsPKIsFK中文名WNochar(10)NOTNULLYesNo商品编号WNamevarchar(50)NOTNULLNoNo商品名称WFactoryvarchar(50)NOTNULLNoNo生产厂家WTypevarchar(20)NOTNULLNoNo型号Specvarchar(20)NOTNULLNoNo规格仓库Depot字段名数据类型是否可以为空IsPKIsFK中文名DNochar(10)NOTNULLYesNo仓库号DNamevarchar(50)NOTNULLNoNo仓库名称库存Stock字段名数据类型是否可以为空IsPKIsFK中文名WNochar(10)NOTNULLYesYes商品编号Dnochar(10)NOTNULLYesYes仓库号WAmountIntNOTNULLNoNo库存数量入库Stocking字段名数据类型是否可以为空IsPKIsFK中文名SNochar(10)NOTNULLYesNo入库号WNochar(10)NOTNULLNoYes商品编号Dnochar(10)NOTNULLNoYes仓库号SAmountIntNOTNULLNoNo入库数量SDatesmalldatetimeNOTNULLNoNo入库日期Suppliervarchar(50)NOTNULLNoNo送货人姓名出库Outbound字段名数据类型是否可以为空IsPKIsFK中文名ONochar(10)NOTNULLYesNo出库号WNochar(10)NOTNULLNoYes商品编号Dnochar(10)NOTNULLNoYes仓库号OAmountintNOTNULLNoNo出库数量ODatesmalldatetimeNOTNULLNoNo出库日期Buyersvarchar(50)NOTNULLNoNo提货人姓名创建商品表useMaterial_DBcreatetableWare(WNochar(10)NOTNULLprimarykey,WNamevarchar(50)NOTNULL,WFactoryvarchar(50)NOTNULL,WTypevarchar(20)NOTNULL,Specvarchar(20)NOTNULL)useMaterial_DBinsertintoWarevalues('000001','剪刀','王麻子','HJA1','sa8');insertintoWarevalues('000002','锯条','星球','jdA1','ssak8');insertintoWarevalues('000003','台钻','新世界','21k','mcui');insertintoWarevalues('000004','电锯','聚客','yueA1','h67');insertintoWarevalues('000005','风扇','东升','21o','mc67');insertintoWarevalues('000006','喷漆','巨力','tyA1','ui21');仓库表useMaterial_DBcreatetableDepot(DNochar(10)NOTNULLprimarykey,DNamevarchar(50)NOTNULL)useMaterial_DBinsertintoDepotvalues('100001','丰盛');insertintoDepotvalues('100002','长虹');insertintoDepotvalues('100003','永利');库存表useMaterial_DBcreatetableStock(WNochar(10)NOTNULL,DNochar(10)NOTNULL,--WDatesmalldatetimeNOTNULL,WAmountintNOTNULL,primarykey(WNo,Dno),foreignkey(WNo)referencesWare(WNo),foreignkey(DNo)referencesDepot(DNo))创建入库表useMaterial_DBcreatetableStocking(SNochar(10)NOTNULLprimarykey,WNochar(10)NOTNULL,DNochar(10)NOTNULL,foreignkey(WNo)referencesWare(WNo),foreignkey(DNo)referencesDepot(DNo),SAmountIntNOTNULL,SDatesmalldatetimeNOTNULL,Suppliervarchar(50)NOTNULL创建出库表useMaterial_DBcreatetableOutbound(ONochar(10)NOTNULLprimarykey,WNochar(10)NOTNULL,foreignkey(WNo)referencesWare(WNo),DNochar(10)NOTNULL,foreignkey(DNo)referencesDepot(DNo),OAmountintNOTNULl,ODatesmalldatetimeNOTNULL,Buyersvarchar(50)NOTNULL)七、要求实现1.设计E-R图厂家名称商品编号型号规格仓库编号名称入库出库库存编号数量时间姓名编号数量时间姓名2.实现按商品名称、出入库日期的查询。createviewVWname(商品名称,出库日期)ASSELECTOutbound.WNo,Outbound.ODatefromOutbound3.实现分别按日、月和年对出入库商品数量的统计createviewWA_Stocking1asselectSNo,WNo,DNo,SAmount,SDate,SupplierfromStockingwhereSDate='2012-01-0402:03:00'八、总结这是我第一次按照需求分析做数据库,逻辑分析、关系表和表之间的关系都需要实践,ER图的构思,让我有了对数据库设计的进一步认识。这次让我对书本中的知识和老师的讲解进行了巩固。九、致谢语感谢老师的指导!十、参考文献1王珊.数据库系统概论(第四版).北京:高等教育出版社,20052PowerBuilder7.0的帮助文件pbgswin.pdf(在文件夹C:\ProgramFiles\Sybase\PowerBuilder7.0\hlp\)3AdaptiveServerAnywhere的所有帮助文件
本文标题:数据库-仓库管理系统
链接地址:https://www.777doc.com/doc-4290637 .html