




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创建时间:2013-2-26 21:05:0025数据库系统概论课程设计报告题目: 仓库设备管理院系: 软件学院 班级: xxxxxxxxxx学号: xxxxxxxxxx姓名: xxxxxxxxxx2012年6月20日目录一、 系统概述31.1目的与要求3二、需求分析32.1使用用户32.2功能需求分析32.3数据字典42.4数据流图63、 概念模型设计93. 1实体属性93.2总E-R图11四、逻辑与物理结构设计114.1关系模式124.2数据库模型124.3物理设计12五、数据库的实现145.1建立数据库和表155.2将已有数据加入表155.3建立视图155.4建立存储过程185.5建立触发器17六、附录20一、系统概述1.1目的与要求结合我国仓库存储、管理信息化的现状,*软件公司与时俱进地推出“仓库设备管理系统”,以充分利用现代信息技术手段,为各仓库建立设备管理信息化体系。此系统功能主要包括设备入库,设备出库,设备还库,设备需求及设备采购等。根据需要按月,季,年进行统计分析,产生相应报表。二、需求分析2.1使用用户:仓库管理员、设备采购员、领设备人员2.2功能需求分析:(1) 系统功能结构图(2)功能描述设备入库1、采购员将“客户送货单”给到仓库后,由仓库管理员提供采购订单,并且采购员与管理员共同确认送货单的数量和实物,如不符则退货。2、仓库人员对已送往仓库的设备进行设备品质检验。3、对检验的合格设备进行开“设备入库单”并经仓库主管签名确认后进仓,对不合格设备进行退货。设备出库由领设备部门人员给出“设备领取单”,仓库管理员根据此单给出设备,并进行“设备出库文件”登记。并更新仓库设备信息文件。 设备还库领设备部门人员给出设备后,仓库管理员对“设备出库文件”进行查询,得到相应信息后,与领设备部门人员共同确认还库设备的实物检查,如无损坏则更新设备出库文件及仓库设备信息文件。设备需求由仓库管理员制定设备需求并按此需求制定采购订单。设备采购采购员查询到采购订单后进行采购,并将采购后的客户送货单给仓库管理员。2.3数据字典:1、数据项、数据结构(1)数据结构:管理员组成:管理员号、管理员姓名数据项含义说明类型长度管理员号唯一标示的职员varchar10管理员姓名管理员的姓名varchar5(2) 数据结构:采购员组成:采购员号、采购员姓名、采购员性别数据项含义说明类型长度采购员号唯一标示的采购员varchar10采购员姓名采购员的姓名varchar5采购员性别采购员的性别varchar5(3) 数据结构:领设备人员组成:领设备人员号、领设备人员姓名、设备号、领取数量、领取日期、归还日期数据项含义说明类型长度领设备人员号唯一标示的领设备人员varchar10领设备人员姓名领设备人员的姓名varchar5设备号唯一标示的设备varchar10领取数量领取某类型设备的数量varchar40领取日期领取设备的日期varchar归还日期归还设备的日期varchar(4) 数据结构:设备组成:设备号、设备名称、设备状态、采购员号、供货单位、领设备人员号、库存量数据项含义说明类型长度设备号唯一标示的设备varchar10设备名称设备的名称varchar20设备状态库内、借出、报废varchar4采购员号唯一标示的采购员varchar10供货单位供应设备的单位名称varchar40领设备人员号唯一标示的领设备人员varchar10库存量某类型设备的库存数量varchar40(5) 数据结构:采购订单组成:订单号、采购员号、管理员号、订购日期、设备号、设备名称、价格、数量数据项含义说明类型长度订单号唯一标示的订单varchar10采购员号唯一标示的采购员varchar10管理员号唯一标示的职员varchar10订购日期设备订购的日期varchar设备号唯一标示的设备varchar10设备名称订购设备的名称varchar20价格订购设备的价格varchar40数量订购某类型设备的数量varchar40(6) 数据结构:供货单组成:订单号、供货日期、供货地址、供货人身份证号、供货人姓名、供货单位数据项含义说明类型长度订单号唯一标示的订单varchar10供货日期提供设备日期varchar供货地址提供设备的具体地址varchar40供货人身份证号供货人的身份证号varchar10供货人姓名供货人的姓名varchar5供货单位提供设备的单位varchar402、 数据处理(1)管理员信息管理部分,要求: A. 可以对各文档进行添加、删除、修改操作。B. 可以查询管理员信息。(2)采购员信息管理部分,要求:A.可以对订单进行查询、提交操作。(3)领设备人员信息管理部分,要求:A.可以对仓库内设备资源进行查询。B.可以对该归还设备的详细信息进行查询。(4) 设备信息管理部分,要求:A. 可以浏览设备信息。B. 可以对设备信息进行添加、删除、修改操作。(5)采购订单信息管理部分,要求:A.可以浏览订单信息。B.可以对订单信息进行添加、删除、修改操作。(6)供货单信息管理部分,要求:A.可以浏览供货信息。B.可以对供货信息进行添加、删除、修改操作。3、 数据存储名称简述输入数据输出数据管理员信息存储管理员的管理员号、密码系统内的各个文档采购员信息存储采购员的采购员号、密码待采购信息领设备人员信息存储领设备人员的信息领设备人员号、密码可领取、待归还设备设备信息存储设备的信息设备号设备的详细信息采购订单信息设备的采购信息订单号设备的采购信息供货单信息设备的供货信息订单号设备的供货信息2.4数据流图: 图2.4.1顶层数据流图图2.4.2第一层数据流图图2.4.3 第二层数据流图 分解设备入库子系统图2.4.4 第二层数据流图 分解设备出库子系统图2.4.5 第二层数据流图 分解设备还库子系统图2.4.6 第二层数据流图 分解设备需求子系统图2.4.7 第二层数据流图 分解设备采购子系统3、 概念模型设计4. 1实体属性图3.1.1管理员实体的属性图3.1.1采购员实体的属性图3.1.1领设备人员实体的属性图3.1.1设备实体的属性图3.1.1采购订单实体的属性图3.1.1供货单实体的属性3.2总E-R图n图3.2仓库总E-R图四、逻辑与物理结构设计4.1关系模式(1) 管理员(管理员号、管理员姓名)(2)采购员(采购员号、采购员姓名、采购员性别)(3)领设备人员(领设备人员号、领设备人员姓名、设备号、领取数量、领取日期、归还日期)(4)设备(设备号、设备名称、设备状态、采购员号、供货单位、领设备人员号、库存量)(5)采购订单(订单号、采购员号、管理员号、订购日期、设备号、设备名称、价格、数量)(6)供货单(供货人身份证号、订单号、供货日期、供货地址、供货人姓名、供货单位)4.2数据库模型图4.2 数据库模型4.3物理设计表 41 system_administrator管理员信息表格说明列名类型可否为空管理员号Adm_idvarcharnot null(主码)管理员姓名Adm_namevarcharnot null表 42 system_purchasing_agent采购员信息表格说明列名类型可否为空采购员号Age_idvarcharnot null(主码)采购员姓名Age_namevarcharnot null采购员性别Age_sexvarcharnot null表 43 system_customers领设备人员信息表格说明列名类型可否为空领设备人员号Cus_idvarcharnot null(主码)领设备人员姓名Cus_namevarcharnot null设备号Equ_idvarcharnot null(外码)领取数量Cus_numvarcharnot null领取日期Receive_datevarchar归还日期Return_datevarchar表 44 system_equipment设备信息表格说明列名类型可否为空设备号Equ_idvarcharnot null(主码)设备名称Equ_namevarcharnot null设备状态Equ_statevarcharnot null采购员号Age_idvarcharnot null(外码)供货单位Sup_appartmentvarcharnot null领设备人员号Cus_idvarcharnot null(外码)库存量Stock_numvarcharnot null表 45 system_order采购订单信息表格说明列名类型可否为空订单号Order_idvarcharnot null(主码)采购员号Age_idvarcharnot null(外码)管理员号Adm_idvarcharnot null(外码)订购日期Order_datevarcharnot null设备号Equ_idvarcharnot null(外码)设备名称Equ_namevarcharnot null价格Oreder_pricevarcharnot null数量Order_numvarcharnot null表 46 system_supply供货单信息表格说明列名类型可否为空订单号Order_idvarcharnot null(外码)供货日期Sup_datevarcharnot null供货地址Sup_addvarcharnot null供货人身份证号Sup_idvarcharnot null(主码)供货人姓名Sup_namevarcharnot null供货单位Sup_appartmentvarcharnot null5、 数据库的实现5.1建立数据库和表(1) 管理员表的建立create table system_administrator( Adm_id varchar primary key not null, Adm_name varchar not null, )(2) 采购员表的建立create table system_purchasing_agent( Age_id varchar primary key not null, Age_name varchar not null, Age_sex varchar not null, )(3) 领设备人员表的建立create table system_customers(Cus_id varchar primary key not null,Cus_name varchar not null,Equ_id varchar not null,Cus_num varchar not null,Receive_date varchar,Return_date varchar,foreign key (Equ_id) references system_equipment(Equ_id),)(4) 设备表的建立create table system_equipment( Equ_id varchar primary key not null,Equ_name varchar not null,Equ_state varchar not null,Age_id varchar not null,Sup_appartment varchar not null,Cus_id varchar not null,Stock_num varchar not null,foreign key (Age_id) references system_purchasing_agent (Age_id),)(5) 采购订单表的建立create table system_order(Order_id varchar primary key not null,Age_id varchar not null,Adm_id varchar not null,Order_date varchar not null,Equ_id varchar not null,Equ_name varchar not null,Oreder_price varchar not null,Order_num varchar not null,foreign key (Age_id) references system_purchasing_agent (Age_id),foreign key (Adm_id) references system_administrator (Adm_id),foreign key (Equ_id) references system_equipment (Equ_id),)(6) 供货单表的建立create table system_supply(Order_id varchar not null,Sup_date varchar not null,Sup_add varchar not null,Sup_id varchar primary key not null,Sup_name varchar not null,Sup_appartment varchar not null,foreign key (Order_id) references system_order (Order_id), ) 5.2将已有数据加入表后表的数据:(部分表)图5.2.1 system_administrator表的数据图5.2.2 system_purchasing_agent表的数据5.3建立视图(1) 通过控制面板的管理工具配置数据源(2) 使用eclipse画出界面并与数据库连接(代码在附录中)图5.3.1开始界面图5.3.2显示记录界面图5.3.3更新记录界面图5.3.4插入记录界面图5.3.5更新插入后的显示界面5.4建立存储过程此存储过程是为了显示system_administrator这张表创建语句:create procedure changeas select * from system_administrator Go执行语句:execute change图5.4.1执行存储过程后的结果5.5建立触发器此触发器是再删除多条语句时输出“此删除操作可能会删除多条人事表数据!”创建语句:create trigger tr on system_purchasing_agentfor delete asdeclare Age_id varchar(10)select Age_id=count(*) from deletedif Age_id1 begin print 此删除操作可能会删除多条人事表数据! rollback transaction End执行语句:delete from system_purchasing_agentwhere Age_sex=男 图5.5.1 system_purchasing_agent表初始视图图5.5.2 执行tr触发器后的报错状态图5.5.3 更新system_purchasing_agent表后的视图图5.5.3 正确删除男性属性后的视图六、附录:/以下为eclipse中的代码,它们是在jlcy文件夹下创建的五个类文件Example12_9import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class Example12_9 public static void main(String args ) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) System.out.println(+e); DatabaseWin win=new DatabaseWin(); DatabaseWin.javaimport javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; class DatabaseWin extends JFrame implements ActionListener/主窗口 JMenuBar menubar; JMenu menu; JMenuItem itemShow,itemUpdate,itemInsert; ShowRecord showRecord; ModifyRecord modifyRecord; InsertRecord insertRecord; DatabaseWin() menubar=new JMenuBar(); menu=new JMenu(操作数据库); itemShow=new JMenuItem(显示记录); itemUpdate=new JMenuItem(更新记录); itemInsert=new JMenuItem(插入记录); itemShow.addActionListener(this); itemUpdate.addActionListener(this); itemInsert.addActionListener(this); menu.add(itemShow); menu.add(itemUpdate); menu.add(itemInsert); menubar.add(menu); showRecord=new ShowRecord(显示记录对话框); modifyRecord=new ModifyRecord(修改记录对话框); insertRecord=new InsertRecord(插入记录对话框); setJMenuBar(menubar); setBounds(100,100,370,250); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e) if(e.getSource()=itemShow) showRecord.setVisible(true); else if(e.getSource()=itemUpdate) modifyRecord.setVisible(true); else if(e.getSource()=itemInsert) insertRecord.setVisible(true); ShowRecord.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*; public class ShowRecord extends JDialog implements ActionListener/负责显示记录的类 JTable table; Object a; Object name=Adm_id,Adm_name; JButton showRecord; Connection con; Statement sql; ResultSet rs; ShowRecord(String title) setTitle(title); showRecord=new JButton(显示记录); showRecord.addActionListener(this); add(showRecord,BorderLayout.NORTH); setBounds(200,60,400,250); public void actionPerformed(ActionEvent e) try con=DriverManager.getConnection(jdbc:odbc:sql,); sql=con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=sql.executeQuery(SELECT * FROM system_administrator); rs.last(); int lastNumber=rs.getRow(); a=new ObjectlastNumber4; int k=0; rs.beforeFirst(); while(rs.next() ak0=rs.getString(1); ak1=rs.getString(2); k+; con.close(); catch(SQLException ee) System.out.println(ee); table=new JTable(a,name); getContentPane().removeAll(); add(showRecord,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); validate(); ModifyRecord.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*; import javax.swing.border.*;public class ModifyRecord extends JDialog implements ActionListener /负责更新记录的类 JLabel hintLabel; JTextField inputNumber; Object name=Adm_name; Object a=new Object11; JTable table; JButton enterModify; Connection con; Statement sql; ResultSet rs; String num; ModifyRecord(String s) setTitle(s); hintLabel=new JLabel(输入学号(回车确认):); inputNumber=new JTextField(20); table=new JTable(a,name); enterModify=new JButton(更新记录); setLayout(null); Box baseBox=Box.createHorizontalBox(); baseBox.add(hintLabel); baseBox.add(inputNumber); baseBox.add(new JScrollPane(table); baseBox.add(enterModify); add(baseBox); baseBox.setBounds(10,40,600,38); inputNumber.addActionListener(this); enterModify.addActionListener(this); setBounds(20,60,700,200); public void actionPerformed(ActionEvent e) if(e.getSource()=inputNumber) try num=inputNumber.getText().trim(); con=DriverManager.getConnection(jdbc:odbc:sql,); sql=con.createStatement(); rs=sql.executeQuery(SELECT * FROM system_administrator WHERE Adm_id=+num+); boolean boo=rs.next(); if(boo=false) JOptionPane.showMessageDialog (this,学号不存在,提示,JOptionPane.WARNING_MESSAGE); else a00=rs.getString(2); table.repaint(); con.close(); catch(SQLException ee) System.out.println(ee); if(e.getSource()=enterModify) try con=DriverManager.getConnection(jdbc:odbc:sql,); sql=con.createStatement(); sql.executeUpdate (UPDATE system_administrator SET Adm_name=+a00+WHERE Adm_id=+num+); JOptionPane.showMessageDialog (this,更新成功,成功,JOptionPane.PLAIN_MESSAGE); con.close(); catch(SQLException ee) JOptionPane.showMessageDialog (this,更新失败+ee,失败,JOptionP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外墙双排脚手架承包合同2篇
- 第八讲 劳动合同3篇
- 外币资金长期借贷协议5篇
- 产教融合校企合作人才基地框架协议(商学院)6篇
- 新解读《GB-T 31081-2014塑料箱式托盘》
- 新解读《GB-T 31163-2014太阳能资源术语》
- 农村包菜出售合同范本
- 出售土方沙子合同范本
- 公司合作签合同范本
- 医院工程建设项目管理制度汇编
- 小学语文综合实践活动方案10篇
- 捷豹XF汽车说明书
- 应急车辆维护与保养方案
- 2023年4月自考00107现代管理学试题及答案
- 人教版数学四年级上册完整全册教案
- 外科换药术专业知识讲座
- 法考客观题历年真题及答案解析卷一(第1套)
- GB/T 36964-2018软件工程软件开发成本度量规范
- GB/T 27548-2011移动式升降工作平台安全规则、检查、维护和操作
- GB/T 13667.3-2013钢制书架第3部分:手动密集书架
- 供应商质量手册课件
评论
0/150
提交评论