Oracle数据库作业——学生考勤系统的Oracle实现1学生考勤管理系统背景分析随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明;3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。2学生考勤管理系统需求分析2.1用户需求描述用户是系统的最终使用者,根据分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:2.2.1学生用户需求描述学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理应用于开发”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码。22.2.2任课老师用户需求描述任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。管理学生上课出勤需求:随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。其它需求:本人基本信息以及修改个人用户密码。2.2.3导员用户需求描述导员对本系统的主要需求是:审批本班学生本学期的在线请假以及查看本班学生本学期所有课程的上课出勤信息。审批学生请假需求:本班学生本学期在线请假申请后,自动提示导员有等待审批的请假信息,导员针对请假申请信息进行学生请假审批。查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信息。其它需求:查看本班学生的基本信息、修改个人用户密码等。2.2.4院系领导用户需求描述院系领导对系统的主要需求是:审批本院系学生超过三天的请假以及查看本院系学生上课出勤信息。审批请假需求:当学生请超过三天的假,经班主任审批同意后,系统自动提交给任何一个进入系统的院系领导审批请假。查看本院系学生出勤信息需求:输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。其它需求:查看本院系有关基本信息以及修改个人用户密码等。2.2.5学校领导用户需求描述学校领导对系统的主要需求是:查看全校学生上课出勤信息。查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。2.2.6系统管理员用户需求描述系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:1、管理学校各院系、年级、专业、班级的添加、删除、修改等。32、管理每个学期每个班级的课程安排及指定班主任和任课老师。3、管理系统所有用户。4、管理全校课表安排。5、管理系统的请假、考勤信息。2.3功能需求描述根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1个月,特殊情况除外。考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。2.4系统功能划分根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。2.4.1请假系统模块本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。2.4.2考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。2.4.3后台管理管理本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。43学生考勤系统的E-R模型n1n1nmn1n1m1nnn1教师班级学生学院领导学院专业课程假条开设考勤属于属于授课聘请班主任管理请假学号姓名性别班级专业院系编号名称编号专业名称所属学院编号姓名性别所属院系课程号课程名课程性质编号名称编号姓名性别所属院系职称编号姓名性别所属专业所属学院班主任编号学号……原因54数据字典设计名字:管理员信息描述:每一位管理员的具体信息定义:管理员信息=编号+姓名+性别+职称+密码名字:学院领导信息描述:每一位学院领导的具体信息定义:学院领导信息=编号+姓名+性别+职称+所属学院名字:院系信息描述:每一个学院的具体信息定义:院系信息=编号+院系名称名字:专业信息描述:每一位管理员的具体信息定义:专业信息=编号+姓名+所属院系名字:课程信息描述:每一门课程的具体信息定义:课程信息=课程号+课程名+课程性质名字:教师信息描述:每一位教师的具体信息定义:教师信息=编号+姓名+性别+所属院系名字:班级信息描述:每一个班级的具体信息定义:班级信息=编号+班级名称+班主任名字:班主任信息描述:每一位班主任的具体信息定义:班主任信息=编号+姓名+性别+所属学院+所属专业名字:学生信息描述:每一位学生的具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条的具体信息定义:请假条信息=请假代号+班级代号+学生学号+请假原因+开始时间+结束时间+请假天数+申请请假时间+班主任审批状态+班主任审批时间+院系领导审批状态+院系领导代号+院系领导审批时间65数据库表的逻辑结构设计(1)系统管理员表admin字段名数据类型可否为空键引用备注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)否外键所属学院(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否外键所属学院7(6)班主任表classteacher字段名数据类型可否为空键引用备注classtea_nochar(5)否主键任课老师编号classtea_namechar(20)否任课老师姓名classtea_sexchar(2)否性别classtea_majornumber否外键所属专业classtea_facultynumber否外键所属学院(7)院领导表collegeleader字段名数据类型可否为空键引用备注collegeleader_nochar(5)否主键学院领导编号collegeleader_namechar(20)否学院领导姓名collegeleader_sexchar(2)否性别collegeleader_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_timedate否上课时间stu_numberchar(10)否外键学生学号stu_statuschar(10)否学生上课考勤状态teacher_nochar(10)否外键教师编号course_nochar(13)否外键课程编号(10)课程信息表course字段名数据类型可否为空键引用备注course_nochar(13)否主键课程编号course_namechar(20)否课程名称course_xzchar(4)否课程性质8(11)班级表classes字段名数据类型可否为空键引用备注class_nochar(10)否主键课程编号class_namechar(20)否课程名称classtea_nochar(5)否外键课程性质(12)请假信息表qingjia字段名数据类型可否为空键引用备注idnumber否主键请假代号class_idchar(10)否外键班级代号stu_novarchar2(20)否外键学生学号leave_reasonvarchar2(200)否请假原因start_timedate否开始时间end_timedate否结束时间day_numbernumber否请假天数qingjia_timedate否申请请假时间class_tea_idchar(5)否外键class_tea_sp_statuschar(10)否班主任审批状态class_tea_sp_timedate否班主任审批时间coll_leader_sp_statuschar(10)否院系领导审批状态coll_leader_idchar(5)否外键院系领导代号coll_leader_sp_timedate否院系领导审批时间备注:status表示审批状态:0为等待审批,1为同意请假,2为不同意请假。6数据库表空间和表设计6.1、设计表空间创建一般的字典管理类表空间,目的是为了方便利用SQL字典跟踪磁盘的使用情况。使用如下命令创建表空间:createtablespacewandong_datad