数据库课程设计商品信息管理系统.docx

上传人:b****8 文档编号:9512125 上传时间:2023-05-19 格式:DOCX 页数:38 大小:249.63KB
下载 相关 举报
数据库课程设计商品信息管理系统.docx_第1页
第1页 / 共38页
数据库课程设计商品信息管理系统.docx_第2页
第2页 / 共38页
数据库课程设计商品信息管理系统.docx_第3页
第3页 / 共38页
数据库课程设计商品信息管理系统.docx_第4页
第4页 / 共38页
数据库课程设计商品信息管理系统.docx_第5页
第5页 / 共38页
数据库课程设计商品信息管理系统.docx_第6页
第6页 / 共38页
数据库课程设计商品信息管理系统.docx_第7页
第7页 / 共38页
数据库课程设计商品信息管理系统.docx_第8页
第8页 / 共38页
数据库课程设计商品信息管理系统.docx_第9页
第9页 / 共38页
数据库课程设计商品信息管理系统.docx_第10页
第10页 / 共38页
数据库课程设计商品信息管理系统.docx_第11页
第11页 / 共38页
数据库课程设计商品信息管理系统.docx_第12页
第12页 / 共38页
数据库课程设计商品信息管理系统.docx_第13页
第13页 / 共38页
数据库课程设计商品信息管理系统.docx_第14页
第14页 / 共38页
数据库课程设计商品信息管理系统.docx_第15页
第15页 / 共38页
数据库课程设计商品信息管理系统.docx_第16页
第16页 / 共38页
数据库课程设计商品信息管理系统.docx_第17页
第17页 / 共38页
数据库课程设计商品信息管理系统.docx_第18页
第18页 / 共38页
数据库课程设计商品信息管理系统.docx_第19页
第19页 / 共38页
数据库课程设计商品信息管理系统.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计商品信息管理系统.docx

《数据库课程设计商品信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计商品信息管理系统.docx(38页珍藏版)》请在冰点文库上搜索。

数据库课程设计商品信息管理系统.docx

数据库课程设计商品信息管理系统

课程设计

课程名称:

数据库系统概论

设计题目:

商品信息管理系统设计与实现

院系名称信息科学与工程学院

班级交通运输1202班

姓名与学号:

指导教师

1课题简介

  随着现代科技的高速发展,设备与管理的现代化,在实际工作中如何提高工

作效率成为一个很重要的问题。

而建立管理信息系统就是一个很好的解决办法。

经过半年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系

实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下,

历经两周时间,我们自行设计一套商品信息管理系统,在下面的各章中,我将以这套商品管理系统为例,谈谈其开发过程与所涉及到的问题。

2设计目的

 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践

更好的结合起来,巩固所学知识。

数据库应用课程实践:

实践与巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立与调试以及系统评价。

数据库原理软件设计实践:

实践与巩固在课堂教学中学习的关于关系数据库原理的有关知识与数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库商品信息管理系统,必须得经过系统调研、需求分析、概念设计、

逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打

下基础。

3设计内容

运用基于E-R模型的数据库设计方法与关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发商品信息系统,完成商品信息管理系统的全部功能,商品入库子系统,商品出库子系统,商品库存子系统。

首先做好需求分析,并完成数据流图与数据字典。

其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图。

然后就就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型

4设计具体实施

一、进行需求分析,编写数据字典。

1、系统功能要求设计

①有一个存放商品的仓库,每天都有商品出库与入库。

②每种商品都有商品编号、商品名称、生产厂家、型号、规格等。

③入库时必须填写入库单据,单据包括商品名称、生产厂家、型号、规格、入库数量、入库日期、入库仓库号、入库仓库名称、送货人姓名。

④出库时必须填写出库单据,单据包括仓库号、仓库名称、商品编号、商品名称、型号、规格、出库数量、出库日期、提货人姓名。

⑤设置商品库存台帐,商品库存台帐就是对仓库中目前库存的所有商品的明细记录,商品库存台帐包括商品编号、商品名称、型号、规格、库存数量、库存日期。

每当有商品入库或商品出库时都应该自动修改该台帐,最后一次修改的就是现在的库存情况。

⑥商品的入库与出库过程通过库存台帐更加清晰条理地显示出仓库中商品的库存数量与库存日期等信息,容易对库存内的商品信息进行查询,增加,修改,删除等操作。

⑦该仓库的商品型号统一为DA01-DA99格式,规格为CX100-CX199格式

主要功能:

1商品管理:

增加商品:

修改商品,删除商品,浏览商品

增加商品:

实现增加商品的详细资料的功能

修改商品:

实现修改商品资料的功能

删除商品:

实现删除该商品的所有资料的功能

浏览商品:

实现浏览所有商品的功能

②库存管理:

实现商品的入库,在商品入库时通过触发器或存储过程同时完成商品库存台帐的更新。

实现商品的出库,在商品出库时通过触发器或存储过程同时完成商品库存台帐的更新。

实现按商品名称查询商品的入库情况及目前的库存量。

实现按入库日期查询商品的入库情况及目前的库存量。

实现按商品名称查询商品的出库情况及目前的库存量。

实现按出库日期查询商品的出库情况及目前的库存量。

按时间段查询商品库存情况。

实现分别按年、季度与月对入库商品数量的统计。

实现分别按年、季度与月对出库商品数量的统计。

2、系统模块设计

库存物资管理大体可以分为以下3大模块,如下图所示:

首先就是商品入库模块,该模块主要就就是描述把采购回来的商品,分类别的放置到指定的仓库中去,然后就是商品出库模块,该模块主要描述从指定的仓库中拿出商品;最后时库存模块,这个模块主要就是记录商品的库存数量变化。

3、数据字典

表名

中文名

Ware

商品

Depot

仓库

Stock 

库存

Stocking

入库

Outbound

出库

商品Ware

字段名

数据类型

就是否可以为空

IsPK

IsFK

中文名

WNo

char(10)

NOTNULL

Yes

No

商品编号

WName

varchar(50)

NOTNULL

No

No

商品名称

WFactory

varchar(50)

NOTNULL

No

No

生产厂家

WType 

varchar(20)

NOTNULL

No

No

型号

Spec

varchar(20)

NOTNULL

No

No

规格

仓库Depot

字段名

数据类型

就是否可以为空

IsPK

IsFK

中文名

DNo

char(10)

NOTNULL

Yes

No

仓库号

DName

varchar(50)

NOTNULL

No

No

仓库名称

库存Stock 

字段名

数据类型

就是否可以为空

IsPK

IsFK

中文名

WNo

char(10)

NOTNULL

Yes

Yes

商品编号

Dno

char(10)

NOTNULL

Yes

Yes

仓库号

WAmount 

Int

NOTNULL

No

No

库存数量

入库Stocking

字段名

数据类型

就是否可以为空

IsPK

IsFK

中文名

SNo

char(10)

NOTNULL

Yes

No

入库号

WNo

char(10)

NOTNULL

No

Yes

商品编号

Dno

char(10)

NOTNULL

No

Yes

仓库号

SAmount

Int

NOTNULL

No

No

入库数量

SDate

smalldatetime

NOTNULL

No

No

入库日期

Supplier

varchar(50)

NOTNULL

No

No

送货人姓名

出库Outbound

字段名

数据类型

就是否可以为空

IsPK

IsFK

中文名

ONo

char(10)

NOTNULL

Yes

No

出库号

WNo

char(10)

NOTNULL

No

Yes

商品编号

Dno

char(10)

NOTNULL

No

Yes

仓库号

OAmount

int

NOTNULL

No

No

出库数量

ODate

smalldatetime

NOTNULL

No

No

出库日期

Buyers

varchar(50)

NOTNULL

No

No

提货人姓名

二、设计完整的E-R图。

三、进行数据库的逻辑设计。

关系模式如下:

商品(商品编号、商品名称、生产厂家、型号、规格)

商品编号为主键

仓库(仓库号、仓库名称)

仓库号为主键

库存(商品编号,仓库号,库存数量)

(商品编号,仓库号)为主键,同时也分别为外键

入库(入库号,商品编号,仓库号,入库数量,入库日期,送货人姓名)

(入库号)为主键,(商品编号,仓库号)为外键

出库(出库号,商品编号,仓库号,出库数量,出库日期,提货人姓名)

(出库号)为主键,(商品编号,仓库号)为外键

四、完成物理数据库的设计,

(包括数据库、表、索引、视图、完整性约束的物理设计。

创建数据库

createdatabaseMaterial_DB

创建商品表

useMaterial_DB

createtableWare(/*定义商品表*/

WNochar(10)NOTNULLprimarykey,

WNamevarchar(50)NOTNULL,

WFactoryvarchar(50)NOTNULL,

WTypevarchar(20)NOTNULL,

Specvarchar(20)NOTNULL

useMaterial_DB/*插入商品信息*/

insertintoWare

values('100000','毛巾','新家园','DA11','CX100');

insertintoWare

values('100001','台灯','新家园','DA35','CX110');

insertintoWare

values('100002','电冰箱','海尔','DA61','CX900');

insertintoWare

values('100003','电视','东芝','DA52','CX901');

insertintoWare

values('100004','长城干红','中粮华夏','DA25','CX108');

insertintoWare

values('100005','笔记本','东芝','DA24','CX781');

创建仓库表

useMaterial_DB

createtableDepot(/*定义仓库表*/

DNochar(10)NOTNULLprimarykey,

DNamevarchar(50)NOTNULL

useMaterial_DB/*插入仓库信息*/

insertintoDepot

values('2010001','胜昌');

insertintoDepot

values('2010002','德隆');

insertintoDepot

values('2010003','豪友');

创建库存表

useMaterial_DB

createtableStock(/*定义库存关系*/

WNochar(10)NOTNULL,

DNochar(10)NOTNULL,

--WDatesmalldatetimeNOTNULL,

WAmountintNOTNULL,

primarykey(WNo,Dno),

foreignkey(WNo)referencesWare(WNo),

foreignkey(DNo)referencesDepot(DNo)

创建入库表

useMaterial_DB

createtableStocking(/*定义入库关系*/

SNochar(10)NOTNULLprimarykey,

WNochar(10)NOTNULL,

DNochar(10)NOTNULL,

foreignkey(WNo)referencesWare(WNo),

foreignkey(DNo)referencesDepot(DNo),

SAmountIntNOTNULL,

SDatesmalldatetimeNOTNULL,

Suppliervarchar(50)NOTNULL

创建出库表

useMaterial_DB

createtableOutbound(/*定义出库关系*/

ONochar(10)NOTNULLprimarykey,

WNochar(10)NOTNULL,

foreignkey(WNo)referencesWare(WNo),

DNochar(10)NOTNULL,

foreignkey(DNo)referencesDepot(DNo),

OAmountintNOTNULl,

ODatesmalldatetimeNOTNULL,

Buyersvarchar(50)NOTNULL

完整约束的说明:

商品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_DB

altertableWare/*添加对表Ware的WNo属性的完整性约束,要求在~9999999999之间*/

addconstraintC4check(WNolike'[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]');

altertableDepot

addconstraintC5check(DNolike'[2][0][1][0][0-9][0-9][0-9]');

useMaterial_DB

altertableWare

dropconstraintC4;

useMaterial_DB

altertableWare/*添加对表Ware的WNo属性的完整性约束,要求在~999999之间*/

addconstraintC4check(WNolike'[1-9][0-9][0-9][0-9][0-9][0-9]');

创建视图

通过WLST(提取“物料视图”每个字的头字母)视图来浏览库存中相同编号商品的信息,其中包括:

商品编号WNo、商品名WName、商品厂家WFactory、商品型号WType、商品规格Spec、商品数量SNum、

createviewVWname(商品编号,商品名称,库存数量)--视图

AS

SELECTStock、WNo,Ware、WName,sum(Stock、WAmount)

fromWare,Stock

whereStock、WNo=Ware、WNo

groupbyStock、WNo,Ware、WName;

五、实现商品的入库,在商品入库时通过触发器或存储过程同时完成商品库存台帐的更新。

入库表的触发器

createtriggerstocking_intoonstocking--这就是入库表的触发器

afterinsert

as

begin

declare@achar(10),@bchar(10),@dint;

select@a=i、DNo,@b=i、WNo,@d=i、SAmount

frominsertedasi;

if(selectStock、WNofromStockwhereStock、WNo=@bandStock、DNo=@a)isnotnull

begin

updateStock

setStock、WAmount=Stock、WAmount+@d

whereStock、WNo=@bandStock、DNo=@a;

return;

end

insertintostockvalues(@b,@a,@d);

end

insertintostockingvalues('100','100005','2010001',200,'2006-01-02','小明');

insertintostockingvalues('101','100005','2010003',200,'2006-01-02','小兰');

insertintostockingvalues('102','100001','2010003',200,'2006-01-02','小东');

insertintostockingvalues('103','100002','2010001',200,'2006-01-02','小红');

insertintostockingvalues('104','100003','2010001',200,'2007-01-14','小风');

insertintostockingvalues('105','100005','2010002',200,'2006-01-25','小明');

insertintostockingvalues('106','100000','2010002',200,'2006-02-02','小明');

insertintostockingvalues('107','100001','2010001',200,'2005-03-02','小东');

insertintostockingvalues('108','100002','2010002',200,'2007-04-02','小红');

insertintostockingvalues('109','100003','2010003',200,'2006-04-02','小风');

insertintostockingvalues('110','100004','2010001',200,'2006-06-09','小敏');

insertintostockingvalues('111','100004','2010002',200,'2005-06-02','小风');

insertintostockingvalues('112','100005','2010001',200,'2005-06-02','小青');

insertintostockingvalues('113','100000','2010003',200,'2005-06-02','小明');

insertintostockingvalues('114','100001','2010001',200,'2005-06-02','小东');

insertintostockingvalues('115','100002','2010002',200,'2007-07-02','小红');

insertintostockingvalues('116','100003','2010003',200,'2006-08-02','小风');

insertintostockingvalues('117','100000','2010001',200,'2006-08-02','小明');

insertintostockingvalues('118','100001','2010001',200,'2005-09-04','小东');

insertintostockingvalues('119','100002','2010002',200,'2005-06-02','小红');

insertintostockingvalues('120','100003','2010003',200,'2005-09-11','小风');

insertintostockingvalues('121','100002','2010002',200,'2005-09-01','小明');

insertintostockingvalues('122','100003','2010002',200,'2005-07-08','小敏');

insertintostockingvalues('123','100002','2010003',200,'2005-04-11','小敏');

insertintostockingvalues('124','100001','2010001',200,'2007-07-08','小红');

insertintostockingvalues('125','100001','2010003',200,'2005-08-21','小青');

insertintostockingvalues('126','100005','2010001',200,'2005-07-08','小青');

insertintostockingvalues('127','100003','2010003',200,'2005-09-01','小兰');

insertintostockingvalues('128','100002','2010002',200,'2007-07-08','小兰');

insertintostockingvalues('129','100004','2010001',200,'2007-07-08','小兰');

insertintostockingvalues('130','100005','2010002',200,'2007-07-08','小红');

六、实现商品的出库,在商品出库时通过触发器或存储过程同时完成商品库存台帐的更新。

出库表触发器

createtriggeroutbound_donOutbound--这就是出库表的触发器

afterinsert

as

begin

declare@achar(10),@bchar(10),@dint;

select@a=i、DNo,@b=i、WNo,@d=i、OAmount

frominsertedasi

if(selects、WNofromStockasswheres、DNo=@aands、WNo=@b)isnotnull

begin

if(selects、WAmountfromStockass,insertedwheres、WAmount>=inserted、OAmount

ands、WNo=inserted、WNoands、DNo=inserted、DNo)isnotnull

begin

updateStock

setStock、WAmount=Stock、WAmount-@d

whereStock、DNo=@aandStock、WNo=@b

end

else

begin

print'库存量

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2