数据库课程设计学籍管理系统Word文件下载.docx
《数据库课程设计学籍管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学籍管理系统Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。
逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打
下基础。
3设计内容
运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发教学管理信息系统,完成教学管理信息系统的全部功能,包括学生管理子系统,教师管理自系统,后勤管理子系统。
首先做好需求分析,并完成数据流图和数据字典。
其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图。
然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型
第二章需求分析
1需求分析的任务
需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。
为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。
新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。
2需求分析的过程
(1)调查教学组织机构的总体状况。
本教学系统主要由教师管理系统,学生管理系统以及教务管理系统。
(2)熟悉各部门的业务活动状况。
调查各部门的业务活动情况,对现行系统的功能和和所需信息有一个明确的认识。
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。
(3)根据
(1)
(2)调查的结果,对教学管理中各应用的信息要求和操作要求进行详细分析,从中得到:
该教学系统的各个应用从数据库中得到哪些信息,这些信息的具体内容和性质是什么,要求完成什么样的处理功能,对某些处理要求的相应时间,既对数据的安全,完整性的要求。
(4)确定系统的边界。
确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成。
由计算机完成的功能就是新系统完成的功能。
3数据字典
经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1所
示。
下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需
求。
图2.1某校教学管理业务流程图
⑴调查用户需求
教务处需求
1.1学籍处理:
新生入学档案的录入
毕业学生档案的处理
学生档案的处理包括插入,删除以及修改
学生基本信息的查询
1.2统计功能:
按专业,系以及班级统计人数
按专业,系以及班级统计学生的成绩以及排名
按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能
正毕业的学生。
按专业,系以及班级查询未注册学生的基本信息及人数
1.3教师信息系统的管理:
教师档案的录入
教师基本信息的查询
教师基本信息的更新包括修改,添加和修改
1.4教室设备的管理:
教室基本信息的录入
教室基本信息的查询包括占用情况
教室基本信息的更新修改,添加和修改
1.5制定教学计划:
根据专业教学秘书提供和教师的任课信息表制定教学计划
把教学计划输入课程管理数据库和教师任课数据库
1.6排课:
根据教学计划为每个专业排课
每个专业的学生可以查询自己的课程
教务处可以根据教学计划修改课程表
将课程表分发给老师,学生,教室管理员和院系
1.7通知:
通知学生放假及开学时间
通知学生培养计划
通知教师教授课程及任课教材
发放学生的成绩单
②学生
交费功能:
每年按规定的时间缴纳学费
如果接到学校的补缴费用通知应该补缴
注册:
每年在规定的时间内向教务处注册
2.1查询功能:
查询考试成绩及班级排名
查询课程信息
查询教学培养计划
查询任课老师的信息
查询上课地点及上课时间
查询放假及开学通知
③教师
工资领取:
按规定的时间领取工资
考核学生:
按照教学大纲的要求对学生考核
监督学生的学习进度
3.1查询:
查询课程表
查询学生的总体成绩
查询学生所用的教材
④各系需求
分班功能:
按照男女生平衡的原则进行分班。
查询功能:
按学生姓名,学号及班级查询
查询每个班级成绩最优及最差学生
统计功能:
按班级统计男、女生人数,各地区人数及总人数
按专业统计男、女生人数,总人数
统计各班各科的总成绩及总成绩
⑵分析用户需求
在调查完了用户需求之后,就要开始分析用户需求。
在此,我们采用自顶向
下的结构化分析方法(SA方法)。
首先,定义全局概念结构的框架,如图2.2所示。
图2.2教学系统总框架图
经分析之后,本系统要用到九个基本表:
系表,班级,学生表,课程表,选
课表、教室表、占用表、教师表,教授表。
数据结构定义如表2.1所示。
表2.1数据结构定义
数据结构名含义说明组成
系表定义了系的有关信息系号,系名,系主任
班级定义了班级的有关信息班号,班名,班主任,系号
学生表定义了学生的有关信息
学生号,姓名,性别,省份,备注,年龄,班级号
课程表定义了课程的有关信息课程号,课程名,学分,教师号
选课表定义了选课的基本信息学号,课程号,成绩
教室表定义了教室的有关信息教室号,教室名,教室位置
占用表定义了班级使用教室的有关信息
班级号,教室号,上课时间,占用学时
教师表定义了教师的有关信息教师号,姓名,职称,性别,年龄
教授表定义了教师教授班级的信息教师号,班级号,课程号,教授时间
第三章概念结构设计
1概念结构设计的方法与步骤
2概念结构设计的方法
设计概念结构通常有四类方法:
自顶向下,自底向上,逐渐扩张以及混合
策略。
本教学系统采用的是自底向上的方法。
即首先定义全局的概念结构的框架,
然后逐步细化。
根据自顶向上地进行需求分析然后再自底上上地进行概念设计。
2.1概念结构设计的步骤
概念结构的设计可分为两步:
第一步是抽象数据并设计局部视图。
第二步是
集成局部视图,得到全局的概念结构。
2.2数据抽象与局部视图设计
按照图2.2教学学管理系统总框架图,设计局部E-R图。
图3.2学生管理系统局部概念结构E-R图
2.3视图的集成
描述进行视图集成的具体过程,最后得到图2.5总体概念结构E-R图。
第四章逻辑结构设计
1E-R图向关系模型的转换
将图3.4总体概念结构E-R图转化成关系模型。
系表(系号,系名,系主任)主键:
系号
班级表(班号,班名,班主任,系号)主键:
班号外键:
学生表(学生号,姓名,性别,年龄,班级号)主键:
学生号外键:
班号
课程表(课程号,课程名,学分,教师号)主键:
可称号外键:
教师号
选课表(学号,课程号,成绩)主键:
学号可称号外键:
学号课程号
教室表(教室号,教室名,教室位置)主键:
教室号
占用表(班级号,教室号,上课时间,占用学时)主键:
班级号教室号
教师表(教师号,姓名,职称,性别,年龄,工资)主键:
教授表(教师号,班级号,课程号,教授时间)主键:
教室号班级号
2数据模型的优化
数据库德逻辑结构设计的结果不是唯一的。
为了提高数据库应用系统的性能,
还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。
规范
化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式
可能出现的问题,使数据库设计工作有了严格的理论基础。
关系数据模型的优化
通常以规范化理论为指导,方法为:
(1)确定数据依赖。
分别写出每个关系内部属性的以及不同关系模式属性间
的数据依赖。
根据需求分析可知:
a)系表的数据依赖:
{系号->
系名,系号->
系主任}
b)班级表的数据依赖:
{班号->
班名,班号->
班主任,班号->
系号}
c)学生表的数据依赖:
{学生号->
姓名,学生号->
性别,学生号->
省份,
学生号->
年龄,学生号->
班级号,学生号->
专业}
d)课程表的数据依赖:
{课程号->
课程名,课程号->
学分,课程号->
任
课教师号}
e)选课表的数据依赖:
{(学生号,课程号)->
姓名}
f)教室表的数据依赖:
{教室号->
教室名,教室号->
教室位置}
g)占用表的数据依赖:
{(班级号,教室号)->
上课时间,(班级号,教
室号)->
占用学时}
h)教师表的数据依赖:
{教师号->
姓名名,教师号->
职称,教师号->
性
别,教师号->
年龄,教师号->
工资}
i)教授表的数据依赖:
{(教师,班级号)->
授课时间,(班级号,教室
号)->
课程}
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
(3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,
传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖
和传递函数依赖所以所有的关系模式都是属于3NF。
不需要进一步,进行模式分
3数据库的结构
给出数据库基本表总体结构图。
根据总体结构图设计各表的结构。
表4-1系表的结构
字段名
数据类型
长度
约束
char
10
主键
系名
不为空
系主任
外键
表4-2班级表的结构
班级号
班级名称
班主任
表4-3学生表的结构
学号
姓名
性别
2
省份
年龄
Smallint
5
专业
表4-4课程表的结构
课程名
课程名称
学分
smallint
8
表4-5选课表的结构
成绩
表4-6教室表的结构
教室名
教室位置
表4-7占用表的结构
上课时间
datetime
占用学时
表4-8教师表的结构
职称
工资
表4-9教授表的结构
课程号
教授时间
第五章物理设计阶段
1数据存储方面
2系统功能模块
(1)系表信息查询和更新模块
将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理
(2)班级表的查询和更新模块
将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(3)学生表的查询和更新模块
将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(4)课程表的查询和更新模块
将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(5)选课表的查询和更新模块
将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(6)教室表的查询和更新模块
将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(7)占用表的查询和更新模块
将完成占用基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(8)教师表的查询和更新模块
将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(9)教授表的查询和更新模块
将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
3物理设计阶段结果
编号
存储过程
作用
1
系表_insert
在系表中插入一元组
班级表_insert
在班级中插入一元组
3
学生表_insert
在学生中插入一元组
4
课程表_insert
在课程中插入一元组
选课表_insert
在选课中插入一元组
6
教室表表_insert
在教室中插入一元组
7
占用表_insert
在占用表中插入一元组
教师表_insert
在教师中插入一元组
9
教授表_insert
在教授中插入一元组
存储过程汇总
(其他表的查询、修改、删除与上面表的大致相同,这里不再具体列出)
4数据库实施阶段
4.1.1建立数据库
教学管理系统;
连接登陆SQLserver2008R2,选择数据库,右键选择新建数据库,输入教学管理系统点击确定
图-1
4.2.2建立数据表
(1)系表基本信息的建立
在教学管理系统上右键表,选择新建表,创建列名系号、系名、系主任并将"
系号"
设置为主键
图-2
(2)班级表基本信息的建立,操作同
(1)
图-3
(3)学生表基本信息的建立,操作同
(1)
图-4
(4)选课表基本信息的建立,操作同
(1)
图-5
(5)教室表基本信息的建立,操作同
(1)
图-6
(6)占用表基本信息的建立,操作同
(1)
图-7
(7)教师表基本信息的建立,操作同
(1)
图-8
(8)教授表基本信息的建立
图-9
5、创建关系图
5.1教师表的关系图创建
右键每个表的主键,选择关系,点击左下角的添加,选择表和列规范后面的
按钮,选择教授表,选择教授被与教师表的教师号,点击确定,操作请看,图-10到图-12
图-10
图-11
图-12
5.2班级表关系图的创建,选择系表与班级表选择系号,占用表与班级表选择班级号,教授表与班级表选择班级号、学生表与班级表选择班级号,操作同5.1
图-13
5.3教室表的关系创建,选择占用表,选择主键表中的教室号,操作同5.1
图-14
5.4教授表的关系创建,选择教师表与教授表的教室号,教师表与班级表的班级号,操作如5.1
图-15
5.5创建系表关系,选择系表与班级表的系号,操作如5.1
图-16
5.6创建选课表的关系,选择选课表与学生表的学号,操作如5.2
图-17
5.7创建学生表的关系,选择学生表与选课表的学号,选择学生表与班级表的班级号,选择学生表与占用表的班级号
图-18
5.8创建占用表的关系,选择班级表与占用表的班级号,选择学生表与占用表的班级号,选择占用表与教室表的教室号,操作同5.1
图-19
5.9创建完成以后,关系视图如下;
图-20
6输入数据
6.1右键班级表,选择编辑前200行,输入数据
图-21
6.2右键教师表,选择编辑前200行,输入数据
图-22
6.3右键教师表,选择编辑前200行,输入数据
图-23
6.4右键教授表,选择编辑前200行,输入数据
图-24
6.5右键系表,选择编辑前200行,输入数据
图-25
6.6右键选课表,选择编辑前200行,输入数据
图-26
6.7右键学生表,选择编辑前200行,输入数据
图-27
6.8右键占用表,选择编辑前200行,输入数据
图-28
7创建查询
7.1创建嵌套查询,使用以下代码;
SELECT*
from教师表
where姓名in
(select姓名
where教师号='
1003'
)
图-N
7.2对结果进行分组,使用以下代码;
select地址,count(*)as个数
from出版社信息表
groupby地址
8创建触发器
8.1创建一个触发器
当班级表中“班级号”进行变更时,学生表中的“班级号”也进行同步变更,实现代码如下;
use学生成绩系统管理
Go
/******object:
Trigger[dbo].[Readertrigger]scriptDate:
04/19/201814:
50:
40******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
createtrigger[dbo].[Readertrigger]
on[dbo].[班级表]
forupdate
as图-N
ifUPDATE(班级号)
update班级表set班级号=a.asnofrom(selectinserted.班级号asasno,deleted.班级号asbsnofrominserted,deleted)asainnerjoin学生表asbona.bsno=b.班级号
图-N
8创建储存过程
8.1创建储存过程步骤
首先选择图书数据库,然后选择可以编程性,点击+号选择储存过程,右键储存过程,选择新建储存过程
8.2储存过程的代码的实现
首先,新建以后会出现一些示例模板代码如图-N
删除示例代码并编写部分储存代码
代码如下;
USE[学生成绩系统管理]
/******Object:
StoredProcedure[dbo].[Storage_process]ScriptDate:
04/27/201814:
55:
48******/
createproc[dbo].[Storage_process1]@tszhchar(10)
as
select班级名称,教师号,班主任,姓名,系主任,系名
from班级表,教师表,系表,占用表
where班级表.班级号=占用表.班级号and教师表.工资=@tszh
go
execStorage_process1'
8000'
9创建用户
9.1创建一个管理员角色
首先选择安全性点击+号,右键点击登陆名,选择新建登陆名请看图
图-图-图-
创建用户名:
zmh密码:
123456,取消强制实施密码策略,操作请
看图-
选择用户映射,选择映射到此登陆名的用户里,选择图书数据库,选
择权限public之后点击确定,请看图-与图-
图-
图-
N3.2分配用户权限
选择数据库“图书