学生考勤系统的Oracle实现.docx_第1页
学生考勤系统的Oracle实现.docx_第2页
学生考勤系统的Oracle实现.docx_第3页
学生考勤系统的Oracle实现.docx_第4页
学生考勤系统的Oracle实现.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生考勤系统的Oracle实现一、学生考勤管理系统背景分析随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明;3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。二、学生考勤管理系统需求分析1 .用户需求描述用户是系统的最终使用者,根据分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:(1)学生用户需求描述学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。 在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。 查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理与应用”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码。2(2)任课老师用户需求描述任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。管理学生上课出勤需求:随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。 查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。其它需求:本人基本信息以及修改个人用户密码。(3)班主任用户需求描述班主任对本系统的主要需求是:审批本班学生本学期的在线请假以及查看本班学生本学期所有课程的上课出勤信息。审批学生请假需求:本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行学生请假审批。查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信息。其它需求:查看本班学生的基本信息、修改个人用户密码等。(4)院系领导用户需求描述院系领导对系统的主要需求是:审批本院系学生超过三天的请假以及查看本院系学生上课出勤信息。审批请假需求:当学生请超过三天的假,经班主任审批同意后,系统自动提交给任何一个进入系统的院系领导审批请假。查看本院系学生出勤信息需求:输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。其它需求:查看本院系有关基本信息以及修改个人用户密码等。(5)学校领导用户需求描述学校领导对系统的主要需求是:查看全校学生上课出勤信息。查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。(6)系统管理员用户需求描述系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:1、管理学校各院系、年级、专业、班级的添加、删除、修改等2、管理每个学期每个班级的课程安排及指定班主任和任课老师。3、管理系统所有用户。4、管理全校课表安排。5、管理系统的请假、考勤信息。2.功能需求描述根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1个月,特殊情况除外。考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。3.系统功能划分根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。(1)请假系统模块本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。(2)考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。(3)后台管理管理本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础数据库表的逻辑结构设计(1)系统管理员表admin字段名 数据类型 admin_no admin_name admin_sex admin_title admin_password(2)学生表student字段名 stu_no stu_name stu_sex stu_class stu_major stu_faculty(3)院系表faculty字段名 faculty_id faculty_name(4)专业表major字段名 major_id major_name major_faculty(5)教师表teacher字段名 tea_no tea_name tea_sex tea_faculty7可否为空 否 否 否 否 否键引用 主键备注管理员编号 管理员姓名 性别 职称 登入密码char(5) char(10) char(2) char(20) varchar2(20)数据类型 char(10) varchar(30) char(2) char(13) char(30) char(40)可否为空 否 否 否 否 否 否键引用 主键备注 学生学号 学生姓名 性别 所属班级 所属专业 所属学院外键 外键 外键数据类型 number char(20)可否为空 否 否键引用 主键备注 院系编号 院系名称数据类型 number char(20) number可否为空 否 否 否键引用 主键 外键备注 专业编号 专业名称 所属院系数据类型 char(10) char(20) char(2) number可否为空 否 否 否 否键引用 主键备注 任课老师编号 任课老师姓名 性别 所属学院外键(6)班主任表classteacher字段名 数据类型 classtea_no classtea_name classtea_sex classtea_major classtea_facultychar(5) char(20) char(2) number number可否为空 否 否 否 否 否可否为空 否 否 否 否 否键引用 主键备注 任课老师编号 任课老师姓名 性别 所属专业 所属学院备注 学院领导编号 学院领导姓名 性别 所属学院 职称外键 外键 键引用 主键(7)院领导表collegeleader 字段名 数据类型 collegeleader_no collegeleader_name collegeleader_sex collegeleader_faculty titlechar(5) char(20) char(2) number char(20)外键(8)学校领导表schoolleader字段名 数据类型 schoolleader_no schoolleader_name schoolleader_sex deptchar(5) char(20) char(2) char(20)可否为空 否 否 否 否键引用 主键备注 学校领导编号 学校领导姓名 性别 所属部门 职称备注title char(25) 否(9)学生上课出勤记录表kaoqin_record字段名 数据类型 可否为空 kaoqin_id sk_time stu_number stu_status teacher_no course_nochar(13) datetime char(10) char(10) char(10) char(13)否 否 否 否 否 否键引用 主键 外键 外键 外键上课出勤编号 上课时间 学生学号 学生上课考勤状态 教师编号 课程编号(10)课程信息表course 字段名 数据类型 course_no course_name course_xzchar(13) char(20) char(4)可否为空 否 否 否键引用 主键备注课程编号 课程名称 课程性质(11)班级表classes字段名 class_no class_name classtea_no数据类型 可否为空 否 否 否键引用 主键 外键备注课程编号 课程名称 课程性质char(10) char(20) char(5)(12)请假信息表qingjia字段名 数据类型 id class_id stu_no leave_reason start_time end_time day_number qingjia_time class_tea_id class_tea_sp_time coll_leader_sp_statuscoll_leader_idnumber char(10) varchar2 (20) varchar2 (200) datetime datetime number datetime char(5) datetime char(10) char(5)可否为空 否 否 否 否 否 否 否 否 否 否 否 否 否 否键引用 主键 外键 外键 外键 外键备注请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间class_tea_sp_status char(10)coll_leader_sp_time datetime备注:status 表示审批状态:0为等待审批,1为同意请假,2为不同意请假。7.数据库表空间和表设计 (1)设计表空间创建一般的字典管理类表空间,目的是为了方便利用SQL字典跟踪磁盘的使用情况。 使用如下命令创建表空间: create tablespace linpeng_datadatafile /u01/oracle/oradata/tab01.dbf size 100Mdefault storage(initial 512K next 128K minextents 2 maxextents 999 pctincrease 0) online;(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_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_id),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、专业表majorcreate 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)第10 / 14页tablespace linpeng_data;5、教师表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_sex char(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 (classtea_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 char(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) 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第11 / 14页)tablespace linpeng_data;9、学生上课出勤记录表kaoqin_recordcreate table kaoqin_record(kaoqin_id char(13) primary key not null,sk_time datetime not null,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,course_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(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,第12 / 14页class_tea_id char(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;(3)创建其它数据库对象1、创建存储过程用于统计学生查询某门课程的出勤情况create or replace procedure getMessage(stu_no in varchar2, course_no in varchar2, total_times out number)asabsence_times number;beginselect count(*) in to absence_times from kaoqin_record where stu_number=stu_no and course_no=course_no;total_times=absence_times;end;2、创建视图,使不同院系的领导只能查询到自己学院学生上课的考勤信息,假设软学院的ID为5,以下代码为创建一个用于给软件学院领导查看本学院学生考勤信息的视图。 create view rjx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论