欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新Oracle仓库管理系统课程设计报告(数据库部分-含Oracle代码).doc

    • 资源ID:35337951       资源大小:1.17MB        全文页数:38页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新Oracle仓库管理系统课程设计报告(数据库部分-含Oracle代码).doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateOracle仓库管理系统课程设计报告(数据库部分-含Oracle代码)宁 波 工 程 学 院宁 波 工 程 学 院电 信 学 院实验报告实验名称 Oracle仓库管理系统设计 专业、班级 计科111班 姓名 XXX 学号 XXXXXXXX 日期 2014.5.27 指导教师 XXX老师 一、 系统描述 仓库管理系统的功能: 1)、进仓管理:在货物送到仓库时,对货物信息进行了解并将相关信息输入到数据库 中,同时更新数据库。 2)、出仓管理:在货物运出仓库时,进行货物信息统计并将数据保存到数据库中,同 时更新数据库。 3)仓库货物信息提醒:当货物少于某一规定的值时,或者货物保质期将至时将发出 提醒。 4)、仓库数据管理:当仓库中的货物少于要出仓的货物时不允许出仓;当仓库货物为 满时,不允许其他货物进仓。 5)、查询修改:管理员可以进行一系列查询:查询货物类别及货物的信息、数量和货 物流动的规则(对货物出仓进仓的要求);并可以对以上查询进行修 改;可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。二、 系统需求分析利用用例图、类图、E-R图对系统进行需求分析。仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。 仓库管理系统用例图 类图表1:产品信息表PRO字段名数据类型长度约束说明PROIDNUMBER11主码产品编号PRONAMEVARCHAR220NOT NULL产品名称PRODRESSVARCHAR250产品地址DREPHONENUMBER20产品地址号码BDATENUMBER5NOT NULL保质天数DEMOVARCHAR2100说明表2:产品信息管理PRO_MAN字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表3:产品出库管理C_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号CDATEDATE主码出库日期BIRDATEDATENOT NULL生产日期CNUMNUMBER10NOT NULL出库数量DEMOVARCHAR2100说明表4:产品入库日期R_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号RDATEDATE主码入库日期BIRDATEDATENOT NULL生产日期RNUMNUMBER10NOT NULL入库数量DEMOVARCHAR2100说明表5:产品仓库限制规则字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表6:管理员表ADMIN字段名数据类型长度约束说明IDNUMBER11主码管理员编号USERNAMEVARCHAR210NOT NULL管理员账号PASSORDVARCHAR211NOT NULL账号密码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: 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 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 "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" NUMBER(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 , "MINUM"NUMBER(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 ) TABLESPACE"USERS" (6)管理员表ADMIN CREATE TABLE "USERS"."ADMIN" ( "ID" NUMBER(11) NOT NULL , "USERNAME" VARCHAR2(10) NOT NULL , "PASSWORD" VARCHAR2(11) NOT NULL , PRIMARY KEY ("ID") VALIDATE ) TABLESPACE "USERS"2、 序列的创建 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 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=RPROID (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/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 INTO 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 OR V_SNUM-V_MAXUM>=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_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 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 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 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; 五、 总结在这次的数据库实践中,我学到了很多,也收获了很多经验。刚刚开始时由于认识不足以及搜素资料不完善,将此数据库系统设计不完善,使系统无法实现。在老师的教导下,我又重新将仓库管理系统进行分析,并找同学讨论,不断完善,经过一番努力后,将此系统完成,虽然不是很复杂,功能也不是很多,但是这注入了我全部的思想。由此次试验,我学会了做事情要循序渐进,不可能一次性就能将事情做到十全十美,在做的过程中不断思考,将事情渐渐完善。此次的实践还让我的数据库知识更扎实,在试验中运用了存储过程,视图等功能,让我学到的知识能更加熟练掌握。-

    注意事项

    本文(最新Oracle仓库管理系统课程设计报告(数据库部分-含Oracle代码).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开