《Oracle数据库课程设计方案学生考勤系统的Oracle实现8 .docx》由会员分享,可在线阅读,更多相关《Oracle数据库课程设计方案学生考勤系统的Oracle实现8 .docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结中国的质高校Oracle数据库课程设计报告姓 名:刘斌班 级: 191101学 号: 20211002768指导老师:吴湘宁同学考勤系统的 Oracle 实现一、同学考勤治理系统背景分析随着高校校内信息化的逐步完善,有效的借助网络、数据库等技术提高工作和治理效率。如今针对师生的成果查询系统、教务治理系统、招生就业系统、BBS 、校内网站等系统在各大高校纷纷显现,对全校师生的学习、生活、治理、办公带来了便利。因此同学考勤治理系统能进一步加强高校学风建设,保护正常的教案秩序,给同学制造一个优良的学习环境。目前高校同学上课考勤治理都是以任课老师上课点名,记录同学上课情形,对于时间比较
2、长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校治理中暴露了不行防止的弊端:1、同学请假不便利。2、同学请假对任课老师不透亮。可编辑资料 - - - 欢迎下载精品名师归纳总结3、同学对自己整个学期的上课出勤情形没有整体的统计信息。4、班主任对本班同学整个学期的上课出勤情形不易查看。5、院系领导、学校领导不简单把握同学上课的出勤情形。因此一个好的同学考勤治理系统在肯定程度上可以解决这些弊端,本系统主要针对目前高校同学在线请假以及同学上课出勤治理而设计的信息系统。本系统涉及到高校六大类用户:同学、任课老师、班主任、院系领导、学校领导、系统治理员。二、同学考勤治理系
3、统需求分析1. 用户需求描述用户是系统的最终使用者,依据分析,本系统应当包括同学、班主任、任课老师、院系领导、学校领导、系统治理员六类用户,这六类用户对系统的需求简要概括如下:(1) 同学用户需求描述同学对本系统的主要需求是:在线请假以及查看在校期间全部的上课出勤信息。 在线请假需求:同学请假的全过程当中,同学可以随时查看请假的具体进展情形。查看出勤信息需求:同学可以查看在校期间全部学期上课出勤的具体信息,如:查看“Oracle 数据库治理与应用”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密
4、码。(2) 任课老师用户需求描述任课老师对系统的主要需求是:治理所教班级同学的上课出勤信息以及查看所教班级同学的上课出勤信息。治理同学上课出勤需求:随着时间的变化,自动列出仍没有在网上公布的同学上课出勤信息,系统自动依据同学请假系统,打算同学上课出勤的最终结果。查看同学出勤信息需求:查看所教班级同学整个学期出勤情形。其它需求:本人基本信息以及修改个人用户密码。(3) 班主任用户需求描述班主任对本系统的主要需求是:审批本班同学本学期的在线请假以及查看本班同学本学期全部课程的上课出勤信息。审批同学请假需求:本班同学本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行
5、同学请假审批。查看同学上课出勤信息需求:查看本班同学整个学期有关课程的出勤统计信息及具体信息。其它需求:查看本班同学的基本信息、修改个人用户密码等。可编辑资料 - - - 欢迎下载精品名师归纳总结(4) 院系领导用户需求描述院系领导对系统的主要需求是:审批本院系同学超过三天的请假以及查看本院系同学上课出勤信息。审批请假需求:当同学请超过三天的假,经班主任审批同意后,系统自动提交给任何一个进入系统的院系领导审批请假。查看本院系同学出勤信息需求:输入查询条件后,系统依据查询条件列出本院系同学相关的上课出勤信息。其它需求:查看本院系有关基本信息以及修改个人用户密码等。(5) 学校领导用户需求描述学校
6、领导对系统的主要需求是:查看全校同学上课出勤信息。查看出勤信息需求:输入查询条件后,系统依据查询条件列出本校同学相关的上课出勤信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。(6) 系统治理员用户需求描述系统治理员有系统的最高权限,负责系统所需全部数据的动态同步更新以及保护,依据系统针对各用户的设计,基本功能需求如下:1、治理学校各院系、年级、专业、班级的添加、删除、修改等。2、治理每个学期每个班级的课程支配及指定班主任和任课老师。3、治理系统全部用户。4、治理全校课表支配。5、治理系统的请假、考勤信息。2. 功能需求描述依据各类用户的需求描述,系统应当具备请假系统、考勤治理系统
7、、后台治理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1 个月,特别情形除外。考勤治理功能需求:任课老师通过考勤治理系统,对同学上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤治理系统要借助请假系统、班级课表支配才能完成, 然而每学年课表都在变化,班主任支配也有在变化,同学也在变化,因此必需要求后台治理系统能依据系统需求,动态的、精确的更新系统数据。3. 系统功能划分依据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、可编辑资料 - - - 欢迎下载精品名师归纳总结后台治理模块,涉及到六大类用户:同学、任课老师、班
8、主任、院系领导、学校领导、系统治理员。(1) 请假系统模块本模块的功能是在线请假的实现及治理,主要涉及三大类用户:同学、班主任及院系领导用户,同学通过此功能模块进行在线请假及查看请假记录信息。班主任在线审批同学请假及查看请假记录信息。院系领导在线审批同学长时间的请假及查看请假记录信息。(2) 考勤系统模块本模块的功能是同学考勤信息统计的实现、查看及治理,涉及六大类用户中的全部用户。同学在线查看自己全部学年的出勤信息。任课老师在线治理同学出勤信息。班主任、院系领导、学校领导查看不同的范畴的同学出勤信息。(3) 后台治理治理本模块的功能实现整个系统数据的同步更新及保护,只涉及系统治理员用户。系统治
9、理员动态的治理同学信息、课表支配、学年支配等信息,是整个系统实现的基础。可编辑资料 - - - 欢迎下载精品名师归纳总结编号姓名性别名称编号职称姓名所属院系所属学院编号学院1n性别聘请学院领导所属专业1姓名性别班主任开设学号班级1n专业院系治理n专业1nn1属于同学属于班级班主任所属学院n1编号名称编号请假专业名称考勤nm假条课程mn授课老师编号缘由编号学号姓名性别所属院系课程号课程性质课程名4. 同学考勤系统的 E-R 模型可编辑资料 - - - 欢迎下载精品名师归纳总结5. 数据字典设计可编辑资料 - - - 欢迎下载精品名师归纳总结名字:治理员信息描述:每一位治理员的具体信息定义:治理员
10、信息 =编号 +姓名 +性别 +职称 +密码名字:学院领导信息描述:每一位学院领导的具体信息定义:学院领导信息=编号 + 姓名 + 性别+职称+所属学院可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结名字:院系信息描述:每一个学院的具体信息定义:院系信息 =编号+院系名称名字:专业信息描述:每一位治理员的具体信息定义:专业信息= 编号 + 姓名 + 所属院系可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结名字:课程信息描述:每一门课程的具体信息定义:课程信息=课程号 + 课程名 + 课程性质名字:班
11、主任信息描述:每一位班主任的具体信息定义:班主任信息 =编号 +姓名 +性别 +所属学院 +所属专业名字:同学信息描述:每一位同学的具体信息定义:同学信息=学号 +姓名 +性别 + 专业+院系 +班级名字:老师信息描述:每一位老师的具体信息定义:老师信息=编号 +姓名 +性别 +所属院系名字:班级信息描述:每一个班级的具体信息定义:班级信息= 编号 + 班级名称 + 班主任名字:请假条信息描述:每一请假条的具体信息定义:请假条信息=请假代号 +班级代号+ 同学学号 + 请假缘由 +开头时间 +终止时间 + 请假天数 + 申请请假时间 +班主任审批状态 + 班主任审批时间+ 院系领导审批状态 +
12、院系领导代号+院系领导审批时间可编辑资料 - - - 欢迎下载精品名师归纳总结6. 数据库表的规律结构设计(1)系统治理员表 admin可编辑资料 - - - 欢迎下载精品名师归纳总结字段名数据类型可否为空键引用备注admin_nochar5否主键治理员编号admin_namechar10否治理员姓名admin_sexchar2否性别admin_titlechar20否职称admin_passwordvarchar220否登入密码(2)同学表 student字段名数据类型可否为空键引用备注stu_nochar10否主键同学学号stu_namevarchar30否同学姓名stu_sexchar2
13、否性别stu_classchar13否外键所属班级stu_majorchar30否外键所属专业stu_facultychar40否外键所属学院(3)院系表 faculty字段名数据类型可否为空键引用备注faculty_idnumber否主键院系编号faculty_namechar20否院系名称(4)专业表 major字段名数据类型可否为空键引用备注major_idnumber否主键专业编号major_namechar20否专业名称major_facultynumber否外键所属院系(5)老师表 teacher字段名数据类型可否为空键引用备注tea_nochar10否主键任课老师编号tea_na
14、mechar20否任课老师姓名tea_sexchar2否性别tea_facultynumber否外键所属学院(6)班主任表 classteacher字段名数据类型可否为空键引用备注classtea_nochar5否主键任课老师编号classtea_namechar20否任课老师姓名classtea_sexchar2否性别classtea_majornumber否外键所属专业classtea_facultynumber否外键所属学院(7)院领导表 collegeleader字段名数据类型可否为空键引用备注collegeleader_nochar5否主键学院领导编号collegeleader_na
15、mechar20否学院领导姓名可编辑资料 - - - 欢迎下载精品名师归纳总结collegeleader_sexchar2否性别collegeleader_facultynumber否外键所属学院titlechar20否职称(8)学校领导表 schoolleader字段名数据类型可否为空键引用备注schoolleader_nochar5否主键学校领导编号schoolleader_namechar20否学校领导姓名schoolleader_sexchar2否性别deptchar20否所属部门titlechar25否职称(9)同学上课出勤记录表kaoqin_record字段名数据类型可否为空键引用
16、备注kaoqin_idchar13否主键上课出勤编号sk_timedatetime否上课时间stu_numberchar10否外键同学学号stu_statuschar10否同学上课考勤状态teacher_nochar10否外键老师编号course_nochar13否外键课程编号(10)课程信息表 course字段名数据类型可否为空键引用备注course_nochar13否主键课程编号course_namechar20否课程名称course_xzchar4否课程性质(11)班级表 classes字段名数据类型可否为空键引用备注class_nochar10否主键课程编号class_namechar
17、20否课程名称classtea_nochar5否外键课程性质(12)请假信息表 qingjia字段名数据类型可否为空键引用备注idnumber否主键请假代号class_idchar10否外键班级代号stu_novarchar2 20否外键同学学号leave_reasonvarchar2 200否请假缘由start_timedatetime否开头时间end_timedatetime否终止时间可编辑资料 - - - 欢迎下载精品名师归纳总结day_numbernumber否请假天数qingjia_timedatetime否申请请假时间class_tea_idchar5否外键class_tea_sp
18、_statuschar10否班主任审批状态class_tea_sp_timedatetime否班主任审批时间coll_leader_sp_statchar10否院系领导审批状态us coll_leader_idchar5否外键院系领导代号coll_leader_sp_timedatetime否院系领导审批时间备注: status 表示审批状态: 0 为等待审批, 1 为同意请假, 2 为不同意请假。7. 数据库表空间和表设计(1) 设计表空间创建一般的字典治理类表空间,目的是为了便利利用SQL 字典跟踪磁盘的使用情形。使用如下命令创建表空间:create tablespace linpeng_
19、datadatafile /u01/oracle/oradata/tab01.dbf size 100Mdefault storageinitial 512K next 128K minextents 2 maxextents 999 pctincrease 0 online 。(2) 创建表1、创建系统治理员表admincreate table admin admin_no char5 not null,admin_name char10 not null,admin_sex char2 check admin_sex= 男 or admin_sex= 女, admin_title char
20、20 not null,admin_password varchar20 not null, constraint pk_admin primary key admin_notablespace linpeng_data。2、同学表 student create table studentstu_no char10 not null, stu_name varchar30 not null,stu_sex char2 check stu_sex=男 or stu_sex=女,可编辑资料 - - - 欢迎下载精品名师归纳总结stu_class char5 foreign key referenc
21、es classesclass_no, stu_major number foreign key references majormajor_id, stu_faculty number foreign key references facultyfaculty_id, constraint pk_student primary keystu_notablespace linpeng_data。3、院系表 faculty create table faculty faculty_id number not null, faculty_name char10 not null,constrain
22、t pk_faculty primary key faculty_idtablespace linpeng_data。4、专业表 major create table major major_id number not null, major_name char10 not null,major_faculty number foreign key references facultyfaculty_id, constraint pk_major primary key major_idtablespace linpeng_data。5、老师表 teacher create table tea
23、chertea_no char10 not null, tea_name char20 not null,tea_sex char2 check tea_sex=男 or tea_sex=女,tea_faculty number foreign key references facultyfaculty_id, constraint pk_teacher primary key tea_notablespace linpeng_data。6、班主任表classteacher create table classteacher可编辑资料 - - - 欢迎下载精品名师归纳总结classtea_no
24、 char5 not null, classtea_name char20 not null, classtea_sex char2 check classtea_sex=男 or classtea_sex=女,可编辑资料 - - - 欢迎下载精品名师归纳总结classtea_major number foreign key references majormajor_id,classtea_faculty number foreign key references facultyfaculty_id, constraint pk_classteacher primary key classt
25、ea_notablespace linpeng_data。可编辑资料 - - - 欢迎下载精品名师归纳总结7、院领导表collegeleadercreate table collegeleader collegeleader_no char5 primary key, collegeleader_name char20 not null,collegeleader_sex char2 checkcollegeleader_sex in 男,女,collegeleader_faculty number foreign key references facultyfaculty_id, title
26、 char20 not nulltablespace linpeng_data。8、学校领导表 schoolleadercreate table schoolleader schoolleader_no char5 primary key not null, schoolleader_name char20 not null,schoolleader_sex char2 checkschoolleader_sex in 男,女,dept char20 not null, title char20 not nulltablespace linpeng_data。9、同学上课出勤记录表kaoqin
27、_recordcreate table kaoqin_record kaoqin_id char13 primary key not null, sk_time datetime not null,stu_number char10 foreign key references studentstu_no, stu_status char10 not null,teacher_no char10 foreign key references teachertea_no,course_no char13 foreign key references coursecourse_notablespa
28、ce linpeng_data。10、课程信息表 course create table coursecourse_no char13 primary key, course_name char20 not null, course_xz char4 not nulltablespace linpeng_data。11、班级表 classes create table classesclass_no char10 primary key, class_name char20 not null,可编辑资料 - - - 欢迎下载精品名师归纳总结classtea_no char5 foreign k
29、ey references classteacherclasstea_notablespace linpeng_data。12、请假信息表 qingjia create table qingjiaid number primary key,class_id char10 foreign key references classesclass_no, stu_no char10 foreign key references studentstu_no, leave_reason varchar2200 not null,start_time datetime not null, end_time
30、 datetime not null, day_number nubmer not null, qingjia_time datetime not null,class_tea_id char5 foreign key references classteacherclasstea_no, class_tea_sp_status char10,class_tea_sp_time datetime, coll_leader_sp_status char10,coll_leader_id char5 foreign key references collegeleadercollegeleader
31、_no,coll_leader_sp_time datetimetablespace linpeng_data。(3) 创建其它数据库对象1、创建储备过程用于统计同学查询某门课程的出勤情形create or replace procedure getMessagestu_no in varchar2, course_no in varchar2, total_times out numberasabsence_times number。beginselectcount*intoabsence_timesfromkaoqin_recordwherestu_number=stu_noand cou
32、rse_no=course_no。total_times=absence_times。end。2、创建视图,使不同院系的领导只能查询到自己学院同学上课的考勤信息,假设软学院的ID 为 5,以下代码为创建一个用于给软件学院领导查看本学院同学考勤信息的视图。create view rjxy asselect kaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_sta tus,kaoqin_record.teacher_no,kaoqin_record.course_nofr
33、omkaoqin_record,studentwhere student.stu_no=kaoqin_record.stu_number and student.stu_faculty=5 。3、创建触发器,当某同学某课程的缺勤次数超过肯定次数时给出提示信息create or replace trigger alertMessage可编辑资料 - - - 欢迎下载精品名师归纳总结after insert on kaoqin_record for each row declarecurrent_times number 。beginselect count* into current_times
34、 from kaoqin_record where stu_number=:new.stu_number and course_no=:new.course_no。ifcurrent_times = 3 thendbms_output.put_line 学号为: | :new.stu_number | 的同学该门课程被取消考试资格!。end if 。end。7. 心得体会通过本次 Oracle 数据库课程设计,将本学期所学的Oracle 学问及数据库基础方面的学问得到了一综合性的应用,使我基本把握了在软件工程的开发过程中数据库设计的基本流程,从需求分析到数据库的规律结构设计,再到数据库的物理结构设计等。为了提高系统的效率和牢靠性,一些比较关键的功能都采纳储备过程或函数封装在数据库端,在其它程序设计语言中直接调用。8. 参考文献1 王永贵 Oracle 数据库治理与应用中国矿业高校出版社2 赵文涛,数据库系统原理,中国矿业高校出版社,200620213 安葳鹏,软件工程,中国矿业高校出版社,20074 张晓东 , JSP+Oracle 数据库开发与实例,清华 高校出版社20215 向隅编数据库基础及应用邮电高校 出版社 2021可编辑资料 - - - 欢迎下载