- 123.50 KB
- 2022-05-17 13:40:34 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
学生考勤管理系统
精品文档Oracle数据库作业——学生考勤系统的Oracle实现1学生考勤管理系统背景分析随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明;3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。收集于网络,如有侵权请联系管理员删除
精品文档2学生考勤管理系统需求分析2.1用户需求描述用户是系统的最终使用者,根据分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:2.2.1学生用户需求描述学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理应用于开发”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码。2.2.2任课老师用户需求描述任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。管理学生上课出勤需求:随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。收集于网络,如有侵权请联系管理员删除
精品文档查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。其它需求:本人基本信息以及修改个人用户密码。2.2.3导员用户需求描述导员对本系统的主要需求是:审批本班学生本学期的在线请假以及查看本班学生本学期所有课程的上课出勤信息。审批学生请假需求:本班学生本学期在线请假申请后,自动提示导员有等待审批的请假信息,导员针对请假申请信息进行学生请假审批。查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信息。其它需求:查看本班学生的基本信息、修改个人用户密码等。2.2.4院系领导用户需求描述院系领导对系统的主要需求是:审批本院系学生超过三天的请假以及查看本院系学生上课出勤信息。审批请假需求:当学生请超过三天的假,经班主任审批同意后,系统自动提交给任何一个进入系统的院系领导审批请假。查看本院系学生出勤信息需求:输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。其它需求:查看本院系有关基本信息以及修改个人用户密码等。2.2.5学校领导用户需求描述学校领导对系统的主要需求是:查看全校学生上课出勤信息。收集于网络,如有侵权请联系管理员删除
精品文档查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。2.2.6系统管理员用户需求描述系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:1、管理学校各院系、年级、专业、班级的添加、删除、修改等。2、管理每个学期每个班级的课程安排及指定班主任和任课老师。3、管理系统所有用户。4、管理全校课表安排。5、管理系统的请假、考勤信息。2.3功能需求描述根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1个月,特殊情况除外。收集于网络,如有侵权请联系管理员删除
精品文档考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。2.4系统功能划分根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。2.4.1请假系统模块本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。2.4.2考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。2.4.3后台管理管理本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。收集于网络,如有侵权请联系管理员删除
精品文档3学生考勤系统的E-R模型n1n1nmn1n1m1nnn1教师班级学生学院领导学院专业课程假条开设考勤属于属于授课聘请班主任管理请假学号姓名性别班级专业院系编号名称编号专业名称所属学院编号姓名性别所属院系课程号课程名课程性质编号名称编号姓名性别所属院系职称编号姓名性别所属专业所属学院班主任编号学号……原因收集于网络,如有侵权请联系管理员删除
精品文档4数据字典设计名字:管理员信息描述:每一位管理员的具体信息定义:管理员信息=编号+姓名+性别+职称+密码名字:学院领导信息描述:每一位学院领导的具体信息定义:学院领导信息=编号+姓名+性别+职称+所属学院名字:院系信息描述:每一个学院的具体信息定义:院系信息=编号+院系名称名字:专业信息描述:每一位管理员的具体信息定义:专业信息=编号+姓名+所属院系名字:课程信息描述:每一门课程的具体信息定义:课程信息=课程号+课程名+课程性质名字:教师信息描述:每一位教师的具体信息定义:教师信息=编号+姓名+性别+所属院系名字:班级信息描述:每一个班级的具体信息定义:班级信息=编号+班级名称+班主任名字:班主任信息描述:每一位班主任的具体信息定义:班主任信息=编号+姓名+性别+所属学院+所属专业名字:学生信息描述:每一位学生的具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条的具体信息定义:请假条信息=请假代号+班级代号+学生学号+请假原因+开始时间+结束时间+请假天数+申请请假时间+班主任审批状态+班主任审批时间+院系领导审批状态+院系领导代号+院系领导审批时间收集于网络,如有侵权请联系管理员删除
精品文档5数据库表的逻辑结构设计(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否外键所属学院收集于网络,如有侵权请联系管理员删除
精品文档(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)否课程性质收集于网络,如有侵权请联系管理员删除
精品文档(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_datadatafile‘f:Wandongdongoracleab01.dbf’size100Mdefaultstorage(initial512Knext128Kminextents2maxextents999pctincrease0)online;6.2、创建表1、创建系统管理员表admincreatetableadmin(admin_nochar(5)notnull,admin_namechar(10)notnull,admin_sexchar(2)check(admin_sex="男"oradmin_sex="女"),admin_titlechar(20)notnull,admin_passwordvarchar(20)notnull,constraintpk_adminprimarykey(admin_no))tablespacewandong_data;2、学生表studentcreatetablestudent(stu_nochar(10)notnull,stu_namevarchar(30)notnull,stu_sexchar(2)check(stu_sex="男"orstu_sex="女"),stu_classchar(5)referencesclasses(class_no),stu_majornumberreferencesmajor(major_id),stu_facultynumberreferencesfaculty(faculty_id),constraintpk_studentprimarykey(stu_no))tablespacewandong_data;3、院系表facultycreatetablefaculty(faculty_idnumbernotnull,faculty_namechar(10)notnull,constraintpk_facultyprimarykey(faculty_id))tablespacewandong_data;收集于网络,如有侵权请联系管理员删除
精品文档4、专业表majorcreatetablemajor(major_idnumbernotnull,major_namechar(10)notnull,major_facultynumberreferencesfaculty(faculty_id),constraintpk_majorprimarykey(major_id))tablespacewandong_data;5、教师表teachercreatetableteacher(tea_nochar(10)notnull,tea_namechar(20)notnull,tea_sexchar(2)check(tea_sex="男"ortea_sex="女"),tea_facultynumberreferencesfaculty(faculty_id),constraintpk_teacherprimarykey(tea_no))tablespacewandong_data;6、班主任表classteachercreatetableclassteacher(classtea_nochar(5)notnull,classtea_namechar(20)notnull,classtea_sexchar(2)check(classtea_sex="男"orclasstea_sex="女"),classtea_majornumberreferencesmajor(major_id),classtea_facultynumberreferencesfaculty(faculty_id),constraintpk_classteacherprimarykey(classtea_no))tablespacewandong_data;7、院领导表collegeleadercreatetablecollegeleader(collegeleader_nochar(5)primarykey,collegeleader_namechar(20)notnull,collegeleader_sexchar(2)check(collegeleader_sexin("男","女")),collegeleader_facultynumberreferencesfaculty(faculty_id),收集于网络,如有侵权请联系管理员删除
精品文档titlechar(20)notnull)tablespacewandong_data;8、学校领导表schoolleadercreatetableschoolleader(schoolleader_nochar(5)primarykeynotnull,schoolleader_namechar(20)notnull,schoolleader_sexchar(2)check(schoolleader_sexin("男","女")),deptchar(20)notnull,titlechar(20)notnull)tablespacewandong_data;9、学生上课出勤记录表kaoqin_recordcreatetablekaoqin_record(kaoqin_idchar(13)primarykeynotnull,sk_timedatenotnull,stu_numberchar(10)referencesstudent(stu_no),stu_statuschar(10)notnull,teacher_nochar(10)referencesteacher(tea_no),course_nochar(13)referencescourse(course_no))tablespacewandong_data;10、课程信息表coursecreatetablecourse(course_nochar(13)primarykey,course_namechar(20)notnull,course_xzchar(4)notnull)tablespacewandong_data;11、班级表classescreatetableclasses(class_nochar(10)primarykey,收集于网络,如有侵权请联系管理员删除
精品文档class_namechar(20)notnull,classtea_nochar(5)referencesclassteacher(classtea_no))tablespacewandong_data;12、请假信息表qingjiacreatetableqingjia(idnumberprimarykey,class_idchar(10)referencesclasses(class_no),stu_nochar(10)referencesstudent(stu_no),leave_reasonvarchar2(200)notnull,start_timedatenotnull,end_timedatenotnull,day_numbernumbernotnull,qingjia_timedatenotnull,class_tea_idchar(5)referencesclassteacher(classtea_no),class_tea_sp_statuschar(10),class_tea_sp_timedate,coll_leader_sp_statuschar(10),coll_leader_idchar(5)referencescollegeleader(collegeleader_no),coll_leader_sp_timedate)tablespacewandong_data;6.3、创建其它数据库对象1、创建存储过程用于统计学生查询某门课程的出勤情况createorreplaceproceduregetMessage(stu_noinvarchar2,course_noinvarchar2,total_timesoutnumber)isabsence_timesnumber;beginselectcount(*)intoabsence_timesfromkaoqin_recordwherestu_number=stu_noandcourse_no=course_no;total_times:=absence_times;exceptionwhenno_data_foundthendbms_output.put_line(‘对不起,你的输入有误!’);end;收集于网络,如有侵权请联系管理员删除
精品文档2、创建视图,使不同院系的领导只能查询到自己学院学生上课的考勤信息,假设计算机软件学院的ID为5,以下代码为创建一个用于给计算机软件学院领导查看本学院学生考勤信息的视图。createviewrjxyasselectkaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_nofromkaoqin_record,studentwherestudent.stu_no=kaoqin_record.stu_numberandstudent.stu_faculty=5;3、创建一个包,在网页中实现数据的集合和调用createorreplacepackageuse_data_packageastypedata_cursorisrefcursor;enduse_data_package;4、创建一个过程用来实现从数据库中提取数据的集合以及实现分页createorreplaceprocedurefenye(table_nameinvarchar2,--表名pagesizeinnumber,--页的条数pagenowinnumber,--当前页myrowsoutnumber,--总记录数mypagecountoutnumber,--总页数P_cursoroutuse_data_package.data_cursor)isv_sqlvarchar2(1000);--定义要执行的数据库语句v_beginnumber:=(pagenow-1)*pagesize+1;v_endnumber:=pagenow*pagesize;beginv_sql:="(selectt1.*,rownumrnfrom(select*from"||table_name||")t1whererownum<="||v_end||")wherern>="||v_begin;--打开游标openP_cursorforv_sql;--计算myrows和mypagecount收集于网络,如有侵权请联系管理员删除
精品文档v_sql:="selectcount(*)from"||table_name;--执行语句executeimmediatev_sqlintomyrows;--计算pagecountifmod(myrows,pagesize)=0thenmypagecount:=myrows/pagesize;elsemypagecount:=myrows/pagesize+1;endif;--关闭游标closeP_cursor;end;5、创建触发器,当某学生某课程的缺勤次数超过一定次数时给出提示信息createorreplacetriggeralertMessageafterinsertonkaoqin_recordforeachrowdeclarecurrent_timesnumber;beginselectcount(*)intocurrent_timesfromkaoqin_recordwherestu_number=:new.stu_numberandcourse_no=:new.course_no;if(current_times>=3)thendbms_output.put_line("学号为:"||:new.stu_number||"的学生该门课程被取消考试资格!");endif;end;7部分程序实现(主要是连接数据库以及分页程序)java实现:importjava.sql.*;publicclassDB{//加载驱动try{Class.forName(“oracle.jdbc.driver.OracleDriver”);收集于网络,如有侵权请联系管理员删除
精品文档//得到连接Connectionct=DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:wandongdong”,”wan”,”wan123”);//创建一个CallableStatementCallableStatementcs=ct.prepareCall(“{callfenye(?,?,?,?,?,?)}”);//给问号赋值cs.setString(1,”qingjia”);cs.setInt(2,5);cs.setInt(3,1);//接收总记录数cs.registerOutParameter(4,oracle.jdbc.OracleType.INTEGER);//接收总页数cs.registerOutParameter(5,oracle.jdbc.OracleType.INTEGER);//返回结果cs.registerOutParameter(6,oracle.jdbc.OracleType.CURSOR);//执行cs.execute();//得到结果集introwNum=cs.getInt(4);intpageCount=cs.getInt(5);ResultSetrs=(ResultSet)cs.getObject(6);//显示一下System.out.println(rowNum);System.out.println(“总页数:”+pageCount);while(rs.next()){system.out.println(“学号为”+rs.getInt(3)+”的同学请假的原因是:”+rs.getSring(5));}收集于网络,如有侵权请联系管理员删除
精品文档}catch(Exceptione){e.printStackTrace();}finally{//关闭cs.close();ct.close();}}8心得体会通过本次Oracle数据库课程设计,将本学期所学的Oracle知识及数据库基础方面的知识得到了一综合性的应用,使我基本掌握了在软件项目的开发过程中数据库设计的基本流程,从需求分析到数据库的逻辑结构设计,再到数据库的物理结构设计等。我学到了许多实战应用知识,比如说,以前很多的查询,比较,条件查找等都是在程序中实现的,在调用数据库的时候很慢,性能和效率都很低,但是为了提高系统的效率和可靠性,一些比较关键的功能我学会了采用存储过程或函数封装在了数据库端,当然也学会了在其它程序设计语言中尤其是java语言中的直接调用这些存储过程或函数封装。收集于网络,如有侵权请联系管理员删除
您可能关注的文档
- 职工考勤管理制度.doc
- 数据库课程设计职工考勤管理信息系统.doc
- 基于某C++地企业考勤管理系统地设计与开发.doc
- 大数据库课程设计-公司管理系统考勤管理系统.doc
- 规章制度-华为公司考勤管理制度.doc
- 规章制度-指纹考勤管理制度.doc
- 考勤管理制度培训课件.ppt
- 银行考勤管理办法.doc
- 外贸部考勤管理制度教学提纲.doc
- 教育行业考勤管理制度电子教案.docx
- 考勤管理制度范本.doc
- 员工假期、考勤管理实施细则.pdf
- 学生考勤管理系统ppt课件学习资料.ppt
- 基于Android系统的掌上班级课表与学生考勤管理系统-最新教育文档.doc
- 员工考勤管理规定上课讲义.doc
- 员工考勤管理规定复习过程.doc
- 项目实名制考勤管理制度.docx
- 门店考勤管理制度资料.docx