oracle数据库课程设计报告-学生考勤系统

时间:2024.4.20

数据库管理与维护

设计报告

题    目:    学生考勤系统     

学    号:     131006406       

学生姓名:      关文飞          

指导教师:     余建国          

提交时间:     20##-11-21      


  目录

第1章 需求分析............................................................................................................ 1

1.1 需求调查.......................................................................................................... 1

1.2 系统功能分析..................................................................................................... 2

1.3 面对用户需求分析.............................................................................................. 3

第2章 面向对象分析和设计........................................................................................... 4

第3章 逻辑结构设计..................................................................................................... 8

3.1 类和对象向关系模式转换................................................................................ 10

3.2 关系模式优化.................................................................................................. 11

第4章 数据库物理结构设计......................................................................................... 11

4.1 存取方法设计................................................................................................... 11

4.2 存储结构设计.................................................................................................. 11

4.3 物理设计........................................................................................................ 12

第5章 数据库完整性设计............................................................................................ 15

5.1 主键及唯一性索引............................................................................................ 15

5.2 参照完整性设计................................................................................................ 16

5.3 Check约束...................................................................................................... 17

5.4 Default约束.................................................................................................. 17

5.5 触发器设计....................................................................................................... 17

第6章 数据库视图设计.................................................................................................. 19

第7章 数据库存储过程设计........................................................................................... 20

第8章 权限设计............................................................................................................ 22

总结............................................................................................................................... 22

参考文献:..................................................................................................................... 23



学生考勤系统的Oracle实现

第1章 需求分析

随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。

目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高校管理中暴露了不可避免的弊端:

1、学生请假不方便;

2、学生请假对任课老师不透明;

3、学生对自己整个学期的上课出勤情况没有整体的统计信息;

4、班主任对本班学生整个学期的上课出勤情况不易查看;

5、院系领导、学校领导不容易把握学生上课的出勤情况。

因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。

 1.2 系统功能分析

根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。

1.2.1 请假系统模块

本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。

1.2.2 考勤系统模块

本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。

1.2.3 后台管理管理

本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。

1.3 面对用户需求分析

 通过对各个用户的调查,该教务管理系统有如下需求:

1、学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。

2、在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。

3、查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理与应用”这门课程在整个学期请假、旷课多少次等信息。

4、任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。

5、管理学生上课出勤需求:随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。

6、查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。

7、审批学生请假需求:本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行学生请假审批。

8、查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信息。

1.3.1学生考勤系统的E-R模型

第2章 数据字典设计

第3章 逻辑结构设计

(1)系统管理员表admin

(2)学生表student

(3)院系表faculty

(4)专业表major

(5)教师表teacher

(6)班主任表classteacher

(7)院领导表collegeleader

(8)学校领导表schoolleader

(9)学生上课出勤记录表kaoqin_record

(10)课程信息表course

(11)班级表classes

(12)请假信息表qingjia

备注:status 表示审批状态:0为等待审批,1为同意请假,2为不同意请假。

3.1 类和对象向关系模式转换

管理员信息

描述:每一位管理员的具体信息(编号 姓名 性别 职称 密码)

学院领导信息

描述:每一位学院领导的具体信息(编号 姓名 性别 职称 所属学院)

院系信息

描述:每一个学院的具体信息(编号 院系名称) 

专业信息

描述:每一位管理员的具体信息(编号 姓名 所属院系)

课程信息

描述:每一门课程的具体信息(课程号 课程名 课程性质)

教师信息

描述:每一位教师的具体信息(编号 姓名 性别 所属院系)

班主任信息

描述:每一位班主任的具体信息(编号 姓名 性别 所属学院 所属专业)

班级信息

描述:每一个班级的具体信息(编号 班级名称 班主任)

学生信息

描述:每一位学生的具体信息(学号 姓名 性别 专业 院系 班级)

请假条信息

描述:每一请假条的具体信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)

3.2 关系模式优化

学生信息(学号 姓名 性别 专业 院系 班级)

班主任信息(编号 姓名 性别 所属学院 所属专业)

课程信息(课程号 课程名 课程性质)

专业信息(编号 姓名 所属院系)

请假条信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)

第4章 数据库物理结构设计

4.1 设计表空间

创建一般的字典管理类表空间,目的是为了方便利用SQL字典跟踪磁盘的使用情况。

使用如下命令创建表空间:

create tablespace linpeng_data

datafile ‘/u01/oracle/oradata/tab01.dbf’ size 100M

default storage(initial 512K next 128K minextents 2 maxextents 999 pctincrease 0)

online;

4.2 物理设计-创建表

4.2.1创建系统管理员表admin

create 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;

4.2.2 学生表student

create 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;

4.2.3 院系表faculty

create table faculty

(

       faculty_id number not null,

       faculty_name char(10) not null,

       constraint pk_faculty primary key (faculty_id)

)

tablespace linpeng_data;

4.2.4 专业表major

create 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)

)

tablespace linpeng_data;

4.2.5 教师表teacher

create 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;

4.2.6 班主任表classteacher

create 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;

4.2.7 院领导表collegeleader

create 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;

4.2.8 学校领导表schoolleader

create 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

)

tablespace linpeng_data;

4.2.9 学生上课出勤记录表kaoqin_record

create 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;

4.2.10 课程信息表course

create table course

(

       course_no char(13) primary key,

       course_name char(20) not null,

       course_xz char(4) not null

)

tablespace linpeng_data;

4.2.11 班级表classes

create 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;

4.2.12请假信息表qingjia

create 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,

       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;

第5章 数据库完整性设计

5.1 创建存储过程用于统计学生查询某门课程的出勤情况

create or replace procedure getMessage(stu_no in varchar2, course_no in varchar2, total_times out number)

as

 absence_times number;

begin

 select count(*) in to absence_times from kaoqin_record where stu_number=stu_no and course_no=course_no;

 total_times=absence_times;

end;

5.2 创建视图,使不同院系的领导只能查询到自己学院学生上课的考勤信息,假设软学院的ID为5,以下代码为创建一个用于给软件学院领导查看本学院学生考勤信息的视图。

create view rjxy as

 select kaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_no from kaoqin_record,student where student.stu_no=kaoqin_record.stu_number and student.stu_faculty=5;

5.3 创建触发器,当某学生某课程的缺勤次数超过一定次数时给出提示信息

create or replace trigger alertMessage

after insert on kaoqin_record for each row

declare

 current_times number;

begin

 select count(*) into current_times from kaoqin_record where stu_number=:new.stu_number and course_no=:new.course_no;

 if(current_times >= 3) then

  dbms_output.put_line('学号为:' || :new.stu_number || '的学生该门课程被取消考试资格!');

 end if;

end;

总结

这次课程设计,完成课题是《教务管理系统》,在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。

    通过本次Oracle数据库课程设计,将本学期所学的Oracle知识及数据库基础方面的知识得到了一综合性的应用,使我基本掌握了在软件项目的开发过程中数据库设计的基本流程,从需求分析到数据库的逻辑结构设计,再到数据库的物理结构设计等。

为了提高系统的效率和可靠性,一些比较关键的功能都采用存储过程或函数封装在数据库端,在其它程序设计语言中直接调用。

最后,感谢余老师在这次课程设计中给予我支持和帮助。

参考文献:

[1] 王永贵.《Oracle数据库管理与应用》.中国矿业大学出版社.2009

[2] 赵文涛,数据库系统原理,中国矿业大学出版社,2006

[3] 安葳鹏,软件工程,中国矿业大学出版社,2007

[4] 张晓东 ,JSP+Oracle数据库开发与实例, 清华 大学出版社 2008

[5] 向隅编  数据库基础及应用   邮电大学 出版社 2008


《数据库管理与维护设计》报告评分标准

更多相关推荐:
Oracle数据库系统-课程设计文档

Oracle数据库系统20xx年秋季学期第17周课程设计116课程设计名称Oracle数据库系统课程设计课程名称Oracle数据库系统课程编号COM课程学时40课程学分2课程设计教学目的及基本要求1掌握Orac...

Java oracle数据库课程设计报告

南阳理工学院数据库程序设计课程设计报告课题姓名学号同组姓名专业班级指导教师设计时间20xx年6月目录1开发背景32系统描述33数据分析431数据流图432数据字典44概念模型设计941ER图95逻辑模型设计及优...

Oracle数据库课程设计报告

存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称Oracle11g数据库基础教程题目图书管理系统分院电信分院专业班级电子商务1班学号***学生姓名***指导教师付念20XX年12月20日 …

oracle数据库课程设计

电气与信息工程学院数据库开发技术课程设计设计题目学生考勤系统年级专业10级计算机科学与技术组长小组成员XXXXXXX指导教师XXXX完成日期20xx年6月28日学生考勤系统I摘要本系统阐述了考勤系统的设计开发的...

Oracle数据库课程设计——Oracle实现

Oracle数据库课程设计报告姓名班级学号完成日期指导教师江西理工大学软件学院目录1学生考勤管理系统背景分析32学生考勤管理系统需求分析321用户需求描述3221学生用户需求描述3222任课老师用户需求描述42...

Oracle数据库课程设计

数据库课程设计报告题目院系专业班级学生姓名学号指导教师年月目录第一节概述1课题32背景说明33编写目的34软件定义35开发环境3数据库设计步骤第二节需求分析1分析的重要性42需求分析的任务和过程43数据流程图5...

Java_数据库课程设计报告

数据库程序设计课程设计报告课题学生成绩管理系统姓名学号同组姓名专业班级网工09102指导教师设计时间20xx年9月目录1开发背景32系统描述33数据分析431数据流图432数据字典44概念模型设计941ER图9...

Oracle课程设计

目录第一节概述1课题32背景说明33编写目的34软件定义35开发环境3数据库设计步骤第二节需求分析分析的重要性4需求分析的任务和过程4数据流程图5数据字典5第三节概念结构设计实体和属性之间的关系7ER图7第四节...

大型数据库-Oracle课程设计

实验报告学院部管理学院实验室信息中心课程名称Oracle数据库管理学生姓名学号专业信息管理教务处制二012年05月23日Oracle实验报告第1页第2页第3页第4页第5页第6页

oracle课程设计指导书

Oracle及其编程技术课程设计指导书黑龙江东方学院20xx06学时数2周适用专业计算机科学与技术软件工程方向开设学期6实践类别实训课程设计实习课程设计课程设计目的课程设计是教学活动中的一项重要内容是完成教学计...

Oracle数据库课程设计——学生考勤系统的Oracle实现1

辽宁工程技术大学Oracle数据库课程设计报告学生考勤系统姓名班级学号完成日期指导教师XXXX辽宁工程技术大学软件学院目录1学生考勤管理系统背景分析32学生考勤管理系统需求分析321用户需求描述3221学生用户...

oracle课程设计任务书(樊)

Oracle数据库课程设计任务书一课程设计时间安排二Oracle数据库课程设计目的与要求1目的通过课程设计让学生进一步复习巩固所学的数据库的基本概念基本原理进一步掌握数据库设计的方法与技术等理论学生通过该课程设...

oracle数据库课程设计报告(12篇)