您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 数据库课程设计商品信息管理系统
第1页共29页课程设计课程名称:数据库系统概论设计题目:商品信息管理系统设计与实现院系名称信息科学与工程学院班级交通运输1202班姓名与学号:指导教师第2页共29页1课题简介随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。经过半年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下,历经两周时间,我们自行设计一套商品信息管理系统,在下面的各章中,我将以这套商品管理系统为例,谈谈其开发过程和所涉及到的问题。2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库商品信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。3设计内容运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发商品信息系统,完成商品信息管理系统的全部功能,商品入库子系统,商品出库子系统,商品库存子系统。首先做好需求分析,并完成数据流图和数据字典。其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图。然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型4设计具体实施一、进行需求分析,编写数据字典。1、系统功能要求设计第3页共29页①有一个存放商品的仓库,每天都有商品出库和入库。②每种商品都有商品编号、商品名称、生产厂家、型号、规格等。③入库时必须填写入库单据,单据包括商品名称、生产厂家、型号、规格、入库数量、入库日期、入库仓库号、入库仓库名称、送货人姓名。④出库时必须填写出库单据,单据包括仓库号、仓库名称、商品编号、商品名称、型号、规格、出库数量、出库日期、提货人姓名。⑤设置商品库存台帐,商品库存台帐是对仓库中目前库存的所有商品的明细记录,商品库存台帐包括商品编号、商品名称、型号、规格、库存数量、库存日期。每当有商品入库或商品出库时都应该自动修改该台帐,最后一次修改的是现在的库存情况。⑥商品的入库和出库过程通过库存台帐更加清晰条理地显示出仓库中商品的库存数量和库存日期等信息,容易对库存内的商品信息进行查询,增加,修改,删除等操作。⑦该仓库的商品型号统一为DA01-DA99格式,规格为CX100-CX199格式主要功能:①商品管理:增加商品:修改商品,删除商品,浏览商品增加商品:实现增加商品的详细资料的功能修改商品:实现修改商品资料的功能删除商品:实现删除该商品的所有资料的功能浏览商品:实现浏览所有商品的功能②库存管理:实现商品的入库,在商品入库时通过触发器或存储过程同时完成商品库存台帐的更新。实现商品的出库,在商品出库时通过触发器或存储过程同时完成商品库存台帐的更新。实现按商品名称查询商品的入库情况及目前的库存量。实现按入库日期查询商品的入库情况及目前的库存量。实现按商品名称查询商品的出库情况及目前的库存量。实现按出库日期查询商品的出库情况及目前的库存量。按时间段查询商品库存情况。实现分别按年、季度和月对入库商品数量的统计。实现分别按年、季度和月对出库商品数量的统计。第4页共29页2、系统模块设计库存物资管理大体可以分为以下3大模块,如下图所示:首先是商品入库模块,该模块主要就是描述把采购回来的商品,分类别的放置到指定的仓库中去,然后是商品出库模块,该模块主要描述从指定的仓库中拿出商品;最后时库存模块,这个模块主要是记录商品的库存数量变化。3、数据字典表表名中文名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仓库号商品信息管理商品入库模块商品出库模块商品库存模块第5页共29页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提货人姓名二、设计完整的E-R图。第6页共29页商品编号型号生产厂家规格商品名称商品仓库号仓库仓库名称商品仓库库存nm商品仓库入库nm商品仓库出库nm库存关系:入库关系:出库关系:分E-R图:第7页共29页三、进行数据库的逻辑设计。关系模式如下:商品(商品编号、商品名称、生产厂家、型号、规格)商品编号为主键仓库(仓库号、仓库名称)仓库号为主键库存(商品编号,仓库号,库存数量)(商品编号,仓库号)为主键,同时也分别为外键入库(入库号,商品编号,仓库号,入库数量,入库日期,送货人姓名)(入库号)为主键,(商品编号,仓库号)为外键总E-R图:商品编号型号生产厂家规格商品名称商品仓库号仓库仓库名称入库日期送货人姓名入库数量入库入库号nnnmmm库存库存数量提货人姓名出库日期出库数量出库出库号第8页共29页出库(出库号,商品编号,仓库号,出库数量,出库日期,提货人姓名)(出库号)为主键,(商品编号,仓库号)为外键四、完成物理数据库的设计,(包括数据库、表、索引、视图、完整性约束的物理设计。)创建数据库createdatabaseMaterial_DB创建商品表useMaterial_DBcreatetableWare(/*定义商品表*/WNochar(10)NOTNULLprimarykey,WNamevarchar(50)NOTNULL,WFactoryvarchar(50)NOTNULL,WTypevarchar(20)NOTNULL,Specvarchar(20)NOTNULL)useMaterial_DB/*插入商品信息*/insertintoWarevalues('100000','毛巾','新家园','DA11','CX100');insertintoWarevalues('100001','台灯','新家园','DA35','CX110');insertintoWarevalues('100002','电冰箱','海尔','DA61','CX900');insertintoWarevalues('100003','电视','东芝','DA52','CX901');insertintoWarevalues('100004','长城干红','中粮华夏','DA25','CX108');insertintoWarevalues('100005','笔记本','东芝','DA24','CX781');创建仓库表useMaterial_DB第9页共29页createtableDepot(/*定义仓库表*/DNochar(10)NOTNULLprimarykey,DNamevarchar(50)NOTNULL)useMaterial_DB/*插入仓库信息*/insertintoDepotvalues('2010001','胜昌');insertintoDepotvalues('2010002','德隆');insertintoDepotvalues('2010003','豪友');创建库存表useMaterial_DBcreatetableStock(/*定义库存关系*/WNochar(10)NOTNULL,DNochar(10)NOTNULL,--WDatesmalldatetimeNOTNULL,WAmountintNOTNULL,primarykey(WNo,Dno),foreignkey(WNo)referencesWare(WNo),foreignkey(DNo)referencesDepot(DNo))第10页共29页创建入库表useMaterial_DBcreatetableStocking(/*定义入库关系*/SNochar(10)NOTNULLprimarykey,WNochar(10)NOTNULL,DNochar(10)NOTNULL,foreignkey(WNo)referencesWare(WNo),foreignkey(DNo)referencesDepot(DNo),SAmountIntNOTNULL,SDatesmalldatetimeNOTNULL,Suppliervarchar(50)NOTNULL)第11页共29页创建出库表useMaterial_DBcreatetableOutbound(/*定义出库关系*/ONochar(10)NOTNULLprimarykey,WNochar(10)NOTNULL,foreignkey(WNo)referencesWare(WNo),DNochar(10)NOTNULL,foreignkey(DNo)referencesDepot(DNo),OAmountintNOTNULl,ODatesmalldatetimeNOTNULL,Buyersvarchar(50)NOTNULL)第12页共29页完整约束的说明:商品Ware的WNo商品编号要求在100000~999999之间,WName不能取空;仓库Depot的DNo仓库编号要求在2010001~2010999之间,DName不能取空;该仓库的商品型号统一为DA01-DA99格式,规格为CX100-CX199格式。useMaterial_DB/*定义表Ware唯一性的约束条件*/alterTableWareaddunique(WName,WFactory,WType,Spec);alterTableWare/*定义WType的完整性约束条件:商品型号统一为DA01-DA99格式*/addconstraintC2check(WTypelike'[D][A][0-9][1-9]');alterTableWare/*定义Spec的完整性约束条件:规格为CX100-CX199格式*/addconstraintC3check(Speclike'[C][X][1-9][0-9][0-9]');useMaterial_DBaltertableWare/*
本文标题:数据库课程设计商品信息管理系统
链接地址:https://www.777doc.com/doc-4249452 .html