版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作者:Pan Hon glia ng仅供个人学习辽宁工程技术大学Oracle数据库课程设计报告学生考勤系统姓名:XXXXX班级:计SJ08-1班学 号:0820980113完成日期: 2009-12-29指导教师:XXXX辽宁工程技术大学软件学院目录1学生考勤管理系统背景分析.4.2学生考勤管理系统需求分析4.2.1用户需求描述4.学生用户需求描述 4.任课老师用户需求描述 5.班主任用户需求描述 5.院系领导用户需求描述 5.学校领导用户需求描述 5.系统管理员用户需求描述 6.2.3功能需求描述 6.2.4系统功能划分 6.请假系统模块 6.考勤系统模块6.后台管理管理7.3学生考勤系统的
2、E-R模型7.4数据字典设计8.5数据库表的逻辑结构设计8.6数据库表空间和表设计 1.16.1、设计表空间 1.16.2、创建表1.16.3、创建其它数据库对象 147心得体会158参考文献15Oracle数据库课程设计学生考勤系统的Oracle实现1学生考勤管理系统背景分析随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。 如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系 统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。
3、目前高校学生上课考勤管理都是以任课老师上课点名, 记录学生上课情况,对于时间比 较长的请假,需要通过递交请假申请让班主任、 院系领导都批准方能生效。这种模式在目前 高校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明;3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。 本系统涉及到高校六大类用户: 学生、任课老师、班主任、院系领导
4、、学校领导、系统管理员。2学生考勤管理系统需求分析2.1用户需求描述用户是系统的最终使用者,根据分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:学生用户需求描述学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。 在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理与应用”这门课程在整个学期请假、旷课多少次等信息。其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓
5、 名、性别等,以及修改个人用户密码。任课老师用户需求描述任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学 生的上课出勤信息。管理学生上课出勤需求: 随着时间的变化,自动列出还没有在网上公布的学生上课出勤 信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。其它需求:本人基本信息以及修改个人用户密码。班主任用户需求描述班主任对本系统的主要需求是:审批本班学生本学期的在线请假以及查看本班学生本学 期所有课程的上课出勤信息。审批学生请假需求:本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班
6、主任针对请假申请信息进行学生请假审批。查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信 息。其它需求:查看本班学生的基本信息、修改个人用户密码等。院系领导用户需求描述院系领导对系统的主要需求是:审批本院系学生超过三天的请假以及查看本院系学生上 课出勤信息。审批请假需求:当学生请超过三天的假,经班主任审批同意后, 系统自动提交给任何一个进入系统的院系领导审批请假。查看本院系学生出勤信息需求:输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。其它需求:查看本院系有关基本信息以及修改个人用户密码等。学校领导用户需求描述学校领导对系统的主要需求是:查看全校学
7、生上课出勤信息。查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤 信息。其它需求:查看有关全校的基本信息以信修改个人用户密码等。系统管理员用户需求描述系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:1、管理学校各院系、年级、专业、班级的添加、删除、修改等。2、管理每个学期每个班级的课程安排及指定班主任和任课老师。3、管理系统所有用户。4、管理全校课表安排。5、管理系统的请假、考勤信息。2.3功能需求描述根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三 大主要功能。请假系统
8、功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过1个月,特殊情况除外。考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成, 然而每学年课表都在变化, 班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。2.4系统功能划分根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管 理员。请假系统模块本模块的功能是在线请假的实现及管理
9、,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。后台管理管理本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。3学生考勤系统的E-R模型性别姓名名
10、称职称姓名所属学院所属院系性别所属专业学院学院领导聘请1班主任性别姓名班级1学号院系管理专业1nn属于学生班级属于班主任1所属学院n名称请假考勤n专业名称假条m课程教师授课原因学号姓名性别所属院系课程性质课程名课程号编号编号编号编号编号编号编号n1专业开设4数据字典设计名字描述定义管理员信息每一位管理员的具体信息管理员信息=编号+姓名+性别+职称+密码名字描述定义院系信息每一个学院的具体信息院系信息-编号+院系名称名字描述定义学院领导信息每一位学院领导的具体信息学院领导信息=编号+姓名+性别+职称+所属学院名字描述定义专业信息每一位管理员的具体信息专业信息=编号+姓名+所属院系名字:课程信息描
11、述:每一门课程的具体信息定义:课程信息=课程号+课程名+课程 性质名字:教师信息描述:每一位教师的具体信息定义:教师信息=编号+姓名+性别+所 属院系名字:班主任信息描述:每一位班主任的具体信息定义:班主任信息=编号+姓名+性别+ 所属学院+所属专业名字:班级信息描述:每一个班级的具体信息定义:班级信息=编号+班级名称+班主 任名字:学生信息描述:每一位学生的具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条的具体信息定义:请假条信息 =请假代号+班级代 号+学生学号+请假原因+开始 时间+结束时间+请假天数+申 请请假时间+班主任审批状态+ 班主任审批
12、时间 +院系领导审 批状态+院系领导代号+院系领 导审批时间5数据库表的逻辑结构设计(1)系统管理员表 admin字段名数据类型可否为空键引用备注adm in_nochar(5)否主键管理员编号admin _n amechar(10)否管理员姓名admin_sexchar(2)否性别adm in _titlechar(20)否职称adm in .passwordvarchar2(20)否登入密码(2)学生表 student字段名数据类型可否为空键引用备注stu_ nochar(10)否主键学生学号stu_ namevarchar(30)否学生姓名stu_sexchar(2)否性别stu_cla
13、sschar(13)否外键所属班级stu_majorchar(30)否外键所属专业stu_facultychar(40)否外键所属学院(3)院系表 faculty字段名数据类型可否为空键引用备注faculty_idnu mber否主键院系编号faculty_ namechar(20)否院系名称(4)专业表major字段名数据类型可否为空键引用备注major_idnu mber否主键专业编号major_ namechar(20)否专业名称major_facultynu mber否外键所属院系(5)教师表 teacher字段名数据类型可否为空键引用备注tea_ nochar(10)否主键任课老师编
14、号tea_ namechar(20)否任课老师姓名tea_sexchar(2)否性别tea_facultynu mber否外键所属学院(6 )班主任表 classteacher字段名数据类型可否为空键引用备注classtea_ nochar(5)否主键任课老师编号classtea_ namechar(20)否任课老师姓名classtea_sexchar(2)否性别classtea_majornu mber否外键所属专业classtea_facultynu mber否外键所属学院(7)院领导表 collegeleader字段名数据类型可否为空键引用备注collegeleader_ nochar(
15、5)否主键学院领导编号collegeleader_ namechar(20)否学院领导姓名collegeleader_sexchar(2)否性别collegeleader_facultynu mber否外键所属学院titlechar(20)否职称(8)学校领导表schoolleader字段名数据类型可否为空键引用备注schoolleader_ nochar(5)否主键学校领导编号schoolleader_ namechar(20)否学校领导姓名schoolleader_sexchar(2)否性别deptchar(20)否所属部门titlechar(25)否职称(9)学生上课出勤记录表kaoqi
16、n record字段名数据类型可否为空键引用备注kao qin_idchar(13)否主键上课出勤编号sk_timedatetime否上课时间stu_ nu mberchar(10)否外键学生学号stu_statuschar(10)否学生上课考勤状态teacher_ nochar(10)否外键教师编号course_ nochar(13)否外键课程编号(10)课程信息表course字段名数据类型可否为空键引用备注course_ nochar(13)否主键课程编号course_ namechar(20)否课程名称course_xzchar(4)否课程性质(11)班级表 classes字段名数据类型
17、可否为空键引用备注class_ nochar(10)否主键课程编号class_ namechar(20)否课程名称classtea_ nochar(5)否外键课程性质(12)请假信息表qi ngjia字段名数据类型可否为空键引用备注idnu mber否主键请假代号class_idchar(10)否外键班级代号stu_ novarchar2 (20)否外键学生学号leave_reas onvarchar2 (200)否请假原因start_timedatetime否开始时间en d_timedatetime否结束时间day_ nu mbernu mber否请假天数qin gjia_timedate
18、time否申请请假时间class_tea_idchar(5)否外键class_tea_sp_statuschar(10)否班主任审批状态class_tea_sp_timedatetime否班主任审批时间coll_leader_sp_statchar(10)否院系领导审批状态uscoll_leader_idchar(5)否外键院系领导代号coll_leader_sp_timedatetime否院系领导审批时间备注:status表示审批状态:0为等待审批,1为同意请假,2为不同意请假。6数据库表空间和表设计6.1、设计表空间创建一般的字典管理类表空间,目的是为了方便利用 SQL字典跟踪磁盘的使用情
19、况。 使用如下命令创建表空间:create tablespace linpen g_datadatafile /u01/oracle/oradata/tab01.dbf' size 100Mdefault storage(i ni tial 512K next 128K mi nexte nts 2 maxexte nts 999 pcti ncrease 0) on li ne;6.2、创建表1、 创建系统管理员表admincreate table admin(adm in_no char(5) not n ull,adm in_n ame char(10) not n ull,ad
20、min_sex char(2) check (admin_sex='男'or admin_sex='女'), admin_title char(20) n ot null,adm in _password varchar(20) not n ull,con stra int pk_adm in primary key (adm in_no)tablespace linpen g_data;2、学生表studentcreate table stude nt(stu_ no char(10) not nu II,stu_ name varchar(30) not n
21、 ull,stu_sex char(2) check (stu_sex='男'or stu_sex='女'),stu_class char(5) foreig n key references classes(class_ no), stu_major nu mber foreig n key refere nces major(major_id), stu_faculty nu mber foreig n key references faculty(faculty_id), con stra int pk_stude nt primary key(stu_
22、no)tablespace linpen g_data;3、院系表facultycreate table faculty(faculty_id nu mber not n ull,faculty_ name char(10) not n ull,con stra int pk_faculty primary key (faculty_id)tablespace linpen g_data;4、专业表 majorcreate table major(major_id nu mber not n ull,major_n ame char(10) not n ull,major_faculty nu
23、 mber foreig n key references faculty(faculty_id),con stra int pk_major primary key (major_id)tablespace linpen g_data;5、教师表teachercreate table teacher(tea_ no char(10) not n ull,tea_ name char(20) not n ull,tea_sex char(2) check (tea_sex='男'or tea_sex='女'), tea_faculty nu mber forei
24、g n key references faculty(faculty_id), con stra int pk_teacher primary key (tea_ no)tablespace linpen g_data;6、班主任表 classteachercreate table classteacher(classtea_ no char(5) not n ull,classtea_ name char(20) not n ull,classtea_sex char(2) check (classtea_sex' or。估$上68_$6乂=女'), classtea_maj
25、or nu mber foreig n key refere nces major(major_id), classtea_faculty nu mber foreig n key references faculty(faculty_id), con stra int pk_classteacher primary key (classtea_ no)tablespace linpen g_data;7、院领导表 collegeleadercreate table collegeleader(collegeleader_ no char(5) primary key,collegeleade
26、r_ name char(20) not n ull, collegeleader_sex char(2) check(collegeleader_sex in('男','女'), collegeleader_faculty nu mber foreig n key referen ces faculty(faculty_id), title char(20) not null)tablespace linpen g_data;8学校领导表schoolleadercreate table schoolleader(schoolleader_ no char(5)
27、 primary key not n ull,schoolleader_ name char(20) not n ull, schoolleader_sex char(2) check(schoolleader_sex in('男','女'), dept char(20) not null,title char(20) not null)tablespace linpen g_data;9、 学生上课出勤记录表kaoqin_recordcreate table kao qin _record(kao qin_id char(13) primary key not
28、 n ull,sk_time datetime not n ull,stu_ nu mber char(10) foreig n key references stude nt(stu_ no), stu_status char(10) not n ull,teacher_ no char(10) foreig n key references teacher(tea_ no), course_ no char(13) foreig n key references course(course_ no)tablespace linpen g_data;10、课程信息表 coursecreate
29、 table course(course_ no char(13) primary key,course_ name char(20) not nu II,course_xz char(4) not n ull)tablespace linpen g_data;11、班级表 classescreate table classes(class_ no char(10) primary key,class_ name char(20) not nu II,classtea_ no char(5) foreig n key references classteacher(classtea_ no)t
30、ablespace linpen g_data;12、请假信息表 qingjiacreate table qin gjia(id nu mber primary key,class_id char(10) foreig n key references classes(class_ no), stu_ no char(10) foreig n key references stude nt(stu_ no), leave_reas on varchar2(200) not nu II, start_time datetime not n ull, en d_time datetime not
31、n ull, day_ nu mber n ubmer not nu II, qin gjia_time datetime not nu II,class_tea_id char(5) foreig n 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) foreig n key references collegeleader(colle
32、geleader_ no), coll_leader_sp_time datetime)tablespace linpen g_data;6.3、创建其它数据库对象1、创建存储过程用于统计学生查询某门课程的出勤情况create or replace procedure getMessage(stu_ no in varchar2, course_ no in varchar2, total_times out nu mber) asabse nce_times nu mber;beginselect count(*) in to absence_times from kaoqin_record
33、 where stu_number=stu_no and course_ no=course_ no;total_times=abse nce_times;en d;2、创建视图,使不同院系的领导只能查询到自己学院学生上课的考勤信息,假设软学院的 ID为5,以下代码为创建一个用于给软件学院领导查看本学院学生考勤信息的视图。create view rjxy asselectkaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu _nu mber,kaoqin_record.stu_sta tus,kaoqin_record.
34、teacher_ no,kaoqin_record.course _nofromkao qin _record,stude ntwherestude nt.stu_ no=kao qin _record.stu_ nu mber and stude nt.stu_faculty=5;3、创建触发器,当某学生某课程的缺勤次数超过一定次数时给出提示信息create or replace trigger alertMessageafter in sert on kao qin _record for each row declarecurre nt_times nu mber;beginselect
35、 coun t(*) into curre nt_times from kao qin _record where stu_ nu mber =:n ew.stu_ nu mber and course_ no=:n ew.course_ no;if(curre nt_times >= 3) the ndbms_output.put_line('学号为:'| :new.stu_number |的学生该门课程被取消考试资格!');end if;en d;7心得体会通过本次Oracle数据库课程设计,将本学期所学的Oracle知识及数据库基础方面的知识得到了一综合性的
36、应用,使我基本掌握了在软件项目的开发过程中数据库设计的基本流程,从需求分析到数据库的逻辑结构设计,再到数据库的物理结构设计等。为了提高系统的效率和可靠性,一些比较关键的功能都采用存储过程或函数封装在数据 库端,在其它程序设计语言中直接调用。最后,感谢刘老师在这次课程设计中给予我支持和帮助。8参考文献1 王永贵.Oracle数据库管理与应用中国矿业大学出版社.20092 赵文涛,数据库系统原理,中国矿业大学出版社,20063 安葳鹏,软件工程,中国矿业大学出版社,20074 张晓东,JSP+Oracle数据库开发与实例,清华大学出版社2008向隅编数据库基础及应用邮电大学出版社2008版权申明本文部分内容,包括文字、图片、以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度农产品收购合同标的品质认证:1、客户产品安全4篇
- 二零二五年度海洋工程承包合同书范本4篇
- 2025年度绿色植物美化工程花卉租赁专项服务合同4篇
- 2025年智能家居门窗安装与系统集成合同范本3篇
- 2025年度军事设施专用柴油发电机采购合同4篇
- 二零二五版金融衍生品投资顾问服务合同3篇
- 2025年度城市轨道交通车辆维修保养合作协议3篇
- 二零二五版餐饮连锁兼职会计服务与管理协议2篇
- 2025年度出租车公司股份转让及经营管理合同书3篇
- 2025年度贵重珠宝首饰专业储藏室租赁协议3篇
- 人口老龄化背景下居民养老金融资产配置影响因素研究
- 2024项目部安全管理人员安全培训考试题及参考答案(模拟题)
- 《习近平法治思想概论(第二版)》 课件 2. 第二章 习近平法治思想的理论意义
- 期末综合试卷(试题)2024-2025学年人教版数学五年级上册(含答案)
- 2024ESC心房颤动管理指南解读-第一部分
- 旅游感知形象研究综述 论文
- 如何提高办文办会办事能力
- GB_T 37494-2019 粮油机械 轧坯机(高清版)
- 【校本教材】《身边的化学》高中化学校本课程
- 产后访视技术规范
- 《质量管理体系文件》试模打样通知单 (2)
评论
0/150
提交评论