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

上传人:laozhun 文档编号:2395009 上传时间:2023-02-17 格式:DOC 页数:17 大小:149KB
返回 下载 相关 举报
oracle数据库课程设计报告学生考勤系统.doc_第1页
第1页 / 共17页
oracle数据库课程设计报告学生考勤系统.doc_第2页
第2页 / 共17页
oracle数据库课程设计报告学生考勤系统.doc_第3页
第3页 / 共17页
oracle数据库课程设计报告学生考勤系统.doc_第4页
第4页 / 共17页
oracle数据库课程设计报告学生考勤系统.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《oracle数据库课程设计报告学生考勤系统.doc》由会员分享,可在线阅读,更多相关《oracle数据库课程设计报告学生考勤系统.doc(17页珍藏版)》请在三一办公上搜索。

1、数据库管理与维护设计报告题 目: 学生考勤系统 学 号: 131006406 学生姓名: 关文飞 指导教师: 余建国 提交时间: 2015-11-21 目录第1章需求分析11.1需求调查11.2 系统功能分析21.3 面对用户需求分析3第2章面向对象分析和设计4第3章逻辑结构设计83.1类和对象向关系模式转换103.2关系模式优化11第4章数据库物理结构设计114.1 存取方法设计114.2存储结构设计114.3物理设计12第5章数据库完整性设计155.1 主键及唯一性索引155.2 参照完整性设计165.3Check约束175.4Default约束175.5 触发器设计17第6章 数据库视图

2、设计19第7章 数据库存储过程设计20第8章 权限设计22总结22参考文献:23学生考勤系统的Oracle实现第1章需求分析随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种模式在目前高

3、校管理中暴露了不可避免的弊端:1、学生请假不方便;2、学生请假对任课老师不透明; 3、学生对自己整个学期的上课出勤情况没有整体的统计信息;4、班主任对本班学生整个学期的上课出勤情况不易查看;5、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。 1.2 系统功能分析根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、

4、班主任、院系领导、学校领导、系统管理员。1.2.1 请假系统模块本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。1.2.2 考勤系统模块本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。1.2.3 后台管理管理本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理

5、员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。1.3 面对用户需求分析 通过对各个用户的调查,该教务管理系统有如下需求:1、学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。2、在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。3、查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“Oracle数据库管理与应用”这门课程在整个学期请假、旷课多少次等信息。4、任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。5、管理学生上课出勤需求:随着时间的变化

6、,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。6、查看学生出勤信息需求:查看所教班级学生整个学期出勤情况。7、审批学生请假需求:本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行学生请假审批。8、查看学生上课出勤信息需求:查看本班学生整个学期有关课程的出勤统计信息及详细信息。1.3.1学生考勤系统的E-R模型n1n1nmn1n1m1nnn1教师班级学生学院领导学院专业课程假条开设考勤属于属于授课聘请班主任管理请假学号姓名性别班级专业院系编号名称编号专业名称所属学院编号姓名性别所属院系课程号课程名课程

7、性质编号名称编号姓名性别所属院系职称编号姓名性别所属专业所属学院班主任编号学号原因第2章 数据字典设计名字:管理员信息描述:每一位管理员的具体信息定义:管理员信息=编号+姓名+性别+职称+密码名字:学院领导信息描述:每一位学院领导的具体信息定义:学院领导信息=编号+姓名+性别+职称+所属学院名字:院系信息描述:每一个学院的具体信息定义:院系信息=编号+院系名称名字:专业信息描述:每一位管理员的具体信息定义:专业信息=编号+姓名+所属院系名字:课程信息描述:每一门课程的具体信息定义:课程信息=课程号+课程名+课程性质名字:教师信息描述:每一位教师的具体信息定义:教师信息=编号+姓名+性别+所属院

8、系名字:班级信息描述:每一个班级的具体信息定义:班级信息=编号+班级名称+班主任名字:班主任信息描述:每一位班主任的具体信息定义:班主任信息=编号+姓名+性别+所属学院+所属专业名字:学生信息描述:每一位学生的具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条的具体信息定义:请假条信息=请假代号+班级代号+学生学号+请假原因+开始时间+结束时间+请假天数+申请请假时间+班主任审批状态+班主任审批时间+院系领导审批状态+院系领导代号+院系领导审批时间第3章逻辑结构设计(1)系统管理员表admin字段名数据类型可否为空键引用备注admin_nochar(5)

9、否主键管理员编号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字段名数据类型可否为空键引用备注fa

10、culty_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字段名数据类型可否为空键引用备注classt

11、ea_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(2

12、0)否职称(8)学校领导表schoolleader字段名数据类型可否为空键引用备注schoolleader_nochar(5)否主键学校领导编号schoolleader_namechar(20)否学校领导姓名schoolleader_sexchar(2)否性别deptchar(20)否所属部门titlechar(25)否职称(9)学生上课出勤记录表kaoqin_record字段名数据类型可否为空键引用备注kaoqin_idchar(13)否主键上课出勤编号sk_timedatetime否上课时间stu_numberchar(10)否外键学生学号stu_statuschar(10)否学生上课考勤

13、状态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否主键请假代号c

14、lass_idchar(10)否外键班级代号stu_novarchar2 (20)否外键学生学号leave_reasonvarchar2 (200)否请假原因start_timedatetime否开始时间end_timedatetime否结束时间day_numbernumber否请假天数qingjia_timedatetime否申请请假时间class_tea_idchar(5)否外键class_tea_sp_statuschar(10)否班主任审批状态class_tea_sp_timedatetime否班主任审批时间coll_leader_sp_statuschar(10)否院系领导审批状态c

15、oll_leader_idchar(5)否外键院系领导代号coll_leader_sp_timedatetime否院系领导审批时间备注:status 表示审批状态:0为等待审批,1为同意请假,2为不同意请假。3.1类和对象向关系模式转换管理员信息描述:每一位管理员的具体信息(编号 姓名 性别 职称 密码)学院领导信息描述:每一位学院领导的具体信息(编号 姓名 性别 职称 所属学院)院系信息描述:每一个学院的具体信息(编号 院系名称) 专业信息描述:每一位管理员的具体信息(编号 姓名 所属院系)课程信息描述:每一门课程的具体信息(课程号 课程名 课程性质)教师信息描述:每一位教师的具体信息(编号

16、 姓名 性别 所属院系)班主任信息描述:每一位班主任的具体信息(编号 姓名 性别 所属学院 所属专业)班级信息描述:每一个班级的具体信息(编号 班级名称 班主任)学生信息描述:每一位学生的具体信息(学号 姓名 性别 专业 院系 班级)请假条信息描述:每一请假条的具体信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)3.2关系模式优化学生信息(学号 姓名 性别 专业 院系 班级)班主任信息(编号 姓名 性别 所属学院 所属专业)课程信息(课程号 课程名 课程性质)专业信息(编

17、号 姓名 所属院系)请假条信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)第4章数据库物理结构设计4.1 设计表空间创建一般的字典管理类表空间,目的是为了方便利用SQL字典跟踪磁盘的使用情况。使用如下命令创建表空间:create tablespace linpeng_datadatafile /u01/oracle/oradata/tab01.dbf size 100Mdefault storage(initial 512K next 128K minextents 2

18、maxextents 999 pctincrease 0)online;4.2 物理设计-创建表4.2.1 创建系统管理员表admincreate 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_n

19、o)tablespace linpeng_data;4.2.2 学生表studentcreate 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 f

20、oreign key references faculty(faculty_id),constraint pk_student primary key(stu_no)tablespace linpeng_data;4.2.3 院系表facultycreate 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 专业表majorcreate table m

21、ajor(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 教师表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_sex char(2) check

22、(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 班主任表classteachercreate table classteacher(classtea_no char(5) not null,classtea_name char(20) not null,classtea_sex char(2) check (classtea_s

23、ex=男 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 院领导表collegeleadercreate table collegeleader(collegeleader_no char(

24、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 学校领导表schoolleadercreate table schoolleader(schoolleader_no char(

25、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_recordcreate table kaoqin_record(kaoqin_id char(13) primary key not null,sk_time datetime n

26、ot 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 课程信息表coursecreate table course(course_no char(13) prima

27、ry key,course_name char(20) not null,course_xz char(4) not null)tablespace linpeng_data;4.2.11 班级表classescreate 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请假信息表qingjiacreat

28、e 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 nul

29、l,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章数据库完整性设

30、计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

31、 创建视图,使不同院系的领导只能查询到自己学院学生上课的考勤信息,假设软学院的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=kao

32、qin_record.stu_number and student.stu_faculty=5;5.3 创建触发器,当某学生某课程的缺勤次数超过一定次数时给出提示信息create or replace trigger alertMessageafter insert on kaoqin_record for each rowdeclare current_times number;begin select count(*) into current_times from kaoqin_record where stu_number=:new.stu_number and course_no=:

33、new.course_no; if(current_times = 3) then dbms_output.put_line(学号为: | :new.stu_number | 的学生该门课程被取消考试资格!); end if;end;总结这次课程设计,完成课题是教务管理系统,在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。 通过本次Oracle数据库课程设计,将本学期所学的Oracle知识及数据库基础方面

34、的知识得到了一综合性的应用,使我基本掌握了在软件项目的开发过程中数据库设计的基本流程,从需求分析到数据库的逻辑结构设计,再到数据库的物理结构设计等。为了提高系统的效率和可靠性,一些比较关键的功能都采用存储过程或函数封装在数据库端,在其它程序设计语言中直接调用。最后,感谢余老师在这次课程设计中给予我支持和帮助。参考文献:1 王永贵Oracle数据库管理与应用中国矿业大学出版社20092 赵文涛,数据库系统原理,中国矿业大学出版社,20063 安葳鹏,软件工程,中国矿业大学出版社,20074 张晓东 ,JSP+Oracle数据库开发与实例,清华大学出版社 20085 向隅编 数据库基础及应用 邮电

35、大学出版社 2008数据库管理与维护设计报告评分标准选题及功能设计选题合理,功能简单 (D)有一定的工作量和实用价值 (C)功能设计丰富,有一定的难度系数 (B)功能设计合理全面,能体现数据库的存储和整理数据的功能 (A)数据表和数据量具备基本的数据表,数据量较少,但能够实现系统基本需要 (D)具备基本的数据表,数据量适中,实现了一定的数据完整性 (C) 有多个数据表,数据量适中,有完善的数据完整性(B) 有多个数据表,数据量充足,具有较强的数据安全性和数据完整性 (A)数据库对象具备基本的数据表,有主外键约束 (D)创建了若干种的数据库对象,并加以利用 (C) 在实际应用中合理利用了各类数据库对象 (B)具有身份验证、数据备份等较复杂的数据管理功能(A)功能实现利用存储过程实现了各种查询功能 (D)除查询功能,还实现了各种数据操作功能 (C)在上一条基础上,还实现了数据统计汇总功能 (B)合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能 (A)设计报告完成设计报告,阐述了系统功能,结构较完整 (D)开题报告反映设计思路,结构完整,格式较规范 (C)报告内容完整,图表使用准确,格式清晰,功能描述详尽 (B)报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程 (A)教师签字:总评成绩:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号