1、数据库原理与应用课程设计之学籍管理系统(免费力荐) 作者: 日期:2 个人收集整理 勿做商业用途 课程设计III 课程设计设计说明书学籍管理系统学生姓名XXX学号XXXX班级网络091成绩指导教师XXX数学与计算机科学学院2012年3月2日 课程设计III 课程设计评阅书题 目学籍管理系统学生姓名Xxx学号XXX指导教师评语及成绩成绩: 教师签名: 年 月 日答辩教师评语及成绩成绩: 教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日课程设计任务书20112012学年第 2学期专业: 网络工程 学号: XX 姓名: XX 课程设计名称: 课程设计III 设计题目: 学籍管理系统
2、 完成期限:自 2012 年 02月 20至 2012 年 03月 02日共 2 周设计依据、要求及主要内容: 本次课程设计的任务是做一个典型的信息管理系统,本系统是,主要完成对学生基本信息、教师信息、课程信息、成绩信息等多种数据信息的管理.系统主要是做一些信息的查询,主要包括:实现按学号、姓名、院系名查询学生基本信息;按姓名、院系名查询教师基本信息;按课程编号、课程名称、教师姓名查询课程基本信息;按学号、学生姓名、课程号、课程名称查询学生成绩。通过本次的实践,要求学生完成以下任务:1、掌握数据库需求分析的方法。2、掌握数据库概念结构设计方法.3、掌握数据库逻辑结构设计方法.4、掌握数据库物理
3、结构设计方法.5、掌握在SQL Server 2000下数据定义、数据查询。指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要在各大中小学校,用计算机管理学校的信息已经越来越普遍了.用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性.提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长.庞大的信息量给学籍管理工作带来了极大的不便。这次课程设计编写了一个学籍管理的数据库系统,通过使用sql语句的执行,对数据库,实现了学籍管理的各种功能.教师可以查看和搜索学生信息和
4、教师的代课情况,还有成绩录入功能;学生可以查看个人信息、选课、成绩等信息.关键词: 学籍管理;数据库目 录1.需求分析1 1.1设计目的与要求11.2设计背景11.3 目标11。4 系统模块设计21.5 需求分析22。概念设计32。1 数据抽象与局部视图设计32。2 系统数据流图42.3 合并生成总E-R 图53。逻辑设计74.物理结构设计与功能实现94.1 系统的物理结构设计94。2 数据库的实施94.3 数据库的试运行115.设计体会126。数据库操作语句及结果截图13参考文献16 1. 需求分析1.1设计目的与要求 随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始
5、使用计算机数据库来做管理。当然几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学籍管理的工作量。该课程设计要求设计一个学籍管理的数据库系统,数据库中要求包含学生的基本信息,学校所有专业信息,学校教师信息以及课程设置的信息.同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来.1.2设计背景随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。
6、但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式.学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作.面对庞大的信息量, 这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。1。3 目标1.使得学生的学籍管理工作更加清晰、条理化、自动化。2
7、。容易地完成学生信息的查询、更新、修改等操作.3。对于学生成绩管理模块,能更加容易的求得学生的平均成绩、最高分、最低分等,可以按照学生的成绩进行排序处理等.1.4 系统模块设计学籍管理系统大体可以分成四大模块如下图所示, 首先是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是学生成绩管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有院系、教师、课程等相关信息的模块;最后是系统模块.图 1。2 系统模块图1。5 需求分析本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和
8、学生。主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。1.系统功能分析l 学生基本信息管理-系统管理员负责对各种基本信息的录入、修改、删除等操作。l 成绩管理-系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。l 院系、教师、课程信息管理-学生可以查询课程基本信息和各科的任课老师,老师可以查询基本信息和授课信息,系统管理员负责对学校的院系、教师信息以及课程信息的修改更新,最后再输出所有的信息。l 系统用户管理系统管理员负责用不同的权限来限制不同用户对系统的使用。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查
9、询速度要比较小的冗余,易维护,具有较高的数据安全性。 2.概念设计2.1 数据抽象与局部视图设计1.学生基本信息与课程信息视图 图2。1 学生基本信息视图 图2.2 课程信息视图图2.3 学生与课程关系视图2. 专业、教师及院系信息视图 图2。4 专业、教师及院系信息视图图2。5 院系教师以及专业关系图2。2 系统数据流图系统的管理模块里面包含教务部门(系统管理员和教务处管理人员)、教师以及学生,下图为该学籍管理系统的系统流图,教务部门拥有对所有表的查询更新与删除权利(分类信息属于查询结果除外);教师可对教师、专业以及院系信息,分类信息,学生情况进行查询,对成绩单进行查询、更新以及删除等所有操
10、作;学生只可对所有模块信息进行查询,同时可对自己的部分学生情况进行一定的修改与更新.学生教师教师、专业、院系信息学生情况分类信息成绩单查询专业、院系、教师与成绩信息查询信息更改更新部分信息生成查询分类信息查询学生情况生成查询信息查询成绩提取成绩查询分类信息学生基本信息图2.6系统数据流图2。3 合并生成总ER 图合并数据抽象与局部视图设计中的各个局部视图以及各个实体之间的关系生成ER图如下:图2.7 系统E-R图3。逻辑设计本次设计的数据库在SQL Server 2005上实现,将概念结构设计中的ER图转换成SQL Sever 2005支持的关系数据模型后,结合上述分析得到如下数据表:(1)学
11、生基本信息表StudentsInfo:主键为“学号”图3.1 StudentsInfo表(2)课程表Course:主键为“课程号 图3.2 Course表(3)学院表Apartment:主键为“院系代号”图3。3Apartment 表(4)教师信息表Teacher:主键为“教师号”图3.4 Teacher表 (5)专业表Major主键“专业号” 图3。5 Major表(6)学生选课表SC:主键(学号,课程号) 图3。6 sc表(7)教师授课表Tc:主键(课程号,教师号)图3。7 course表 因为一个实体模型转换为一个关系模型时遵循以下规则1。一个1:1联系可转换为一个独立的关系模式,也可以
12、与任意一端对应的关系模式合并;2.一个1:n联系可以转换为独立的关系模式,也可以与n端对应的关系模式合并;3。一个m:n联系转换为一个关系模式。4.物理结构设计与功能实现4.1 系统的物理结构设计1. 确定关系模型的存取方法在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。2. 确定数据库的存储结构确定数据库的存储结
13、构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该学籍管理系统的数据量小,而且只作实验之用,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排.4。2 数据库的实施 首先在数据库中建立一个数据库xueji,然后新建一个数据源,生成的表及索引的主要代码如下:-创建课程表-create table Course ( 课程号 varchar(5) not null, 课程名 varchar(10) null, 先行课 smallint null, 学分 int null, 备注 varchar(16) null, c
14、onstraint PK_COURSE primary key (课程号) )go -创建院系表-create table Department ( 院系代号 varchar(5) not null, 院系名 varchar(10) null, 系主任 varchar(8) null, 备注 varchar(16) null, constraint PK_DEPARTMENT primary key (院系代号))go-创建专业表-create table Major ( 专业号 varchar(5) not null, 院系代号 varchar(5) null, 专业名称 varchar(1
15、6) null, 备注 varchar(16) null, constraint PK_MAJOR primary key (专业号))go-创建学生与课程的成绩表-create table SC ( 学号 bigint not null, 课程号 varchar(5) not null, constraint PK_SC primary key (学号, 课程号))go-创建学生基本信息表-create table StudentsInfo ( 班级 varchar(16) null, 学号 bigint not null, 院系代号 varchar(5) null, 专业号 varchar
16、(5) null, 姓名 varchar(6) null, 性别 varchar(2) null, 出生年月 datetime null, 籍贯 varchar(8) null, 民族 varchar(2) null, 家庭住址 varchar(20) null, 入学时间 datetime null, 政治面貌 varchar(6) null, 身份证号 char(18) null, 联系电话 varchar(12) null, 备注 varchar(14) null, constraint PK_STUDENTSINFO primary key (学号))go-创建教师与课程关系表-cre
17、ate table TC ( 课程号 varchar(5) not null, 教师号 varchar(5) not null, constraint PK_TC primary key (课程号, 教师号)go-创建 教师表-create table Teacher ( 教师号 varchar(5) not null, 院系代号 varchar(5) null, 姓名 varchar(6) null, 性别 char(2) null, 年龄 int null, 工龄 int null, 备注 varchar(16) null, constraint PK_TEACHER primary ke
18、y (教师号))Go4.3 数据库的试运行触发器功能的试运行在对StudentsInfo上的SUpdate触发器的验证时,先运行sql语句:select from dbo。SC;图4。1 验证SC表创建情况5。 设计体会通过两星期的数据结构课程设计实习,我从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通.虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。在课程设计中,设计了一个学生学籍管理系统,其中包含了对学生基本信息的管理,学生必修课程以及成绩管理,学校教师资
19、源管理,学校专业以及院系等。基本上包含了学籍管理所要求的信息,能够完成一定的数据管理功能。但是这是一个完全不能真正用与实际的系统,它没有操作界面,没有完善的数据完整性的约束,也不具有可靠的安全性。但总之在设计当中我们学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里. 实习过程中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。6. 数据库操作语句及结果截图 图6.1 按课程号查询学生基本信息图6。2 按学号查询学生分数图6。4 按教师姓名查询课程信息图6。4 按课程名查询课程信息图 6。5 按院系名查询学生基本信息图6。6 按院系名查询教师基本信息图6。7按教师姓名查询教师基本信息图7。8 按学号查询学生基本信息 图6.9按课程名查询学生基本信息 图6。10 按课程号查询课程信息参考文献1 王珊、萨师煊数据库系统概论数据库技术丛书之一北京:高等教育出版社,2006。2 Bain T等SQL Server 2005数据库北京:中国电力出版社,2003. 16