当前位置:文档之家› 数据库设计报告完整

数据库设计报告完整

数据库课程设计指导书昆明理工大学自动化系20xx年12月数据库技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。

《数据库原理及应用》课程设计重视实践环节,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。

课程设计的目的和要求有以下几方面:一、课程设计目的:1.加深对讲授内容的理解《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。

2.通过课程设计,掌握数据库系统设计与开发的方法及步骤数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。

同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。

在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。

3.培养学生自学以及主动解决问题的能力通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。

二、课程设计基本要求:1.课程设计应由学生本人独立完成完成,严禁抄袭,如果发现最后的设计基本相同者(系统需求分析与功能设计、数据库的概念设计、逻辑设计,数据库的实现与运行等内容基本相同),一经验收教师认定其抄袭行为,则成绩均为不及格。

2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等。

熟悉数据建模工具PowerDesigner与数据库管理系统SqlServer软件的使用。

3.按时上机调试,认真完成课程设计。

4.认真编写课程设计报告,课程设计报告的书写格式见附录2数据库技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。

《数据库原理及应用》课程设计重视实践环节,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。

课程设计的目的和要求有以下几方面:三、前言设计物资管理数据库系统的目的是为了全面管理仓库中储存的商品和货物、维护公司资产的安全完整、缩短库存信息流转时间,使经营公司的物资管理层次分明、井然有序,为采购和销售提供依据,从而提高公司的经营效率。

物资管理数据库主要通过存储供货商、购货商、产品等的信息,实现下列任务:保管好库存物资,做到数量充足和准确、质量完好、确保安全、收发迅速、服务周到、降低费用、加速资金周转。

四、需求分析1、主要的需求分析及要求1) 一个存放商品的仓库,每天都有商品出库和入库。

2) 种商品都有名称、生产厂家、型号、规格等。

3) 出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。

4) 实现按商品名称、出入库日期的查询。

5)实现分别按日、月和年对出入库商品数量的统计2、主要的管理模块库存物资管理大体可以分为以下 3 大模块,如下图所示:首先是商品入库模块,该模块主要就是描述把采购回来的商品,分类别的放置到指定的仓库中去,然后是商品出库模块,该模块主要描述从指定的仓库中拿出商品;最后时库存模块,这个模块主要是记录商品的库存数量变化。

4、数据逻辑设计关系模式如下: ①商品(商品编号、商品名称、生产厂家、型号、规格),商品编号为主键 ②仓库(仓库号、仓库名称),仓库号为主键 ③库存(商品编号,仓库号,库存数量),(商品编号,仓库号)为主键,同时也分别为外键 ④入库(入库号,商品编号,仓库号,入库数量,入库日期,送货人姓名),(入库号)为主键,(商品编号,仓库号)为外键 ⑤出库(出库号,商品编号,仓库号,出库数量,出库日期,提货人姓名) (出库号)为主键,(商品编号,仓库号)为外键5、E-R 图物资管理 商品入库 商品出库 商品库存五、数据库实现表1 goods (商品)表结构字段名 数据类型 字段长度 允许空否 字段说明 g_num Char 10 Not Null 商品编号,主键 g_name Varchar 50 Not Null 商品名称 g_fac Varchar 50 Not Null 生产厂家 g_type Varchar 20 Not Null 型号 g_normsVarchar20Not Null规格表2 storage (仓库)表结构字段名 数据类型 字段长度 允许空否 字段说明 sNo Char 10 Not Null 仓库号,主键, SnameVarchar50Not Null 仓库名称表3 reserve (库存)表结构字段名 数据类型 字段长度 允许空否 字段说明g_num Char 10 Not Null 商品编号,主键,外键(参照goods表)sNoChar10Not Null仓库号,主键,外键(参storage 照表)商品商品编号 商品名称生产厂家型号规格入库库存出库出库号商品编出库数量出库号入库号 入库数入库日期送货人姓名仓库仓库号仓库名称ramount int Not Null 库存数量表4 stocking(入库)表结构字段名数据类型字段长度允许空否字段说明s_num Char 10 Not Null 入库号(主键)g_num Char 10 Not Null 商品编号(外键,goods) sNo Char 10 Not Null 仓库号(外键,storage) samount Int Not Null 入库数量Not Null 入库日期sdate smalldatetimesupplier Varchar 50 Not Null 送货人姓名表5 outbound(出库)表结构字段名数据类型字段长度允许空否字段说明o_num Char 10 Not Null 出库号(主键)g_num Char 10 Not Null 商品编号(外键,goods) sNo Char 10 Not Null 仓库号(外键,storage) oamount Int Not Null 出库数量odate smalldatetiNot Null 出库日期mebuyers Varchar 50 Not Null 提货人姓名程序CREATE DATABASE LogisticsCREATE TABLE goods(g_num Char(10)Not Null primary key,g_name Varchar(50)Not Null,g_fac Varchar(50)Not Null,g_type Varchar(20)Not Null,g_norms Varchar(20)Not Null,);CREATE TABLE storage(sNo char(10)NOT NULL primary key,sname varchar(50)NOT NULL,);CREATE TABLE reserve(g_num char(10)NOT NULL,sNo char(10)NOT NULL,ramount int NOT NULL,primary key(g_num,sNo),foreign key (g_num)references goods(g_num),foreign key (sNo)references storage(sNo),);CREATE TABLE Stocking(s_num char(10)NOT NULL primary key, g_num char(10)NOT NULL,sNo char(10)NOT NULL,foreign key (sNo)references storage(sNo), samount Int NOT NULL,sdate smalldatetime NOT NULL, Supplier varchar(50)NOT NULL,);CREATE TABLE outbound(o_num char(10)NOT NULL primary key, g_num char(10)NOT NULL,sNo char(10)NOT NULL,foreign key (sNo)references storage(sNo), oamount int NOT NULl,odate smalldatetime NOT NULL,buyers varchar(50)NOT NULL,);插入数据insertinto goodsvalues ('100000','衣服','小心怕怕','aaa','a1'); insertinto goodsvalues ('100001','裤子','柚子美衣','bbb','a2'); insertinto goodsvalues ('100002','鞋子','美人记','ccc','a3'); insertinto goodsvalues ('100003','袜子','淘宝屋','ddd','a4'); insertinto goodsvalues ('100004','帽子','衣衣不舍','eee','a5');insertinto storage values ('00001','A'); insertinto storage values ('00002','B');into reservevalues ('100000','00001','3'); insertinto reservevalues ('100000','00002','5'); insertinto reservevalues ('100001','00001','2'); insertinto reservevalues ('100001','00002','1'); insertinto reservevalues ('100002','00001','6'); insertinto reservevalues ('100002','00001','2'); insertinto reservevalues ('100003','00002','3'); insertinto reservevalues ('100003','00001','0'); insertinto reservevalues ('100004','00001','6'); insertinto reservevalues ('100004','00002','8');into stockingvalues ('001','10000','00002','50','2013-10-27','小林'); insertinto stockingvalues ('002','10001','00002','50','2013-12-12','冰冰'); insertinto stockingvalues ('003','10003','00001','50','2013-1-23','小王'); insertinto stockingvalues ('004','10004','00001','50','2012-2-11','小王'); insertinto stockingvalues ('005','10002','00001','50','2009-3-5','冰冰'); insertinto stockingvalues ('006','10002','00002','50','2010-5-6','小林'); insertinto stockingvalues ('007','10001','00001','50','2011-12-12','小王'); insertinto stockingvalues ('008','10003','00002','50','2010-11-11','小王');into outboundvalues ('11','10000','00001','10','2011-3-5','小王'); insertinto outboundvalues ('12','10001','00002','20','2013-9-2','冰冰'); insertinto outboundvalues ('13','10002','00001','15','2009-12-28','小王')按商品名称查询商品的入库情况按商品入库日期查询商品的入库情况select s_num,r.g_num,r.sNo,samount,sdate,Supplier,ramountFrom reserve as r,stockingwhere sdate='2013-12-12 00:00:00'and r.g_num=stocking.g_num and r.sNo=stocking.sno;按商品名称查询商品的出库情况select o_num,r.g_num,r.sNo,oamount,g_name,odate,buyers,ramountfrom reserve as r,outbound,goodswhere g_name='帽子';实现按年商品数量统计select g_name,SUM(samount)Ssumfrom Stocking,goodswhere YEAR(sdate)=2009 and Stocking.g_num=goods.g_numgroup by g_name实现按月商品数量统计select g_name,SUM(samount)Ssumfrom Stocking,goodswhere exists(select*where month(sdate)=1 and Stocking.g_num=goods.g_num and YEAR(sdate)=2009) group by g_name;。

相关主题