收藏 分销(赏)

oracle专业课程设计.doc

上传人:w****g 文档编号:2864456 上传时间:2024-06-07 格式:DOC 页数:18 大小:215.04KB
下载 相关 举报
oracle专业课程设计.doc_第1页
第1页 / 共18页
oracle专业课程设计.doc_第2页
第2页 / 共18页
oracle专业课程设计.doc_第3页
第3页 / 共18页
oracle专业课程设计.doc_第4页
第4页 / 共18页
oracle专业课程设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、安徽省巢湖学院计算机和信息工程学院课程设计汇报课程名称 oracle数据库 课题名称 学生考勤系统 专业班级 11计科工程2班 学 号 11011119 姓 名 卢思露 联络方法 指导老师邢慧芬 完成日期: 年 1 月 4 日1学生考勤管理系统背景分析32学生考勤管理系统需求分析32.1 用户需求描述32.2.1学生用户需求描述32.2.2任课老师用户需求描述42.2.3班主任用户需求描述42.2.4院系领导用户需求描述42.2.5学校领导用户需求描述42.2.6系统管理员用户需求描述42.3功效需求描述52.4系统功效划分52.4.1 请假系统模块52.4.2 考勤系统模块52.4.3 后台

2、管理管理53学生考勤系统E-R模型64数据字典设计75数据库表逻辑结构设计86数据库表空间和表设计106.1、设计表空间106.2、创建表116.3、创建其它数据库对象147心得体会158参考文件15Oracle数据库课程设计学生考勤系统Oracle实现1学生考勤管理系统背景分析伴随高校校园信息化逐步完善,有效地借助网络、数据库等技术提升工作和管理效率。现在针对师生成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生学习、生活、管理、办公带来了便利。所以学生考勤管理系统能深入加强高校学风建设,维护正常教学秩序,给学生发明一个优良学习环境。现在高校学生上

3、课考勤管理全部是以任课老师上课点名,统计学生上课情况,对于时间比较长请假,需要经过递交请假申请让班主任、院系领导全部同意方能生效。这种模式在现在高校管理中暴露了不可避免弊端:1、学生请假不方便;2、学生请假对任课老师不透明; 3、学生对自己整个学期上课出勤情况没有整体统计信息;4、班主任对本班学生整个学期上课出勤情况不易查看;5、院系领导、学校领导不轻易把握学生上课出勤情况。所以一个好学生考勤管理系统在一定程度上能够处理这些弊端,本系统关键针对现在高校学生在线请假和学生上课出勤管理而设计信息系统。本系统包含到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。2学生考勤管理

4、系统需求分析2.1 用户需求描述用户是系统最终使用者,依据分析,本系统应该包含学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统需求简明概括以下:2.2.1学生用户需求描述学生对本系统关键需求是:在线请假和查看在校期间全部上课出勤信息。在线请假需求:学生请假全过程当中,学生能够随时查看请假具体进展情况。查看出勤信息需求:学生能够查看在校期间全部学期上课出勤具体信息,如:查看“Oracle数据库管理和应用”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人基础信息,如本人所属院系、年级、专业、班级、学号、姓名、性别等,和修改个人用户密码。2.2.2任课老师

5、用户需求描述任课老师对系统关键需求是:管理所教班级学生上课出勤信息和查看所教班级学生上课出勤信息。管理学生上课出勤需求:伴随时间改变,自动列出还没有在网上公布学生上课出勤信息,系统自动依据学生请假系统,决定学生上课出勤最终止果。查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。其它需求:本人基础信息和修改个人用户密码。2.2.3班主任用户需求描述班主任对本系统关键需求是:审批本班学生本学期在线请假和查看本班学生本学期全部课程上课出勤信息。审批学生请假需求:本班学生本学期在线请假申请后,自动提醒班主任有等候审批请假信息,班主任针对请假申请信息进行学生请假审批。查看学生上课出勤信息需求:查看

6、本班学生整个学期相关课程出勤统计信息及具体信息。其它需求:查看本班学生基础信息、修改个人用户密码等。2.2.4院系领导用户需求描述院系领导对系统关键需求是:审批本院系学生超出三天请假和查看本院系学生上课出勤信息。审批请假需求:当学生请超出三天假,经班主任审批同意后,系统自动提交给任何一个进入系统院系领导审批请假。查看本院系学生出勤信息需求:输入查询条件后,系统依据查询条件列出本院系学生相关上课出勤信息。其它需求:查看本院系相关基础信息和修改个人用户密码等。2.2.5学校领导用户需求描述学校领导对系统关键需求是:查看全校学生上课出勤信息。查看出勤信息需求:输入查询条件后,系统依据查询条件列出本校

7、学生相关上课出勤信息。其它需求:查看相关全校基础信息以信修改个人用户密码等。2.2.6系统管理员用户需求描述系统管理员有系统最高权限,负责系统所需全部数据动态同时更新和维护,依据系统针对各用户设计,基础功效需求以下:1、管理学校各院系、年级、专业、班级添加、删除、修改等。2、管理每个学期每个班级课程安排及指定班主任和任课老师。3、管理系统全部用户。4、管理全校课表安排。5、管理系统请假、考勤信息。2.3功效需求描述依据各类用户需求描述,系统应该含有请假系统、考勤管理系统、后台管理系统这三大关键功效。请假系统功效需求:经过班主任和院系领导同意请假信息。请假最长时间不能超出1个月,特殊情况除外。考

8、勤管理功效需求:任课老师经过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每年课表全部在改变,班主任安排也有在改变,学生也在改变,所以必需要求后台管理系统能依据系统需求,动态、正确更新系统数据。2.4系统功效划分依据系统用户需求,将本系统按功效划分成三大功效模块:请假系统、考勤系统、后台管理模块,包含到六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。2.4.1 请假系统模块本模块功效是在线请假实现及管理,关键包含三大类用户:学生、班主任及院系领导用户,学生经过此功效模块进行在线请假及查看请假统计

9、信息;班主任在线审批学生请假及查看请假统计信息;院系领导在线审批学生长时间请假及查看请假统计信息。2.4.2 考勤系统模块本模块功效是学生考勤信息统计实现、查看及管理,包含六大类用户中全部用户。学生在线查看自己全部年出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不一样范围学生出勤信息。2.4.3 后台管理管理本模块功效实现整个系统数据同时更新及维护,只包含系统管理员用户。系统管理员动态管理学生信息、课表安排、年安排等信息,是整个系统实现基础。3学生考勤系统E-R模型n1n1nmn1n1m1nnn1老师班级学生学院领导学院专业课程假条开设考勤属于属于讲课聘用班主任管理请假

10、学号姓名性别班级专业院系编号名称编号专业名称所属学院编号姓名性别所属院系课程号课程名课程性质编号名称编号姓名性别所属院系职称编号姓名性别所属专业所属学院班主任编号学号原因4数据字典设计名字:管理员信息描述:每一位管理员具体信息定义:管理员信息=编号+姓名+性别+职称+密码名字:学院领导信息描述:每一位学院领导具体信息定义:学院领导信息=编号+姓名+性别+职称+所属学院名字:院系信息描述:每一个学院具体信息定义:院系信息=编号+院系名称名字:专业信息描述:每一位管理员具体信息定义:专业信息=编号+姓名+所属院系名字:课程信息描述:每一门课程具体信息定义:课程信息=课程号+课程名+课程性质名字:老

11、师信息描述:每一位老师具体信息定义:老师信息=编号+姓名+性别+所属院系名字:班级信息描述:每一个班级具体信息定义:班级信息=编号+班级名称+班主任名字:班主任信息描述:每一位班主任具体信息定义:班主任信息=编号+姓名+性别+所属学院+所属专业名字:学生信息描述:每一位学生具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条具体信息定义:请假条信息=请假代号+班级代号+学生学号+请假原因+开始时间+结束时间+请假天数+申请请假时间+班主任审批状态+班主任审批时间+院系领导审批状态+院系领导代号+院系领导审批时间5数据库表逻辑结构设计(1)系统管理员表adm

12、in字段名数据类型可否为空键引用备注admin_nochar(5)否主键管理员编号admin_namechar(10)否管理员姓名admin_sexchar(2)否性别admin_titlechar(20)否职称admin_passwordvarchar2(20)否登入密码(2)学生表student字段名数据类型可否为空键引用备注stu_nochar(10)否主键学生学号stu_namevarchar(30)否学生姓名stu_sexchar(2)否性别stu_classchar(13)否外键所属班级stu_majorchar(30)否外键所属专业stu_facultychar(40)否外键所属

13、学院(3)院系表faculty字段名数据类型可否为空键引用备注faculty_idnumber否主键院系编号faculty_namechar(20)否院系名称(4)专业表major字段名数据类型可否为空键引用备注major_idnumber否主键专业编号major_namechar(20)否专业名称major_facultynumber否外键所属院系(5)老师表teacher字段名数据类型可否为空键引用备注tea_nochar(10)否主键任课老师编号tea_namechar(20)否任课老师姓名tea_sexchar(2)否性别tea_facultynumber否外键所属学院(6)班主任表c

14、lassteacher字段名数据类型可否为空键引用备注classtea_nochar(5)否主键任课老师编号classtea_namechar(20)否任课老师姓名classtea_sexchar(2)否性别classtea_majornumber否外键所属专业classtea_facultynumber否外键所属学院(7)院领导表collegeleader字段名数据类型可否为空键引用备注collegeleader_nochar(5)否主键学院领导编号collegeleader_namechar(20)否学院领导姓名collegeleader_sexchar(2)否性别collegeleade

15、r_facultynumber否外键所属学院titlechar(20)否职称(8)学校领导表schoolleader字段名数据类型可否为空键引用备注schoolleader_nochar(5)否主键学校领导编号schoolleader_namechar(20)否学校领导姓名schoolleader_sexchar(2)否性别deptchar(20)否所属部门titlechar(25)否职称(9)学生上课出勤统计表kaoqin_record字段名数据类型可否为空键引用备注kaoqin_idchar(13)否主键上课出勤编号sk_timedatetime否上课时间stu_numberchar(10

16、)否外键学生学号stu_statuschar(10)否学生上课考勤状态teacher_nochar(10)否外键老师编号course_nochar(13)否外键课程编号(10)课程信息表course字段名数据类型可否为空键引用备注course_nochar(13)否主键课程编号course_namechar(20)否课程名称course_xzchar(4)否课程性质(11)班级表classes字段名数据类型可否为空键引用备注class_nochar(10)否主键课程编号class_namechar(20)否课程名称classtea_nochar(5)否外键课程性质(12)请假信息表qingji

17、a字段名数据类型可否为空键引用备注idnumber否主键请假代号class_idchar(10)否外键班级代号stu_novarchar2 (20)否外键学生学号leave_reasonvarchar2 (200)否请假原因start_timedatetime否开始时间end_timedatetime否结束时间day_numbernumber否请假天数qingjia_timedatetime否申请请假时间class_tea_idchar(5)否外键class_tea_sp_statuschar(10)否班主任审批状态class_tea_sp_timedatetime否班主任审批时间coll_l

18、eader_sp_statuschar(10)否院系领导审批状态coll_leader_idchar(5)否外键院系领导代号coll_leader_sp_timedatetime否院系领导审批时间备注:status 表示审批状态:0为等候审批,1为同意请假,2为不一样意请假。6数据库表空间和表设计6.1、设计表空间创建通常字典管理类表空间,目标是为了方便利用SQL字典跟踪磁盘使用情况。使用以下命令创建表空间:create tablespace linpeng_datadatafile /u01/oracle/oradata/tab01.dbf size 100Mdefault storage(

19、initial 512K next 128K minextents 2 maxextents 999 pctincrease 0)online;6.2、创建表1、创建系统管理员表admincreate table admin(admin_no char(5) not null,admin_name char(10) not null,admin_sex char(2) check (admin_sex=男 or admin_sex=女),admin_title char(20) not null,admin_password varchar(20) not null,constraint pk

20、_admin primary key (admin_no)tablespace linpeng_data;2、学生表studentcreate table student(stu_no char(10) not null,stu_name varchar(30) not null,stu_sex char(2) check (stu_sex=男 or stu_sex=女),stu_class char(5) foreign key references classes(class_no),stu_major number foreign key references major(major_i

21、d),stu_faculty number foreign key references faculty(faculty_id),constraint pk_student primary key(stu_no)tablespace linpeng_data;3、院系表facultycreate table faculty(faculty_id number not null,faculty_name char(10) not null,constraint pk_faculty primary key (faculty_id)tablespace linpeng_data;4、专业表majo

22、rcreate table major(major_id number not null,major_name char(10) not null,major_faculty number foreign key references faculty(faculty_id),constraint pk_major primary key (major_id)tablespace linpeng_data;5、老师表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_sex cha

23、r(2) check (tea_sex=男 or tea_sex=女),tea_faculty number foreign key references faculty(faculty_id),constraint pk_teacher primary key (tea_no)tablespace linpeng_data;6、班主任表classteachercreate table classteacher(classtea_no char(5) not null,classtea_name char(20) not null,classtea_sex char(2) check (cla

24、sstea_sex=男 or classtea_sex=女),classtea_major number foreign key references major(major_id),classtea_faculty number foreign key references faculty(faculty_id),constraint pk_classteacher primary key (classtea_no)tablespace linpeng_data;7、院领导表collegeleadercreate table collegeleader(collegeleader_no ch

25、ar(5) primary key,collegeleader_name char(20) not null,collegeleader_sex char(2) check(collegeleader_sex in(男,女),collegeleader_faculty number foreign key references faculty(faculty_id),title char(20) not null)tablespace linpeng_data;8、学校领导表schoolleadercreate table schoolleader(schoolleader_no char(5

26、) primary key not null,schoolleader_name char(20) not null,schoolleader_sex char(2) check(schoolleader_sex in(男,女),dept char(20) not null,title char(20) not null)tablespace linpeng_data;9、学生上课出勤统计表kaoqin_recordcreate table kaoqin_record(kaoqin_id char(13) primary key not null,sk_time datetime not nu

27、ll,stu_number char(10) foreign key references student(stu_no),stu_status char(10) not null,teacher_no char(10) foreign key references teacher(tea_no),course_no char(13) foreign key references course(course_no)tablespace linpeng_data;10、课程信息表coursecreate table course(course_no char(13) primary key,co

28、urse_name char(20) not null,course_xz char(4) not null)tablespace linpeng_data;11、班级表classescreate table classes(class_no char(10) primary key,class_name char(20) not null,classtea_no char(5) foreign key references classteacher(classtea_no)tablespace linpeng_data;12、请假信息表qingjiacreate table qingjia(

29、id number primary key,class_id char(10) foreign key references classes(class_no),stu_no char(10) foreign key references student(stu_no),leave_reason varchar2(200) not null,start_time datetime not null,end_time datetime not null,day_number nubmer not null,qingjia_time datetime not null,class_tea_id c

30、har(5) foreign key references classteacher(classtea_no),class_tea_sp_status char(10),class_tea_sp_time datetime,coll_leader_sp_status char(10),coll_leader_id char(5) foreign key references collegeleader(collegeleader_no),coll_leader_sp_time datetime)tablespace linpeng_data;6.3、创建其它数据库对象1、创建存放过程用于统计学

31、生查询某门课程出勤情况create or replace procedure getMessage(stu_no in varchar2, course_no in varchar2, total_times out number)as absence_times number;begin select count(*) in to absence_times from kaoqin_record where stu_number=stu_no and course_no=course_no; total_times=absence_times;end;2、创建视图,使不一样院系领导只能查询到

32、自己学院学生上课考勤信息,假设软学院ID为5,以下代码为创建一个用于给软件学院领导查看本学院学生考勤信息视图。create view rjxy as select kaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_no from kaoqin_record,student where student.stu_no=kaoqin_record.stu_number

33、and student.stu_faculty=5;3、创建触发器,当某学生某课程缺勤次数超出一定次数时给出提醒信息create or replace trigger alertMessageafter insert on kaoqin_record for each rowdeclare current_times number;begin select count(*) into current_times from kaoqin_record where stu_number=:new.stu_number and course_no=:new.course_no; if(current

34、_times = 3) then dbms_output.put_line(学号为: | :new.stu_number | 学生该门课程被取消考试资格!); end if;end;7心得体会经过此次Oracle数据库课程设计,将本学期所学Oracle知识及数据库基础方面知识得到了一综合性应用,使我基础掌握了在软件项目标开发过程中数据库设计基础步骤,从需求分析到数据库逻辑结构设计,再到数据库物理结构设计等。为了提升系统效率和可靠性,部分比较关键功效全部采取存放过程或函数封装在数据库端,在其它程序设计语言中直接调用8参考文件1 王永贵Oracle数据库管理和应用中国矿业大学出版社2 赵文涛,数据库系统原理,中国矿业大学出版社,3 安葳鹏,软件工程,中国矿业大学出版社,4 张晓东 ,JSP+Oracle数据库开发和实例,清华大学出版社 5 向隅编 数据库基础及应用 邮电大学出版社

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服