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

上传人:dus****log 文档编号:125876359 上传时间:2022-07-27 格式:DOC 页数:11 大小:261.50KB
收藏 版权申诉 举报 下载
Oracle仓库管理系统课程设计报告数据库部分-含Oracle代码_第1页
第1页 / 共11页
Oracle仓库管理系统课程设计报告数据库部分-含Oracle代码_第2页
第2页 / 共11页
Oracle仓库管理系统课程设计报告数据库部分-含Oracle代码_第3页
第3页 / 共11页
资源描述:

《Oracle仓库管理系统课程设计报告数据库部分-含Oracle代码》由会员分享,可在线阅读,更多相关《Oracle仓库管理系统课程设计报告数据库部分-含Oracle代码(11页珍藏版)》请在装配图网上搜索。

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

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

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

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

5、T 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 ) TABLESPACE USERS (2)仓库产品管理PRO_MAN CREATE T

8、ABLE 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 USERS.R_PRO ( PROID NUMBER(11) NOT NU

9、LL , 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 NUMBER(11) NOT NULL , CDATE DATE NOT NULL

10、 , 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 , MINUMNUMBER(10) NOT NULL , MAXUM NUMBER(1

11、0) 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 NULL , PASSWORD VARCHAR2(11) NOT NULL ,

12、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,CDATE,CBIRDATE,RBIRDATE,CNUM,RNUM FROM P

13、RO, (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=RPROID (2)产品总数量:SNUMCREATE OR REPLACE VIEW

14、 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/SQL程序设计 (1)仓库产品少于最少数量或者大于最大数量时显示出产品

15、数量、生产日期及保质期来: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 INTO V_MINUM,V_MAXUM FROM PRO_LIM WHE

16、RE 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 NUMBER; V_LBIRDATE NUMBER; CURSOR C

17、_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; (3)计算出库后数量:CREATE OR REPLACE FUNCTIO

18、N 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 PRO_MAN.PROID=C_PRO.PROID AND PRO_MA

19、N.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 PROID=V_PROID; SELECT ZNUM+RNUM INT

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

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!