Oracle数据库课程方案设计书学生考勤系统的Oracle实现Word文档格式.docx
《Oracle数据库课程方案设计书学生考勤系统的Oracle实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle数据库课程方案设计书学生考勤系统的Oracle实现Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
6.1、设计表空间10
6.2、创建表11
6.3、创建其它数据库对象14
7心得体会15
8参考文献15
Oracle数据库课程设计
——学生考勤系统的Oracle实现
1学生考勤管理系统背景分析
随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。
如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。
因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教案秩序,给学生创造一个优良的学习环境。
目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。
这种模式在目前高校管理中暴露了不可避免的弊端:
1、学生请假不方便;
2、学生请假对任课老师不透明;
3、学生对自己整个学期的上课出勤情况没有整体的统计信息;
4、班主任对本班学生整个学期的上课出勤情况不易查看;
5、院系领导、学校领导不容易把握学生上课的出勤情况。
因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。
本系统涉及到高校六大类用户:
学生、任课老师、班主任、院系领导、学校领导、系统管理员。
2学生考勤管理系统需求分析
2.1用户需求描述
用户是系统的最终使用者,根据分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:
2.2.1学生用户需求描述
学生对本系统的主要需求是:
在线请假以及查看在校期间所有的上课出勤信息。
在线请假需求:
学生请假的全过程当中,学生可以随时查看请假的详细进展情况。
查看出勤信息需求:
学生可以查看在校期间所有学期上课出勤的详细信息,如:
查看“Oracle数据库管理与应用”这门课程在整个学期请假、旷课多少次等信息。
其它需求:
查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码。
2.2.2任课老师用户需求描述
任课老师对系统的主要需求是:
管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。
管理学生上课出勤需求:
随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。
查看学生出勤信息需求:
查看所教班级学生整个学期出勤情况。
本人基本信息以及修改个人用户密码。
2.2.3班主任用户需求描述
班主任对本系统的主要需求是:
审批本班学生本学期的在线请假以及查看本班学生本学期所有课程的上课出勤信息。
审批学生请假需求:
本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行学生请假审批。
查看学生上课出勤信息需求:
查看本班学生整个学期有关课程的出勤统计信息及详细信息。
查看本班学生的基本信息、修改个人用户密码等。
2.2.4院系领导用户需求描述
院系领导对系统的主要需求是:
审批本院系学生超过三天的请假以及查看本院系学生上课出勤信息。
审批请假需求:
当学生请超过三天的假,经班主任审批同意后,系统自动提交给任何一个进入系统的院系领导审批请假。
查看本院系学生出勤信息需求:
输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。
查看本院系有关基本信息以及修改个人用户密码等。
2.2.5学校领导用户需求描述
学校领导对系统的主要需求是:
查看全校学生上课出勤信息。
输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。
查看有关全校的基本信息以信修改个人用户密码等。
2.2.6系统管理员用户需求描述
系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:
1、管理学校各院系、年级、专业、班级的添加、删除、修改等。
2、管理每个学期每个班级的课程安排及指定班主任和任课老师。
3、管理系统所有用户。
4、管理全校课表安排。
5、管理系统的请假、考勤信息。
2.3功能需求描述
根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。
请假系统功能需求:
通过班主任以及院系领导批准请假信息。
请假最长时间不能超过1个月,特殊情况除外。
考勤管理功能需求:
任课老师通过考勤管理系统,对学生上课出勤信息进行公开。
请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。
2.4系统功能划分
根据系统用户的需求,将本系统按功能划分成三大功能模块:
请假系统、考勤系统、后台管理模块,涉及到六大类用户:
学生、任课教师、班主任、院系领导、学校领导、系统管理员。
2.4.1请假系统模块
本模块的功能是在线请假的实现及管理,主要涉及三大类用户:
学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;
班主任在线审批学生请假及查看请假记录信息;
院系领导在线审批学生长时间的请假及查看请假记录信息。
2.4.2考勤系统模块
本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。
学生在线查看自己所有学年的出勤信息;
任课老师在线管理学生出勤信息;
班主任、院系领导、学校领导查看不同的范围的学生出勤信息。
2.4.3后台管理管理
本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。
系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。
3学生考勤系统的E-R模型
4数据字典设计
5数据库表的逻辑结构设计
(1)系统管理员表admin
字段名
数据类型
可否为空
键引用
备注
admin_no
char(5)
否
主键
管理员编号
admin_name
char(10)
管理员姓名
admin_sex
char
(2)
性别
admin_title
char(20)
职称
admin_password
varchar2(20)
登入密码
(2)学生表student
stu_no
学生学号
stu_name
varchar(30)
学生姓名
stu_sex
stu_class
char(13)
外键
所属班级
stu_major
char(30)
所属专业
stu_faculty
char(40)
所属学院
(3)院系表faculty
faculty_id
number
院系编号
faculty_name
院系名称
(4)专业表major
major_id
专业编号
major_name
专业名称
major_faculty
所属院系
(5)教师表teacher
tea_no
任课老师编号
tea_name
任课老师姓名
tea_sex
tea_faculty
(6)班主任表classteacher
classtea_no
classtea_name
classtea_sex
classtea_major
classtea_faculty
(7)院领导表collegeleader
collegeleader_no
学院领导编号
collegeleader_name
学院领导姓名
collegeleader_sex
collegeleader_faculty
title
(8)学校领导表schoolleader
schoolleader_no
学校领导编号
schoolleader_name
学校领导姓名
schoolleader_sex
dept
所属部门
char(25)
(9)学生上课出勤记录表kaoqin_record
kaoqin_id
上课出勤编号
sk_time
datetime
上课时间
stu_number
stu_status
学生上课考勤状态
teacher_no
教师编号
course_no
课程编号
(10)课程信息表course
course_name
课程名称
course_xz
char(4)
课程性质
(11)班级表classes
class_no
class_name
(12)请假信息表qingjia
id
请假代号
class_id
班级代号
varchar2(20)
leave_reason
varchar2(200)
请假原因
start_time
开始时间
end_time
结束时间
day_number
请假天数
qingjia_time
申请请假时间
class_tea_id
class_tea_sp_status
班主任审批状态
class_tea_sp_time
班主任审批时间
coll_leader_sp_status
院系领导审批状态
coll_leader_id
院系领导代号
coll_leader_sp_time
院系领导审批时间
备注:
status表示审批状态:
0为等待审批,1为同意请假,2为不同意请假。
6数据库表空间和表设计
6.1、设计表空间
创建一般的字典管理类表空间,目的是为了方便利用SQL字典跟踪磁盘的使用情况。
使用如下命令创建表空间:
createtablespacelinpeng_data
datafile‘/u01/oracle/oradata/tab01.dbf’size100M
defaultstorage(initial512Knext128Kminextents2maxextents999pctincrease0)
online。
6.2、创建表
1、创建系统管理员表admin
createtableadmin
(
admin_nochar(5)notnull,
admin_namechar(10)notnull,
admin_sexchar
(2)check(admin_sex='
男'
oradmin_sex='
女'
),
admin_titlechar(20)notnull,
admin_passwordvarchar(20)notnull,
constraintpk_adminprimarykey(admin_no)
)
tablespacelinpeng_data。
2、学生表student
createtablestudent
stu_nochar(10)notnull,
stu_namevarchar(30)notnull,
stu_sexchar
(2)check(stu_sex='
orstu_sex='
stu_classchar(5)foreignkeyreferencesclasses(class_no),
stu_majornumberforeignkeyreferencesmajor(major_id),
stu_facultynumberforeignkeyreferencesfaculty(faculty_id),
constraintpk_studentprimarykey(stu_no)
3、院系表faculty
createtablefaculty
faculty_idnumbernotnull,
faculty_namechar(10)notnull,
constraintpk_facultyprimarykey(faculty_id)
4、专业表major
createtablemajor
major_idnumbernotnull,
major_namechar(10)notnull,
major_facultynumberforeignkeyreferencesfaculty(faculty_id),
constraintpk_majorprimarykey(major_id)
5、教师表teacher
createtableteacher
tea_nochar(10)notnull,
tea_namechar(20)notnull,
tea_sexchar
(2)check(tea_sex='
ortea_sex='
tea_facultynumberforeignkeyreferencesfaculty(faculty_id),
constraintpk_teacherprimarykey(tea_no)
6、班主任表classteacher
createtableclassteacher
classtea_nochar(5)notnull,
classtea_namechar(20)notnull,
classtea_sexchar
(2)check(classtea_sex='
orclasstea_sex='
classtea_majornumberforeignkeyreferencesmajor(major_id),
classtea_facultynumberforeignkeyreferencesfaculty(faculty_id),
constraintpk_classteacherprimarykey(classtea_no)
7、院领导表collegeleader
createtablecollegeleader
collegeleader_nochar(5)primarykey,
collegeleader_namechar(20)notnull,
collegeleader_sexchar
(2)check(collegeleader_sexin('
'
)),
collegeleader_facultynumberforeignkeyreferencesfaculty(faculty_id),
titlechar(20)notnull
8、学校领导表schoolleader
createtableschoolleader
schoolleader_nochar(5)primarykeynotnull,
schoolleader_namechar(20)notnull,
schoolleader_sexchar
(2)check(schoolleader_sexin('
deptchar(20)notnull,
9、学生上课出勤记录表kaoqin_record
createtablekaoqin_record
kaoqin_idchar(13)primarykeynotnull,
sk_timedatetimenotnull,
stu_numberchar(10)foreignkeyreferencesstudent(stu_no),
stu_statuschar(10)notnull,
teacher_nochar(10)foreignkeyreferencesteacher(tea_no),
course_nochar(13)foreignkeyreferencescourse(course_no)
10、课程信息表course
createtablecourse
course_nochar(13)primarykey,
course_namechar(20)notnull,
course_xzchar(4)notnull
11、班级表classes
createtableclasses
class_nochar(10)primarykey,
class_namechar(20)notnull,
classtea_nochar(5)foreignkeyreferencesclassteacher(classtea_no)
12、请假信息表qingjia
createtableqingjia
idnumberprimarykey,
class_idchar(10)foreignkeyreferencesclasses(class_no),
stu_nochar(10)foreignkeyreferencesstudent(stu_no),
leave_reasonvarchar2(200)notnull,
start_timedatetimenotnull,
end_timedatetimenotnull,
day_numbernubmernotnull,
qingjia_timedatetimenotnull,
class_tea_idchar(5)foreignkeyreferencesclassteacher(classtea_no),
class_tea_sp_statuschar(10),
class_tea_sp_timedatetime,
coll_leader_sp_statuschar(10),
coll_leader_idchar(5)foreignkeyreferencescollegeleader(collegeleader_no),
coll_leader_sp_timedatetime
6.3、创建其它数据库对象
1、创建存储过程用于统计学生查询某门课程的出勤情况
createorreplacepro