《Oracle课程设计--宿舍管理信息系统.doc》由会员分享,可在线阅读,更多相关《Oracle课程设计--宿舍管理信息系统.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Oracle课程设计 宿舍管理信息系统 任务一 用例图任务二使用了SQL语句创立公共物品表,索引,视图,序列等 。 使用PL/SQL对公共物品表进行了函数和过程的创立以及调用,在创立过程中,是以物品ID为参数,返回的是该物品对应的宿舍号和楼号,在创立函数中,还是以物品号为参数,返回的是物品的损坏时间。包的创立,包含一个过程一个函数,包体的创立与之对应。刚开始的时候学习不太认真,对ORACLE数据库的也不了解,但是通过几次实验还有考试的成绩让我认识到自己的问题,我开始看书以及一些视频,在做实验时遇到问题时也会自己去解决,尽管每周自己做实验都会画1-2小时去完成实验,但是自己努力自己感觉很不错用例
2、图:任务一,需求分析用例图该系统的最终用户是:学生,宿舍管理员不同的用户对需求的信息不同,根据我们组员的分析和查询,得到了以下各个实体的信息需求情况。学生:首先学生登录,可以修改自己的密码,查询自己的个人信息,查询自己的离返校的信息,能进行宿舍报修信息的提交,查询和保修情况确认等 。宿舍管理员:登录后可以修改密码,查询学生的相关信息,进行报修信息的处理,学生的夜归信息,插入删除离返校的信息,能添加学生的新信息,改动信息。二系统设计思路用例图该系统的设计主要有两个实体:学生和宿舍管理员,学生处于系统设计的前台局部,宿舍管理员属于后台局部,根据实体的需求情况,先进行各个实体的用例图的设计,最后进行
3、总体用例图设计。1学生提交和确认报修情况修改密码查询离返校的时间 学生 登录前台查询学生信息查询报修信息局部用例描述如下:用例名称:查询个人信息。参与者:学生用例标识号:1简要说明:学生进入系统后,点击进入个人信息,可以查询本人的身份信息等2宿舍管理员查询报修信息查询学生信息查询学生夜归宿舍管理员登录登录后台查询在校与离校学生信息学生信息增,删,改修改密码局部用例描述:用例名称:学生信息增,删,改用例标识号:2参与者:宿舍管理员简要说明:宿舍管理员进入系统后,进入到学生信息管理,对新来的学生进行信息的添加,转学院等学生信息的修改,毕业学生信息的删除等三系统总体用例图:任务二:公共物品表的创立c
4、reate table goods( gdn char(5) primary key, 宿舍号 gfn varchar(5) not null, 楼号 gid varchar(10), gname varchar(20), gremark number(6), 物品号 gdamage varchar(20), gdt date(20), repair varchar(20);索引的创立 create index goods_gid on goods(gid);视图的创立create or replace view goods_info_view as select gdn,gfn,gid,gn
5、ame,gremark ,gdamage,gdt,repair from goods;序列的创立create sequence goods_sequence increment by 1 start with 10 maxvalue 100;过程的创立create or replace procedure show_goodsinfo(p_gid goods.gid%TYPEasv_gdn out goods.gdn%TYPE,v_gfn out goods.gremark%TYPE; begin select gdn(*),gremark(*) into p_gdn,p_gremark fr
6、om goods where gid=p_gid;exception when no_data_found then dbms_output.put_line(there is not such a goods!);end show_goodsinfo;过程的调用declare v_gdn goods.gdn%TYPE; v_gremark goods.gremark%TYPE;begin show_goods(10); return_goodsinfo(10,v_gdn,v_gremark); dbms_output.put_line(v_gdn|v_gremark);end; 函数的创立c
7、reate or replace founction ret_gdtp_gid emp.gid%TYPE return goods.gdt%TYPEas v_gdt goods.gdt%TYPE;begin select gdt into v_gdt from emp where gid=p_gid; return v_gdt;exception when no_data_found then dbms_output.put_line(the gid is invalid! ); end ret_gdt;函数的调用 declare v_gdt goods.gdt%TYPE; begin dbm
8、s_output.put_line(v_gdt|); end loop;end; 创立包create or replace package pkg_goodsas procedure show_goodsinfo (p_gid goods.gid%TYPE); function ret_gdtp_gid emp.gid%TYPE;end pkg_goods;创立包体create or replace package body pkg_goodsas procedure show_goodsinfo(p_gid goods.gid%TYPE as v_gdn out goods.gdn%TYPE
9、, v_gfn out goods.gremark%TYPE; begin select gdn(*),gremark(*) into p_gdn,p_gremark from goods where gid=p_gid; exception when no_data_found then dbms_output.put_line(there is not such a goods!); end show_goodsinfo; function ret_gdtp_gid emp.gid%TYPE return goods.gdt%TYPE as v_gdt goods.gdt%TYPE; be
10、gin select gdt into v_gdt from emp where gid=p_gid; return v_gdt; exception when no_data_found then dbms_output.put_line(the gid is invalid! ); end ret_gdt;end pkg_googs; 创立一个触发器,禁止陌生人对该表进行操作create or replace trigger trg_goods_stranger before insert or update or delete on goodsbegin if to_char(sysdate,DY,nls_date_language=american)in(stranger)then raise_application error(,cant operate in stranger.);end if;end trg_goods_stranger;