Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx

上传人:b****5 文档编号:21655542 上传时间:2023-01-31 格式:DOCX 页数:13 大小:204.44KB
下载 相关 举报
Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx_第1页
第1页 / 共13页
Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx_第2页
第2页 / 共13页
Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx_第3页
第3页 / 共13页
Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx_第4页
第4页 / 共13页
Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx

《Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

Oracle仓库管理系统课程设计报告数据库部分含Oracle代码Word文档格式.docx

查询货物类别及货物的信息、数量和货

物流动的规则(对货物出仓进仓的要求);

并可以对以上查询进行修

改;

可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。

二、系统需求分析

利用用例图、类图、E-R图对系统进行需求分析。

仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。

仓库管理系统用例图

类图

表1:

产品信息表PRO

字段名

数据类型

长度

约束

说明

PROID

NUMBER

11

主码

产品编号

PRONAME

VARCHAR2

20

NOTNULL

产品名称

PRODRESS

50

产品地址

DREPHONE

产品地址号码

BDATE

5

保质天数

DEMO

100

表2:

产品信息管理PRO_MAN

主码,外码

BIRDATE

DATE

产品生产日期

ZNUM

产品数量

表3:

产品出库管理C_PRO

CDATE

出库日期

生产日期

CNUM

10

出库数量

表4:

产品入库日期R_PRO

RDATE

入库日期

RNUM

入库数量

表5:

产品仓库限制规则

表6:

管理员表ADMIN

ID

管理员编号

USERNAME

管理员账号

PASSORD

账号密码

E-R图

三、数据库对象设计

1、表设计

通过对仓库管理系统的业务分析及查询资料了解,设计该系统的6个关系表,详情见上边类图部分。

2、序列设计

为了方便仓库产品管理,在数据库中用以下序列产生相应编号

C_R_VIEW:

产生产品编号,起始值100。

3、视图设计

为了方便仓库管理员查询出入库情况、每个生产日期的库存信息及产品的总数量,创建下列视图。

(1)创建名为“C_R_PRO_VIEW”的视图,用于查看产品的出入库汇总情况,包

括出库的产品编号,入库的产品编号,产品名称,入库日期,出库日期,出库产品

的生产日期,入库产品的生产日期,出库数量,入库数量。

(2)创建名为“SNUM”的视图,用于查询一种产品的总库存量,包括产品编号,

产品总数量。

(3)创建名为“ZNUM_PRO_VIEW”的视图,用于查询产品的库存信息,包括不同

生产日期的库存量。

4、PL/SQL功能模块设计

利用PL/SQL程序创建下列各种数据库对象。

(1)创建一个当仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产

日期及保质期的函数。

(2)创建一个计算距保质期时间的存储过程。

(3)创建一个计算出库后数量的函数。

(4)创建一个计算入库后数量的函数。

四、数据库对象创建

描述数据库对象中表的创建、序列的创建、视图的创建、存储过程的创建,触发器的创建等内容,实现系统的基本功能。

1、表的创建

(1)产品信息PRO:

CREATETABLE"

USERS"

."

PRO"

"

PROID"

NUMBER(11)NOTNULL,

PRONAME"

VARCHAR2(20)NOTNULL,

PRODRESS"

VARCHAR2(50),

DREPHONE"

NUMBER(20),

BDATE"

NUMBER(5)NOTNULL,

DEMO"

VARCHAR2(100),

PRIMARYKEY("

)VALIDATE)

TABLESPACE"

(2)仓库产品管理PRO_MAN

PRO_MAN"

"

NUMBER(11)NOTNULL,

BIRDATE"

DATENOTNULL,

ZNUM"

NUMBER(20)NOTNULL,

"

)VALIDATE,

FOREIGNKEY("

)REFERENCES"

SYS"

("

(3)创建入库管理表R_PRO

R_PRO"

RDATE"

RNUM"

NUMBER(10)NOTNULL,

)VALIDATE,

FOREIGNKEY("

)VALIDATE)

(4)出库产品管理C_PRO

C_PRO"

CDATE"

CNUM"

NUMBER(10)NOTNULL,

(5)管理规则PRO_LIM

PRO_LIM"

MINUM"

NUMBER(10)NOTNULL,

MAXUM"

LBIRDATE"

"

TABLESPACE"

(6)管理员表ADMIN

ADMIN"

ID"

USERNAME"

VARCHAR2(10)NOTNULL,

PASSWORD"

VARCHAR2(11)NOTNULL,

PRIMARYKEY("

)VALIDATE)TABLESPACE"

2、序列的创建

CREATESEQUENCEC_R_VIEWNOCYCLENOORDERNOCACHENOMAXVALUEMINVALUE100INCREMENTBY1STARTWITH100

3、视图的创建

(1)产品的出入库情况C_R_PRO_VIEW

CREATEORREPLACEVIEWC_R_PRO_VIEW

AS

SELECTCPROID,RPROID,PRONAME,RDATE,CDATE,CBIRDATE,RBIRDATE,CNUM,RNUMFROMPRO,

(SELECT

C_PRO.PROIDASCPROID,R_PRO.PROIDASRPROID,RDATE,CDATE,C_PRO.BIRDATEASCBIRDATE,R_PRO.BIRDATEASRBIRDATE,CNUM,RNUMFROMC_PROFULLJOINR_PROONC_PRO.PROID=R_PRO.PROIDandCDATE=RDATEORDERBYRPROID)R_CWHEREPRO.PROID=CPROIDANDPRO.PROID=RPROID

(2)产品总数量:

SNUM

CREATEORREPLACEVIEWSNUM

SELECTPRO.PROID,SUM(ZNUM)SNUMFROMPRO,PRO_MAN

WHEREPRO.PROID=PRO_MAN.PROIDGROUPBYPRO.PROID

(3)产品的库存信息:

ZNUM_PRO_VIEW

CREATEORREPLACEVIEWZNUM_PRO_VIEW

SELECTPRO_MAN.PROID,PRONAME,BIRDATE,BDATE,ZNUMFROM

PRO,PRO_MANWHERPRO.PROID=PRO_MAN.PROID

4、PL/SQL程序设计

(1)仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产日期及保质期来:

CREATEORREPLACEFUNCTIONMIN_MAX_NUM_SHOW(

V_PROIDNUMBER,V_BIRDATEOUTDATE,V_BDATEOUTNUMBER)

RETURNNUMBER

AS

V_SNUMNUMBER;

V_MINUMNUMBER;

V_MAXUMNUMBER;

BEGIN

SELECTSUM(ZNUM)INTOV_SNUMFROMPRO_MANWHEREPROID=V_PROID;

SELECTMINUM,MAXUMINTOV_MINUM,V_MAXUMFROMPRO_LIMWHEREPROID=V_PROID;

SELECTBIRDATEINTOV_BIRDATEFROMPRO_MANWHEREPROID=V_PROID;

SELECTBDATEINTOV_BDATEFROMPROWHEREPROID=V_PROID;

IFV_SNUM-V_MINUM<

=0ORV_SNUM-V_MAXUM>

=0THEN

RETURNV_SNUM;

ENDIF;

END;

(2)计算距保质期时间:

CREATEORREPLACEPROCEDUREPRO_B(

V_PROIDNUMBER)

AS

V_DAYSNUMBER;

V_LBIRDATENUMBER;

CURSORC_BIRDATEISSELECTBIRDATEFROM

PRO_MANWHEREPROID=V_PROID;

BEGIN

  SELECTLBIRDATEINTOV_LBIRDATEFROMPRO_LIM

WHEREPROID=V_PROID;

FORV_BIRDATEINC_BIRDATELOOP

IFV_DAYS:

=(SYSDATE-V_BIRDATE)>

=V_LBIRDATETHEN

DBMS_OUTPUT.PUTLINE(V_DAYS);

ENDLOOP;

END;

(3)计算出库后数量:

CREATEORREPLACEFUNCTIONA_C_NUM(

V_PROIDNUMBER,V_BIRDATEOUTDATE)

RETURNNUMBER

V_CZNUMNUMBER;

BEGIN

SELECTBIRDATEINTOV_BIRDATEFROMC_PROWHEREPROID=V_PROID;

SELECTZNUM-CNUMINTOV_CZNUMFROM(

SELECTPRO_MAN.PROID,PRO_MAN.BIRDATECBIRDATE,CNUM,ZNUMFROM

C_PRO,PRO_MANWHERE

PRO_MAN.PROID=C_PRO.PROIDANDPRO_MAN.BIRDATE=C_PRO.BIRDATE)A_C

WHEREPROID=V_PROIDANDA_C.CBIRDATE=V_BIRDATE;

RETURNV_CZNUM;

(4)计算入库后数量:

CREATEORREPLACEFUNCTIONA_R_NUM(

V_RZNUMNUMBER;

SELECTBIRDATEINTOV_BIRDATEFROMR_PROWHEREPROID=V_PROID;

SELECTZNUM+RNUMINTOV_RZNUMFROM(

SELECTPRO_MAN.PROID,PRO_MAN.BIRDATERBIRDATE,RNUM,ZNUMFROM

R_PRO,PRO_MANWHERE

PRO_MAN.PROID=R_PRO.PROIDANDPRO_MAN.BIRDATE=R_PRO.BIRDATE)A_R

WHEREPROID=V_PROIDANDA_R.RBIRDATE=V_BIRDATE;

RETURNV_RZNUM;

五、总结

在这次的数据库实践中,我学到了很多,也收获了很多经验。

刚刚开始时由于认识不足以及搜素资料不完善,将此数据库系统设计不完善,使系统无法实现。

在老师的教导下,我又重新将仓库管理系统进行分析,并找同学讨论,不断完善,经过一番努力后,将此系统完成,虽然不是很复杂,功能也不是很多,但是这注入了我全部的思想。

由此次试验,我学会了做事情要循序渐进,不可能一次性就能将事情做到十全十美,在做的过程中不断思考,将事情渐渐完善。

此次的实践还让我的数据库知识更扎实,在试验中运用了存储过程,视图等功能,让我学到的知识能更加熟练掌握。

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

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1