ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:204.44KB ,
资源ID:8519316      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8519316.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle仓库管理系统课程设计报告数据库部分含Oracle代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、Oracle仓库管理系统课程设计报告数据库部分含Oracle代码宁 波 工 程 学 院电 信 学 院实验报告实验名称 Oracle仓库管理系统设计 专业、班级 计科111班 姓名 XXX 学号 XXXXXXXX 日期 2014.5.27 指导教师 XXX老师 一、系统描述 仓库管理系统的功能: 1)、进仓管理:在货物送到仓库时,对货物信息进行了解并将相关信息输入到数据库 中,同时更新数据库。 2)、出仓管理:在货物运出仓库时,进行货物信息统计并将数据保存到数据库中,同 时更新数据库。 3)仓库货物信息提醒:当货物少于某一规定的值时,或者货物保质期将至时将发出 提醒。 4)、仓库数据管理:当仓库

2、中的货物少于要出仓的货物时不允许出仓;当仓库货物为 满时,不允许其他货物进仓。 5)、查询修改:管理员可以进行一系列查询:查询货物类别及货物的信息、数量和货 物流动的规则(对货物出仓进仓的要求);并可以对以上查询进行修 改;可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。二、系统需求分析利用用例图、类图、E-R图对系统进行需求分析。仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。 仓库管理系统用例图 类图表1:产品信息表PRO字段名数据类型长度约束说明PROIDNUMBER11主码产品编号PRONAME

3、VARCHAR220NOT NULL产品名称PRODRESSVARCHAR250产品地址DREPHONENUMBER20产品地址号码BDATENUMBER5NOT NULL保质天数DEMOVARCHAR2100说明表2:产品信息管理PRO_MAN字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表3:产品出库管理C_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号CDATEDATE主码出库日期BIRDATEDATENOT NUL

4、L生产日期CNUMNUMBER10NOT NULL出库数量DEMOVARCHAR2100说明表4:产品入库日期R_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号RDATEDATE主码入库日期BIRDATEDATENOT NULL生产日期RNUMNUMBER10NOT NULL入库数量DEMOVARCHAR2100说明表5:产品仓库限制规则字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表6:管理员表ADMIN字段名数据类型长度约

5、束说明IDNUMBER11主码管理员编号USERNAMEVARCHAR210NOT NULL管理员账号PASSORDVARCHAR211NOT NULL账号密码E-R图三、 数据库对象设计1、表设计 通过对仓库管理系统的业务分析及查询资料了解,设计该系统的6个关系表,详情见上边类图部分。 2、序列设计 为了方便仓库产品管理,在数据库中用以下序列产生相应编号 C_R_VIEW:产生产品编号,起始值100。 3、视图设计 为了方便仓库管理员查询出入库情况、每个生产日期的库存信息及产品的总数量,创建下列视图。 (1)创建名为“C_R_PRO_VIEW”的视图,用于查看产品的出入库汇总情况,包 括出库

6、的产品编号,入库的产品编号,产品名称,入库日期,出库日期,出库产品 的生产日期,入库产品的生产日期,出库数量,入库数量。 (2)创建名为“SNUM”的视图,用于查询一种产品的总库存量,包括产品编号, 产品总数量。 (3)创建名为“ZNUM_PRO_VIEW”的视图,用于查询产品的库存信息,包括不同 生产日期的库存量。 4、PL/SQL功能模块设计 利用PL/SQL程序创建下列各种数据库对象。 (1)创建一个当仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产 日期及保质期的函数。 (2)创建一个计算距保质期时间的存储过程。 (3)创建一个计算出库后数量的函数。 (4)创建一个计算入库后

7、数量的函数。四、 数据库对象创建描述数据库对象中表的创建、序列的创建、视图的创建、存储过程的创建,触发器的创建等内容,实现系统的基本功能。1、表的创建 (1) 产品信息PRO: CREATE TABLE USERS.PRO ( PROID NUMBER(11) NOT NULL , PRONAME VARCHAR2(20) NOT NULL , PRODRESS VARCHAR2(50), DREPHONE NUMBER(20), BDATE NUMBER(5) NOT NULL , DEMO VARCHAR2(100), PRIMARY KEY (PROID) VALIDATE ) TABL

8、ESPACE USERS (2)仓库产品管理PRO_MAN CREATE TABLE USERS.PRO_MAN ( PROID NUMBER(11) NOT NULL , BIRDATE DATE NOT NULL , ZNUM NUMBER(20) NOT NULL , DEMO VARCHAR2(100), PRIMARY KEY (PROID, BIRDATE) VALIDATE , FOREIGN KEY (PROID) REFERENCES SYS.PRO (PROID) VALIDATE ) TABLESPACE USERS(3)创建入库管理表R_PRO CREATE TABLE

9、 USERS.R_PRO ( PROID NUMBER(11) NOT NULL , RDATE DATE NOT NULL , BIRDATE DATE NOT NULL , RNUM NUMBER(10) NOT NULL , DEMO VARCHAR2(100), PRIMARY KEY (PROID, RDATE) VALIDATE , FOREIGN KEY (PROID) REFERENCES SYS.PRO (PROID) VALIDATE ) TABLESPACE USERS (4)出库产品管理C_PRO CREATE TABLE USERS.C_PRO ( PROID NUM

10、BER(11) NOT NULL , CDATE DATE NOT NULL , BIRDATE DATE NOT NULL , CNUM NUMBER(10) NOT NULL , DEMO VARCHAR2(100), PRIMARY KEY (PROID, CDATE) VALIDATE , FOREIGN KEY (PROID) REFERENCES SYS.PRO (PROID) VALIDATE ) TABLESPACE USERS (5)管理规则PRO_LIM CREATE TABLE USERS.PRO_LIM ( PROID NUMBER(11) NOT NULL , MIN

11、UMNUMBER(10) NOT NULL , MAXUM NUMBER(10) NOT NULL , LBIRDATE NUMBER(5) NOT NULL , DEMO VARCHAR2(100), PRIMARY KEY (PROID) VALIDATE , FOREIGN KEY (PROID) REFERENCES SYS.PRO (PROID) VALIDATE ) TABLESPACEUSERS (6)管理员表ADMIN CREATE TABLE USERS.ADMIN ( ID NUMBER(11) NOT NULL , USERNAME VARCHAR2(10) NOT NU

12、LL , PASSWORD VARCHAR2(11) NOT NULL , PRIMARY KEY (ID) VALIDATE ) TABLESPACE USERS2、序列的创建 CREATE SEQUENCE C_R_VIEW NOCYCLE NOORDER NOCACHE NOMAXVALUE MINVALUE 100 INCREMENT BY 1 START WITH 100 3、视图的创建 (1)产品的出入库情况C_R_PRO_VIEWCREATE OR REPLACE VIEW C_R_PRO_VIEWAS SELECT CPROID,RPROID,PRONAME,RDATE,CDA

13、TE,CBIRDATE,RBIRDATE,CNUM,RNUM FROM PRO, (SELECT C_PRO.PROID AS CPROID,R_PRO.PROID AS RPROID,RDATE,CDATE,C_PRO.BIRDATE AS CBIRDATE,R_PRO.BIRDATE AS RBIRDATE,CNUM,RNUM FROM C_PRO FULL JOIN R_PRO ON C_PRO.PROID=R_PRO.PROID and CDATE=RDATE ORDER BY RPROID) R_C WHERE PRO.PROID=CPROID AND PRO.PROID=RPROI

14、D (2)产品总数量:SNUMCREATE OR REPLACE VIEW SNUMASSELECT PRO.PROID,SUM(ZNUM) SNUM FROM PRO,PRO_MAN WHERE PRO.PROID=PRO_MAN.PROID GROUP BY PRO.PROID (3)产品的库存信息:ZNUM_PRO_VIEWCREATE OR REPLACE VIEW ZNUM_PRO_VIEWASSELECT PRO_MAN.PROID,PRONAME,BIRDATE,BDATE,ZNUM FROMPRO,PRO_MAN WHER PRO.PROID=PRO_MAN.PROID4、PL

15、/SQL程序设计 (1)仓库产品少于最少数量或者大于最大数量时显示出产品数量、生产日期及保质期来:CREATE OR REPLACE FUNCTION MIN_MAX_NUM_SHOW ( V_PROID NUMBER,V_BIRDATE OUT DATE,V_BDATE OUT NUMBER) RETURN NUMBER AS V_SNUM NUMBER;V_MINUM NUMBER;V_MAXUM NUMBER; BEGIN SELECT SUM(ZNUM) INTO V_SNUM FROM PRO_MAN WHERE PROID=V_PROID; SELECT MINUM,MAXUM I

16、NTO V_MINUM,V_MAXUM FROM PRO_LIM WHERE PROID=V_PROID; SELECT BIRDATE INTO V_BIRDATE FROM PRO_MAN WHERE PROID=V_PROID; SELECT BDATE INTO V_BDATE FROM PRO WHERE PROID=V_PROID; IF V_SNUM-V_MINUM=0 THEN RETURN V_SNUM; END IF; END; (2)计算距保质期时间: CREATE OR REPLACE PROCEDURE PRO_B( V_PROID NUMBER) AS V_DAYS

17、 NUMBER; V_LBIRDATE NUMBER; CURSOR C_BIRDATE IS SELECT BIRDATE FROM PRO_MAN WHERE PROID=V_PROID; BEGIN SELECT LBIRDATE INTO V_LBIRDATE FROM PRO_LIM WHERE PROID=V_PROID; FOR V_BIRDATE IN C_BIRDATE LOOP IF V_DAYS:=(SYSDATE-V_BIRDATE)=V_LBIRDATE THEN DBMS_OUTPUT.PUTLINE(V_DAYS); END IF; END LOOP; END;

18、(3)计算出库后数量:CREATE OR REPLACE FUNCTION A_C_NUM( V_PROID NUMBER,V_BIRDATE OUT DATE)RETURN NUMBERAS V_CZNUM NUMBER; BEGIN SELECT BIRDATE INTO V_BIRDATE FROM C_PRO WHERE PROID=V_PROID; SELECT ZNUM-CNUM INTO V_CZNUM FROM ( SELECT PRO_MAN.PROID, PRO_MAN.BIRDATE CBIRDATE,CNUM,ZNUM FROM C_PRO,PRO_MAN WHERE

19、PRO_MAN.PROID=C_PRO.PROID AND PRO_MAN.BIRDATE=C_PRO.BIRDATE) A_C WHERE PROID=V_PROID AND A_C.CBIRDATE=V_BIRDATE; RETURN V_CZNUM; END; (4)计算入库后数量: CREATE OR REPLACE FUNCTION A_R_NUM( V_PROID NUMBER,V_BIRDATE OUT DATE)RETURN NUMBERAS V_RZNUM NUMBER; BEGIN SELECT BIRDATE INTO V_BIRDATE FROM R_PRO WHERE

20、 PROID=V_PROID; SELECT ZNUM+RNUM INTO V_RZNUM FROM ( SELECT PRO_MAN.PROID, PRO_MAN.BIRDATE RBIRDATE,RNUM,ZNUM FROM R_PRO,PRO_MAN WHERE PRO_MAN.PROID=R_PRO.PROID AND PRO_MAN.BIRDATE=R_PRO.BIRDATE) A_R WHERE PROID=V_PROID AND A_R.RBIRDATE=V_BIRDATE; RETURN V_RZNUM; END; 五、 总结在这次的数据库实践中,我学到了很多,也收获了很多经验。刚刚开始时由于认识不足以及搜素资料不完善,将此数据库系统设计不完善,使系统无法实现。在老师的教导下,我又重新将仓库管理系统进行分析,并找同学讨论,不断完善,经过一番努力后,将此系统完成,虽然不是很复杂,功能也不是很多,但是这注入了我全部的思想。由此次试验,我学会了做事情要循序渐进,不可能一次性就能将事情做到十全十美,在做的过程中不断思考,将事情渐渐完善。此次的实践还让我的数据库知识更扎实,在试验中运用了存储过程,视图等功能,让我学到的知识能更加熟练掌握。

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

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