Oracle课程设计报告--仓库管理系统.docx
《Oracle课程设计报告--仓库管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle课程设计报告--仓库管理系统.docx(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle课程设计 实验题目:仓库管理系统 专 业: 计算机应用与技术 班 级: 1440302 学 号:20110030226 姓 名: 胡强 指导教师: 王 芳47一、系统描述仓库管理系统的功能:1) 、产品入仓管理:在货物送到仓库时,对货物信息进行了解并将相关信息输入到数据库中,同时更新数据库。2)、产品出仓管理:在货物运出仓库时,进行货物信息统计并将数据保存到数据库中,同时更新数据库。3) 仓库货物信息提醒:当货物少于某一规定的值时,或者货物保质期将至时将发出提醒。4) 、借出管理:凭借条借出,然后能够还库。5)、查询修改:管理员可以进行一系列查询:查询货物类别及货物的信息、数量和货
2、物流动的规则(对货物出仓进仓的要求);并可以对以上查询进行修改;可以查询某一天货物流动的信息,以及出仓及入仓的详细信息。6)、初始化库存设置:设置库存的初始化值,库存的上下警戒限制。7)、盘库情况:反映没有、年的库存情况;二、系统需求分析利用用例图、类图、E-R图对系统进行需求分析。仓库管理系统可以实现对仓库货物信息、出仓货物管理、进仓货物管理、货物数量管理以及货物出入仓限制规则,以下为其用例图、类图及E-R图。仓库管理系统用例图类图表1:产品信息表PRO字段名数据类型长度约束说明PROIDNUMBER11主码产品编号PRONAMEVARCHAR220NOT NULL产品名称PRODRESSV
3、ARCHAR250产品地址DREPHONENUMBER20产品地址号码BDATENUMBER5NOT NULL保质天数DEMOVARCHAR2100说明表2:产品信息管理PRO_MAN字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表3:产品出库管理C_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号CDATEDATE主码出库日期BIRDATEDATENOT NULL生产日期ZNUMNUMBER10NOT NULL出库数量DE
4、MOVARCHAR2100说明表4:产品入库日期R_PRO字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号RDATEDATE主码入库日期BIRDATEDATENOT NULL生产日期RNUMNUMBER10NOT NULL入库数量DEMOVARCHAR2100说明表5:产品仓库限制规则字段名数据类型长度约束说明PROIDNUMBER11主码,外码产品编号BIRDATEDATE主码产品生产日期ZNUMNUMBER20NOT NULL产品数量DEMOVARCHAR2100说明表6:管理员表ADMIN字段名数据类型长度约束说明IDNUMBER11主码管理员编号USARNAMEV
5、ARCHAR210NOT 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:CREATETABLEUSERS.PRO(PROIDNUMBER(11)NOTNULL,PRONAMEVARCHAR2(20)NOTNULL,PRODRESSVARCHAR2(50),DREPHONENUMBER(20),BDATENUMBER(5)NOTNULL,DEMOVARCHAR2(100), PRIMARYKEY(PROID)VALIDATE)TABLESPACEUSERS(2)仓库产品管理PRO_MANCREATETABLEUSERS.PRO_MAN(PROIDNUMBER(11)NOTNULL,BIRDATEDA
8、TENOTNULL, ZNUMNUMBER(20)NOTNULL, DEMOVARCHAR2(100), PRIMARYKEY(PROID,BIRDATE) VALIDATE,FOREIGNKEY(PROID)REFERENCESSYS.PRO(PROID) VALIDATE)TABLESPACEUSERS(3)创建入库管理表R_PROCREATETABLEUSERS.R_PRO(PROIDNUMBER(11)NOTNULL,RDATEDATENOTNULL,BIRDATEDATENOTNULL,RNUMNUMBER(10)NOTNULL,DEMOVARCHAR2(100), PRIMARYK
9、EY(PROID,RDATE)VALIDATE,FOREIGNKEY(PROID)REFERENCESSYS.PRO(PROID) VALIDATE)TABLESPACEUSERS(4)出库产品管理C_PROCREATETABLEUSERS.C_PRO(PROIDNUMBER(11)NOTNULL,CDATEDATENOTNULL,BIRDATEDATENOTNULL,CNUMNUMBER(10)NOTNULL,DEMOVARCHAR2(100), PRIMARYKEY(PROID,CDATE) VALIDATE,FOREIGNKEY(PROID)REFERENCESSYS.PRO(PROID
10、) VALIDATE)TABLESPACEUSERS(5)管理规则PRO_LIMCREATETABLEUSERS.PRO_LIM(PROIDNUMBER(11)NOTNULL,MINUMNUMBER(10)NOTNULL,MAXUMNUMBER(10)NOTNULL,LBIRDATENUMBER(5)NOTNULL,DEMOVARCHAR2(100), PRIMARYKEY(PROID)VALIDATE,FOREIGNKEY(PROID)REFERENCESSYS.PRO(PROID) VALIDATE)TABLESPACEUSERS(6)管理员表ADMINCREATETABLEUSERS.A
11、DMIN(IDNUMBER(11) NOT NULL,USERNAMEVARCHAR2(10)NOTNULL,PASSWORDVARCHAR2(11)NOTNULL,PRIMARYKEY(ID)VALIDATE)TABLESPACEUSERS2、序列的创建CREATESEQUENCEC_R_VIEWNOCYCLENOORDERNOCACHNOMAXVALUEMINVALUE100INCREMENTBY1STARTWITH1003、视图的创建1)产品的出入库情况C_R_PRO_VIEWCREATEORREPLACEVIEWC_R_PRO_VIEWASSELECTCPROID,RPROID,PRO
12、NAME,RDATE,CDATE,CBIRDATE,RBIRDATE,CNUM,RNUMFROMPRO,(SELECTC_PRO.PROIDAS CPROID,R_PRO.PROID AS RPROID,RDATE,CDATE,C_PRO.BIRDATE AS CBIRDATE,R_PRO.BIRDATE AS RBIRDATE,CNUM,RNUM FROM C_PRO FULL JOINR_PROONC_PRO.PROID=R_PRO.PROIDandCDATE=RDATEORDERBYRPROID)R_CWHEREPRO.PROID=CPROIDANDPRO.PROID=RPROID2)产
13、品总数量:SNUMCREATEORREPLACEVIEWSNUMASSELECTPRO.PROID,SUM(ZNUM)SNUMFROMPRO,PRO_MANWHEREPRO.PROID=PRO_MAN.PROIDGROUPBYPRO.PROID3)产品的库存信息:ZNUM_PRO_VIEWCREATEORREPLACEVIEWZNUM_PRO_VIEWASSELECTPRO_MAN.PROID,PRONAME,BIRDATE,BDATE,ZNUMFROMPRO,PRO_MANWHERPRO.PROID=PRO_MAN.PROID4、PL/SQL程序设计(1)仓库产品少于最少数量或者大于最大数量
14、时显示出产品数量、生产日期保质期来:CREATEORREPLACEFUNCTIONMIN_MAX_NUM_SHOW(V_PROIDNUMBER,V_BIRDATEOUTDATE,V_BDATEOUTNUMBER)RETURNNUMBERASV_SNUMNUMBER;V_MINUMNUMBER;V_MAXUMNUMBER;BEGIN SELECTSUM(ZNUM)INTOV_SNUMFROMPRO_MANWHEREPROID=V_PROID;SELECTMINUM,MAXUMINTOV_MINUM,V_MAXUMFROMPRO_LIMWHEREPROID=V_PROID; SELECTBIRDA
15、TEINTOV_BIRDATEFROMPRO_MANWHEREPROID=V_PROID;SELECTBDATEINTOV_BDATEFROMPROWHEREPROID=V_PROID;IFV_SNUM-V_MINUM=0THENRETURNV_SNUM;ENDIF;END;(2)计算距保质期时间:CREATEORREPLACEPROCEDUREPRO_B(V_PROIDNUMBER)ASV_DAYSNUMBER;V_LBIRDATENUMBER;CURSORC_BIRDATEISSELECTBIRDATE FROMPRO_MANWHEREPROID=V_PROID;BEGINSELECTLB
16、IRDATEINTOV_LBIRDATEFROMPRO_LIMWHEREPROID=V_PROID;FORV_BIRDATEINC_BIRDATELOOPIFV_DAYS:=(SYSDATE-V_BIRDATE)=V_LBIRDATETHENDBMS_OUTPUT.PUTLINE(V_DAYS);ENDIF;ENDLOOP;END;(4)计算入库后数量:CREATEORREPLACEFUNCTIONA_R_NUM(V_PROIDNUMBER,V_BIRDATEOUTDATE)RETURNNUMBRASV_RZNUMNUMBER;BEGINSELECTBIRDATEINTOV_BIRDATEFR
17、OMR_PROWHEREPROID=V_PROID;SELECTZNUM+RNUMINTOV_RZNUMFROM(SELECTPRO_MAN.PROID,PRO_MAN.BIRDATERBIRDATE,RNUM,ZNUMFROMR_PRO,PRO_MAN WHEREPRO_MAN.PROID=R_PRO.PROIDANDPRO_MAN.BIRDATE=R_PRO.BIRDATE)A_RWHEREPROID=V_PROIDANDA_R.RBIRDATE=V_BIRDATE; RETURNV_RZNUM;END;附Java源代码:package 仓库管理;import java.awt.Borde
18、rLayout;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JButton;public class jiemian2 extends JFrame private JPanel contentPane;public JPanel getContentPane() return contentPane;/* * Launch the application. */pub
19、lic static void main(String args) EventQueue.invokeLater(new Runnable() public void run() try jiemian2 frame = new jiemian2();frame.setVisible(true); catch (Exception e) e.printStackTrace(););/* * Create the frame. */public jiemian2() setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 课程设计 报告 仓库 管理 系统
限制150内