




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库管理与维护设计报告题 目: 学生考勤系统 学 号: 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章 数据库视图设计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模型n1n1nmn1n1m1nnn1教师班级学生学院领导学院专业课程假条开设考勤属于属于授课聘请班主任管理请假学号姓名性别班级专业院系编号名称编号专业名称所属学院编号姓名性别所属院系课程号课程名课程性质编号名称编号姓名性别所属院系职称编号姓名性别所属专业所属学院班主任编号学号原因第2章 数据字典设计名字:管理员信息描述:每一位管理员的具体信息定义:管理员信息=编号+姓名+性别+职称+密码名字:学院领导信息描述:每一位学院领导的具体信息定义:学院领导信息=编号+姓名+性别+职称+所属学院名字:院系信息描述:每一个学院的具体信息定义:院系信息=编号+院系名称名字:专业信息描述:每一位管理员的具体信息定义:专业信息=编号+姓名+所属院系名字:课程信息描述:每一门课程的具体信息定义:课程信息=课程号+课程名+课程性质名字:教师信息描述:每一位教师的具体信息定义:教师信息=编号+姓名+性别+所属院系名字:班级信息描述:每一个班级的具体信息定义:班级信息=编号+班级名称+班主任名字:班主任信息描述:每一位班主任的具体信息定义:班主任信息=编号+姓名+性别+所属学院+所属专业名字:学生信息描述:每一位学生的具体信息定义:学生信息=学号+姓名+性别+专业+院系+班级名字:请假条信息描述:每一请假条的具体信息定义:请假条信息=请假代号+班级代号+学生学号+请假原因+开始时间+结束时间+请假天数+申请请假时间+班主任审批状态+班主任审批时间+院系领导审批状态+院系领导代号+院系领导审批时间第3章逻辑结构设计(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_timedatetime否上课时间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_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)否院系领导审批状态coll_leader_idchar(5)否外键院系领导代号coll_leader_sp_timedatetime否院系领导审批时间备注:status 表示审批状态:0为等待审批,1为同意请假,2为不同意请假。3.1类和对象向关系模式转换管理员信息描述:每一位管理员的具体信息(编号 姓名 性别 职称 密码)学院领导信息描述:每一位学院领导的具体信息(编号 姓名 性别 职称 所属学院)院系信息描述:每一个学院的具体信息(编号 院系名称) 专业信息描述:每一位管理员的具体信息(编号 姓名 所属院系)课程信息描述:每一门课程的具体信息(课程号 课程名 课程性质)教师信息描述:每一位教师的具体信息(编号 姓名 性别 所属院系)班主任信息描述:每一位班主任的具体信息(编号 姓名 性别 所属学院 所属专业)班级信息描述:每一个班级的具体信息(编号 班级名称 班主任)学生信息描述:每一位学生的具体信息(学号 姓名 性别 专业 院系 班级)请假条信息描述:每一请假条的具体信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)3.2关系模式优化学生信息(学号 姓名 性别 专业 院系 班级)班主任信息(编号 姓名 性别 所属学院 所属专业)课程信息(课程号 课程名 课程性质)专业信息(编号 姓名 所属院系)请假条信息(请假代号 班级代号 学生学号 请假原因 开始时间 结束时间 请假天数 申请请假时间 班主任审批状态 班主任审批时间 院系领导审批状态 院系领导代号 院系领导审批时间)第4章数据库物理结构设计4.1 设计表空间创建一般的字典管理类表空间,目的是为了方便利用sql字典跟踪磁盘的使用情况。使用如下命令创建表空间:create tablespace linpeng_datadatafile /u01/oracle/oradata/tab01.dbf size 100mdefault storage(initial 512k next 128k minextents 2 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_no)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 foreign 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 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 教师表teachercreate 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 班主任表classteachercreate 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 院领导表collegeleadercreate 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 学校领导表schoolleadercreate 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_recordcreate 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 课程信息表coursecreate 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 班级表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请假信息表qingjiacreate 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 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=:new.course_no; if(current_times = 3) then dbms_output.put_line(学号为: | :new.stu_number | 的学生该门课程被取消考试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供方采购合同范本
- 企业项目合资合同范本
- 浙江长兴县龙山中学人教版七年级下册历史与社会第八单元第三课 中华文明探源教学设计
- 2024年韶关市曲江区住房和城乡建设管理局招聘笔试真题
- 公司英文合同范本
- 农田路养护合同范本
- 前台收银合同范本
- 包材销售合同范本
- 2024年金昌市金川区图书馆招聘笔试真题
- 农村自建住宅买卖合同范本
- 可爱的中国教案全册
- 【英语词汇】闽教版(三起点)小学英语单词默写表(带音标按顺序)(全8册)
- 编辑学概论-课件
- 理发店个人门面转让合同
- 03J111-1 轻钢龙骨内隔墙
- 资产负债表模板范本
- 中国城市人口排名表
- 基于技术互补性的潜在技术合作伙伴选择研究
- 人教版高中数学选择性必修二导学案
- 牛津深圳版八年级下册英语Unit 1-Unit 8各单元作文范文(实用)
- 人教版六年级下册数学(全册)同步随堂练习一课一练
评论
0/150
提交评论