教学管理系统的设计与实现数据库原理课程设计.docx
《教学管理系统的设计与实现数据库原理课程设计.docx》由会员分享,可在线阅读,更多相关《教学管理系统的设计与实现数据库原理课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
教学管理系统的设计与实现数据库原理课程设计
1引言
为方便对学校日常工作进行高效地管理,很好此数据库以提高学校地管理效率.随着现代科技地高速发展,设备和管理地现代化,在实际工作中如何提高工作效率成为一个很重要地问题.而建立教学管理信息系统是一个很好地解决办法.
1.1课题背景
随着信息技术地飞速发展,信息化地大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布地要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术地素质要求;信息技术提供了对教学进行重大革新地新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径.校园网信息系统建设地重要性越来越为成人高校所重视.
1.2课题意义
利用计算机支持教学高效率,完成教学管理地日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化地必要条件;而教学管理是一项琐碎、复杂而又十分细致地工作,工资计算、发放、核算地工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量地表格,这就会耗费工作人员大量地时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学地各种信息进行统计,同时计算机具有手工管理所无法比拟地优点.[2]
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高员工工资管理地效率,也是教学地科学化、正规化管理,与世界接轨地软件.[3]
在软件开发地过程中,随着面向对象程序很好和数据库系统地成熟,数计成为软件开发地核心,程序地很好要服从数据,因此教学管理系统地数据库很好尤其重要.本文主要介绍教学管理系统地数据库方面地很好,从需求分析到数据库地运行与维护都进行详细地叙述.
2系统分析
2.1需求分析
1.需求分析地任务
需求分析地任务是调查应用领域,对应用领域中地信息要求和操作要求进行详细分析,形成需求分析说明书.重点是调查,收集与分析用户在数据管理中地信息要求,处理要求,数据地安全性与完整性要求.
为了完成需求分析地任务,要详细调查待开发地数据库应用部门地情况,了解原系统工作概况,分析用户地各种需求,在此基础上确定新系统地功能.[4]新系统必须考虑今后地扩充和改变,不能仅仅按当前应用需求来很好数据库.
2.需求分析地过程
1)调查教学组织机构地总体状况.本教学系统主要由教师管理系统,学生管理系统以及教务管理系统.
2)熟悉各部门地业务活动状况.调查各部门地业务活动情况,对现行系统地功能和和所需信息有一个明确地认识.包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出地结果地格式是什么等.
3)对教学管理中各应用地信息要求和操作要求进行详细分析,从中得到:
该教学系统地各个应用从数据库中得到哪些信息,这些信息地具体内容和性质是什么,要求完成什么样地处理功能,对某些处理要求地相应时间,既对数据地安全,完整性地要求.
4)确定系统地边界.确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成.由计算机完成地功能就是新系统完成地功能.
2.2数据字典
经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1所示.下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门地具体需求.
图2.1教学管理业务流程图
1.调查用户需求
1)教务处需求
学籍处理:
新生入学档案地录入
毕业学生档案地处理
学生档案地处理包括插入,删除以及修改
学生基本信息地查询
统计功能:
按专业,系以及班级统计人数
按专业,系以及班级统计学生地成绩以及排名
按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正毕业地学生.按专业,系以及班级查询未注册学生地基本信息及人数
教师信息系统地管理:
教师档案地录入
教师基本信息地查询
教师基本信息地更新包括修改,添加和修改
教室设备地管理:
教室基本信息地录入
教室基本信息地查询包括占用情况
教室基本信息地更新修改,添加和修改
制定教学计划:
根据专业教学秘书提供和教师地任课信息表制定教学计划
把教学计划输入课程管理数据库和教师任课数据库
排课:
根据教学计划为每个专业排课
每个专业地学生可以查询自己地课程
教务处可以根据教学计划修改课程表
将课程表分发给老师,学生,教室管理员和院系
通知:
通知学生放假及开学时间
通知学生培养计划
通知教师教授课程及任课教材
发放学生地成绩单
2)学生
交费功能:
每年按规定地时间缴纳学费
如果接到学校地补缴费用通知应该补缴
注册:
每年在规定地时间内向教务处注册
查询功能:
查询考试成绩及班级排名
查询课程信息
查询教学培养计划
查询任课老师地信息
查询上课地点及上课时间
查询放假及开学通知
3)教师
工资领取:
按规定地时间领取工资
考核学生:
按照教学大纲地要求对学生考核
监督学生地学习进度
查询:
查询教学培养计划
查询课程表
查询学生地总体成绩
查询学生所用地教材
4)各系需求
分班功能:
按照男女生平衡地原则进行分班.
查询功能:
按学生姓名,学号及班级查询
查询每个班级成绩最优及最差学生
统计功能:
按班级统计男、女生人数,各地区人数及总人数
按专业统计男、女生人数,总人数
统计各班各科地总成绩及总成绩
2.分析用户需求
在调查完了用户需求之后,就要开始分析用户需求.在此,我们采用自顶向
下地结构化分析方法(SA方法).首先,定义全局概念结构地框架,如图2.2所示.
图2.2教学系统总框架图
经分析之后,本系统要用到九个基本表:
系表,班级,学生表,课程表,选课表、教室表、占用表、教师表,教授表.数据结构定义如下.
系表:
定义了系地有关信息系号,系名,系主任
班级:
定义了班级地有关信息班号,班名,班主任,系号
学生表:
定义了学生地有关信息
学生号:
姓名,性别,省份,备注,年龄,班级号
课程表:
定义了课程地有关信息课程号,课程名,学分,教师号
选课表:
定义了选课地基本信息学号,课程号,成绩
教室表:
定义了教室地有关信息教室号,教室名,教室位置
占用表:
定义了班级使用教室地有关信息
班级号:
教室号,上课时间,占用学时
教师表:
定义了教师地有关信息教师号,姓名,职称,性别,年龄
教授表:
定义了教师教授班级地信息教师号,班级号,课程号,教授时间
3系统很好
3.1概念结构很好
1.概念结构很好概念结构很好地方法与步骤
1)概念结构很好地方法
很好概念结构通常有四类方法:
自顶向下,自底向上,逐渐扩张以及混合策略.本教学系统采用地是自底向上地方法.即首先定义全局地概念结构地框架,然后逐步细化.根据自顶向上地进行需求分析然后再自底上上地进行概念很好.
2)概念结构很好地步骤
概念结构地很好可分为两步:
第一步是抽象数据并很好局部视图.第二步是集成局部视图,得到全局地概念结构.
3)数据抽象与局部视图很好
按照图3.2教学学管理系统总框架图,很好局部E-R图,如图3.1.
图3.1局部E-R图
图3.2教学学管理系统总框架图
3.2逻辑结构很好
1.逻辑结构很好
E-R图向关系模型地转换,将图3.2总体概念结构E-R图转化成关系模型.
系表(系号,系名,系主任)主键:
系号
班级表(班号,班名,班主任,系号)主键:
班号外键:
系号
学生表(学生号,姓名,性别,年龄,班级号)主键:
学生号外键:
班号
课程表(课程号,课程名,学分,教师号)主键:
可称号外键:
教师号
选课表(学号,课程号,成绩)主键:
学号可称号外键:
学号课程号
教室表(教室号,教室名,教室位置)主键:
教室号
占用表(班级号,教室号,上课时间,占用学时)主键:
班级号教室号
教师表(教师号,姓名,职称,性别,年龄,工资)主键:
教室号
教授表(教师号,班级号,课程号,教授时间)主键:
教室号班级号
1.数据模型地优化
数据库德逻辑结构很好地结果不是唯一地.为了提高数据库应用系统地性能,
还应该根据应用需要适当地修改,调整关系模式,这就是数据模型地优化.规范
化理论为数据库很好人员判断关系模式地优劣提供了理论标准,可用来预测模式
可能出现地问题,使数据库很好工作有了严格地理论基础.关系数据模型地优化
通常以规范化理论为指导,方法为:
1)确定数据依赖.分别写出每个关系内部属性地以及不同关系模式属性间地数据依赖.根据需求分析可知:
a)系表地数据依赖:
{系号->系名,系号->系主任}
b)班级表地数据依赖:
{班号->班名,班号->班主任,班号->系号}
c)学生表地数据依赖:
{学生号->姓名,学生号->性别,学生号->省份,学生号->年龄,学生号->班级号,学生号->专业}
d)课程表地数据依赖:
{课程号->课程名,课程号->学分,课程号->任课教师号}
e)选课表地数据依赖:
{(学生号,课程号)->姓名}
f)教室表地数据依赖:
{教室号->教室名,教室号->教室位置}
g)占用表地数据依赖:
{(班级号,教室号)->上课时间,(班级号,教室号)->占用学时}
h)教师表地数据依赖:
{教师号->姓名名,教师号->职称,教师号->性别,教师号->年龄,教师号->工资}
i)教授表地数据依赖:
{(教师,班级号)->授课时间,(班级号,教室号)->课程}
2)对于各个关系模式之间地数据依赖进行极小化处理,消除冗余地联系.
3)按照数据依赖地理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖地依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有地关系模式都是属于3NF.不需要进一步,进行模式分
2.数据库地结构
给出数据库基本表总体结构图,根据总体结构图很好各表地结构.很好表如下.
表3-1系表地结构
字段名
数据类型
长度
约束
描述
Xno
char
10
主键
系号
Xname
char
10
不为空
系名
Xdirector
char
10
外键
系主任
表3-2班级表地结构
字段名
数据类型
长度
约束
描述
Cno
char
10
主键
班级号
Cname
char
10
不为空
班级名称
Xno
char
10
外键
系号
Cdirector
char
10
外键
班主任
表3-3学生表地结构
字段名
数据类型
长度
约束
描述
Sno
char
10
主键
学号
Sname
char
10
不为空
姓名
Ssex
char
2
不为空
性别
Saddr
char
10
不为空
省份
Sage
Smallint
5
不为空
年龄
Smajor
char
10
不为空
专业
Cno
char
10
外键
班级号
表3-4课程表地结构
字段名
数据类型
长度
约束
描述
Courceno
char
10
主键
课程名
Courcename
char
10
不为空
课程名称
Ccredit
smallint
5
不为空
学分
Courcedirector
char
8
外键
教师号
表3-5选课表地结构
字段名
数据类型
长度
约束
描述
Sno
char
10
外键
学号
Courceno
char
10
外键
课程名
Grade
char
10
不为空
成绩
表3-6教室表地结构
字段名
数据类型
长度
约束
描述
Rno
char
10
主键
教室号
Rname
char
10
不为空
教室名
Raddr
char
10
不为空
教室位置
表3-7占用表地结构
字段名
数据类型
长度
约束
描述
Cno
char
10
外键
班级号
Rno
char
10
外键
教室号
Stime
datetime
上课时间
UseTime
char
10
占用学时
表3-8教师表地结构
字段名
数据类型
长度
约束
描述
Tno
char
10
主键
教师号
Tname
char
10
不为空
姓名
Tsex
char
10
不为空
性别
Tpos
char
10
不为空
职称
Tage
smallint
不为空
年龄
Tsal
smallint
不为空
工资
表3-9教授表地结构
字段名
数据类型
长度
约束
描述
Tno
char
10
外键
教师号
Cno
char
10
外键
班级号
Courceno
char
10
外键
课程号
Teachtime
datetime
不为空
教授时间
4数据库地物理很好和实施
4.1数据存储方面
1.系统功能模块
1)系表信息查询和更新模块
将实现对系部信息地查询和更新(修改、插入、删除)操作,方便于对系部基本信息地管理.
2)班级表地查询和更新模块
将完成班级基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
3)学生表地查询和更新模块
将完成学生基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
4)课程表地查询和更新模块
将完成课程基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
5)选课表地查询和更新模块
将完成对所选课程基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
6)教室表地查询和更新模块
将完成教室基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
7)占用表地查询和更新模块
将完成占用基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
8)教师表地查询和更新模块
将完成教师基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
9)教授表地查询和更新模块
将完成教授基本信息地查询、更新(修改、插入、删除)操作,便于对学生信息地集中管理.
4.2数据库实施阶段
1.数据库实施阶段目标
用DBMS所提供地数据定义语言和其他实用程序将数据库逻辑很好和物理很好结果描述出来,成为DBMS可以接受地源代码,在经过调试生成目标模式
2.数据库实施阶段任务
1)建立数据库
Createdatabase教学管理系统;
2)建立数据表
a)系表基本信息地建立
Createtable系表
(Xnochar(10)primarykeynotnull,
Xnamechar(10)notnull,
Xdirectorchar(10),
)
b)班级表基本信息地建立
Createtable班级表
(Cnochar(10)primarykey,
Cnamechar(10)notnull,
Xnochar(10),
Cdirectorchar(10),
)
c)学生表基本信息地建立
Createtable学生表
(Snochar(10)primarykey,
Snamechar(10)notnull,
Ssexchar
(2)notnull,
Saddrchar(10)notnull,
Sagesmallintnotnull,
Smajorchar(10)notnull,
Cnochar(10),
)
d)课程表基本信息地建立
Createtable课程表
(Courcenochar(10)primarykey,
Courcenamechar(10)notnull,
Ccreditsmallintnotnull,
Courcedirectorchar(8),
)
e)选课表基本信息地建立
Createtable选课表
(Snochar(10),
Courcenochar(10),
Gradechar(10)notnull,
)
f)教室表基本信息地建立
Createtable教室表
(Rnochar(10)primarykey,
Rnamechar(10)notnull,
Raddrchar(10)notnull,
)
g)占用表基本信息地建立
Createtable占用表
(Cnochar(10),
Rnochar(10),
Stimedatetime,
Uestimechar(10),
)
h)教师表基本信息地建立
Createtable教师表
(Tnochar(10)primarykey,
Tnamechar(10)notnull,
Tsexchar(10)notnull,
Tposchar(10)notnull,
Tagesmallintnotnull,
Tsalsmallintnotnull,
)
i)教授表基本信息地建立
Createtable教授表
(Tnochar(10),
Cnochar(10),
Courcenochar(10),
Teachtimedatetimenotnull,
)
3)建立视图
a)查询系表地基本信息地视图定义如下:
createview系表_view
as
select*
from系表
withcheckoption;
b)查询班级表地基本信息地视图定义如下:
createview班级表_view
as
select*
from班级表
withcheckoption;
c)查询学生表地基本信息地视图定义如下:
createview学生表_view
as
select*
from学生表
withcheckoption;
d)查询课程表地基本信息地视图定义如下:
createview课程表_view
as
select*
from课程表
withcheckoption;
e)查询选课表地基本信息地视图定义如下:
createview选课表_view
as
select*
from选课表
withcheckoption;
f)查询选课表地基本信息地视图定义如下:
createview课程表_view
as
select*
from选课表
withcheckoption;
g)查询占用表地基本信息地视图定义如下:
createview占用表_view
as
select*
from占用表
withcheckoption;
h)查询教师表地基本信息地视图定义如下:
createview教师表_view
as
select*
from教师表
withcheckoption;
i)查询教授表地基本信息地视图定义如下:
createview教授表_view
as
select*
from教授表
withcheckoption;
4)存储过程定义
Createprocedure系表_insert
@Xnochar(10),
@Xnamechar(10),
@Xdiredtorchar(10)
As
Insertinto系表values(@Xno,@Xname,@Xdiredtor);
createprocedure班级表_insert
@Cnochar(10),@Cnamechar(10),
@Xnochar(10),@Cdirectorchar(10)
As
Insertinto班级表values(@Cno,@Cname,@Xno,@Cdirector);
createprocedure学生表_insert
@Snochar(10),
@Snamechar(10),
@Ssexchar(10),
@Saddrchar(10),
@Sagesmallint,
@Smajorchar(10),
@Cnochar(10)
As
Insertinto学生表values(@Sno,@Sname,@Ssex,@Saddr,@Sage,@Smajor,@Cno)
createprocedure课程表_insert
@Courcenochar(10),
@Courcenamechar(10),
@Ccreditsmallint,
@Courcedirectorchar(8)
As
Insertinto课程表values(@Courceno,@Courcename,@Ccredit,@Courcedirc)
createprocedure选课表_insert
@Snochar(10),@Courcenochar(10),@Gradechar(10)
As
Insertinto选课表values(@Sno,@Courceno,@Grade);
createprocedure教室表_insert
@Rnochar(10),@Rnamechar(10),@Raddrchar(10)
As
Insertinto教室表values(@Rno,@Rname,@Raddr);
createprocedure占用表_insert
@Cnochar(10),
@Rnochar(10),
@Stimedatetime,
@UseTimechar(10)
As
Insertinto占用表values(@Cno,@Rno,@Stime,@Usetime)
createprocedure教师表_insert
@Tnochar(10),@Tnamechar(10),
@Tsexchar(10),@Tposchar(10),
@Tagesmallint,@Tsalsmallint
As
Insertinto教师表values(@Tno,@Tname,@Tsex,@Tpos,@Tage,@Tsal);
createprocedure教授表_insert
@Tnochar(10),@Cno