学生成绩管理系统实训报告.docx
《学生成绩管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统实训报告.docx(19页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统实训报告
连云港职业技术学院
信息工程学院
实训设计文档
题目:
网络数据库设计
组别:
第一组
姓名:
马友清、王帅、王盼、王培
王雅素、邓文东、刘丹丹
组长:
刘丹丹
专业:
电商111
导师:
杨雪梅
连云港职业技术学院信息工程学院
2013年01月
学生成绩管理系统
摘要
学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,打印信息以用户管理等六个方面。
系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。
查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。
系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。
在"IT"时代下,数据在社会中的作用越来越重要。
一个大型银行中的某个数据如果被篡改了,就可能引起一场金融风暴。
我们需要维护数据的安全性,有效性。
数据库管理系统就是有效保护数据的软件,便于我们对数据的保护与操作。
所以,我们需要对数据库管理系统有较深的了解,对数据库编程有一定的认识。
我通过做学生成绩管理系统来检验自己在数据库,数据库编程方面的知识水平和动手能力。
关键词:
数据库数据表学生成绩管理系统记录
Studentachievementmanagementsystem
Abstract
Studentachievementmanagementsystemisthetypicalinformationmanagementsystem(MIS),itsdevelopmentmainlyincludesthebackstagedatabasetheestablishmentandthemaintenanceaswellasfrontendtheapplicationproceduredevelopmenttwoaspects.Theformerrequiredsetupdataconsistencyandintegrality,datasecuritygoodstorehouse.Forthelatterrequirestheapplicationprogramfunctioncomplete,easyoperation,etc.Thissystemmainlycompletethestudentperformancemanagement,includingadd,modify,delete,query,printinformationtousermanagementandsoonsixaspects.Thesystemcancompleteallkindsofinformationtobrowse,search,add,delete,modifyfunctions.Thecoreofthesystemistoadd,modify,anddeletetheconnectionbetweenthethree,themodificationsofeachformwillaffecttootherformsoflinkage,whencompleteaddordeleteoperationsystemwillautomaticallychangeofthestudent'sgrade.Inquiresthefunctionisthecoreofthesystem,oneofthemaininthesystemaccordingtothestudent'snameandstudentidtoquery,thepurposeistohelpuserstouse.Acompletesystemoftheuserstoadd,deleteandtheciphermodificationfunction,andhasthefunctionofthereportformtoprint.
Inthe\"IT\"age,thedatainthesocietyismoreandmoreimportantrole.Alargebankofadataifthetampered,andmaycauseafinancialstorm.Weneedtomaintainthesecurityofthedata,andeffectiveness.Databasemanagementsystemiseffectivetoprotectdatasoftware,convenientforustodataprotectionandoperation.So,weneedtodatabasemanagementsystemhaveadeepunderstandingofthedatabaseprogramming,acertainunderstanding.Idothestudentachievementmanagementsystemtotesthimselfinthedatabase,databaseprogrammingknowledgelevelandpracticalability.
Keywords:
databaseDatasheetStudentachievementmanagementsystemRecord
目录
摘要I
AbstractII
一实训要求1
1.1内容要求1
1.2需求分析1
1.3概念设计2
1.4逻辑设计2
二数据库设计的基本步骤3
2.1需求分析3
2.2概念结构设计E-R图3
2.3逻辑结构设计5
2.3.1教师信息表5
2.3.2学生信息表6
2.3.3课程信息表6
2.4物理结构设计6
三数据库实施8
3.1创建数据库8
3.2创建数据表8
3.2.1创建成绩表相关excel表格10
3.3表与表间的关系12
3.4创建约束13
3.5为数据库建立索引13
3.6视图15
3.7触发器16
3.8存储过程16
3.8.1建立一个存储过程16
3.8.2跨表查询18
四实训总结19
参考文献20
一实训要求
1.1内容要求
(1)建立两张以上的用户表,表之间有一定联系,以保证参照完整性。
(2)表中某些列的值要唯一但允许空值,某些列的值要唯一而且不允许空值。
(3)给表上建立两个以上的约束(类型、条件等自定),使表中的某些列满足一定的条件。
(4)给经常查询的列建立一个索引,
(5)建立两张以上的视图,使用户能查看部分数据。
(6)建立至少一个触发器、一个存储过程加强表之间的数据完整性、一致性约束。
(7)写出实训过程中所涉及的知识点及难点,碰到的问题和解决办法以及实训体会。
1.2需求分析
学生成绩管理系统是用来管理每个学生的各科成绩。
每个学生每学期所学习的课程不同,当他学完一门课后,老师就要根据标准给他打分。
学生成绩管理系统能有效地输入输出每个学生各个课程的相关成绩,能灵活地查询,添加,修改,删除记录,是管理学生成绩的良好软件。
(1)分析结果
(2)数据流程图
(3)完整性要求调查结果
(4)数据安全性
(5)程序安全性
1.3概念设计
全局ER图
1.4逻辑设计
(1)数据的冗余度(说明冗余的原因)以文本形式表现创建表的命令(表的模式输出、外模式视图、键索引key索引分类模式选择)
(2)模式完整性
(3)安全性(创建什么样的用户,用户的权限。
对一些操作采用存储过程,不适用高级语言)
(4)触发器(用外模式,通过对视图的更新,实现过程完整性,考虑全面)
二数据库设计的基本步骤
2.1需求分析
——信息需求:
学生成绩管理起来向来是意见头痛的事情,成绩因为数据量大,而且需要及时更更新,需要做不断的维护。
因此设计一个能解决学生成绩管理的系统,以方便教师在处理学生成绩信息。
学生成绩管理系统要求自动化,可以把老师从繁重的成绩管理工作中解脱出来,并且对学生成绩的判断和整理更合理、更公正,同时也给教师提供一个准确、清晰、轻松的成绩管理环境。
——功能需求:
能够进行数据库的定义,数据操作,数据控制等处理功能,进行联机处理的相应时间要短。
具体功能包括:
系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能
2.2概念结构设计E-R图
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计教室管理数据库包括班级、教室、课程、教师四个关系。
1、学生成绩管理系统实体间关系E-R图,如图2-2-1所示:
图2-2-1学生成绩管理系统实体间关系E-R图
2、学生成绩管理系统E-R图:
图2-2-2学生成绩管理系统E-R图
2.3逻辑结构设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:
课程信息表
Class:
(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:
(学号,姓名,性别,年龄,专业,系别)
成绩表
Score:
(学号号,课程名,成绩)
教师表
Teacher1:
(教师号,教师名,教师性别,教师系别)
2.3.1教师信息表
如表2-3-1所示是教师信息表,主要存储教师的基本信息情况,其中教师号是主键,教师名、教师性别、教师专业为非空字段。
图2-3-1教师信息表结构设计
2.3.2学生信息表
如表2-3-2所示是学生信息表,主要学生的基本信息,其中学生学号是主键,姓名字段非空。
图2-3-2学生信息结构设计
2.3.3课程信息表
如表2-3-3所示是课程信息表,主要存储教师教课的基本信息,其中课程号是主键
图2-3-3课程信息结构设计
2.4物理结构设计
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。
数据库物理设计内容包括记录存储结构的设计,存储路径的设计。
三数据库实施
数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
3.1创建数据库
打开SQL工具“对象资源管理器”
右击数据库,点击“新建数据库”,填写名称,点击确定。
如图:
图3-1新建数据库
3.2创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。
数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。
创建数据表的过程其实就是定义字段的过程。
在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。
创建数据库后,将已完成的四张excel表导入数据库,步骤如下。
在students数据库右击,选择“任务”——“导入数据”如图
图3-2-1
选择数据源,并选择相对路径如图
图3-2-2
3.2.1创建成绩表相关excel表格
学生信息相关表格,导入数据库,表格如下:
图3-2-1-1学生基本信息表
课程信息相关表格
图3-2-1-2课程信息
成绩信息表
图3-2-1-3成绩信息表
教师信息表
3-2-1-4教师信息表
3.3表与表间的关系
如图:
图3-3-1添加表
图3-3-2数据库关系图
3.4创建约束
给表上建立两个以上的约束
图3-4约束的创建
3.5为数据库建立索引
创建索引可以大大提高系统的性能。
第一,通过创建唯一性索引,可以保证每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是所以的最主要原因。
第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。
第四,在使用ORDERBY和GROUPBY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。
创建索引步骤如下
打开学生成绩表,右击“索引”新建索引如图
图3-5-1
图3-5-2非聚集索引的创建
3.6视图
视图的操作:
数据库视图的定义(创建和删除)、查询和更新
图3-6视图的建立
3.7触发器
(1)创建一个触发器。
用SQLServer语句创建代码如下:
USEstudents
GO
Createtrigger学生信息表_trigger1
On学生信息表
Forinsert
As
print'数据删除不成功'
Go
图3-7触发器的建立
3.8存储过程
3.8.1建立一个存储过程
用SQLServer语句查
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
询代码如下:
USE[图书管理系统]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERprocedure[dbo].[p_教师信息表]
as
select*from教师信息表
where教师专业='计算机'
图3-8存储过程
3.8.2跨表查询
图3-8-2
四实训总结
本次的实训让我学到了很多的知识,对代码和实际的操作有更多的熟悉,以前的学习都是那样有事就做下,没事就玩哈,但是一个星期的系统化的实训,让我们从创建表开始,对数据的插入,修改和删除,我这次做的是学生信息管理系统,此次SQL实训,让我们受益很大。
在实训操作中,那些不懂的、概念模糊的知识,得到了概括,并且得以融会贯通。
让我了解到各层次的关系,怎样去设计界面,怎样去编写代码,在做本系统的过程中遇到了很多的难题,比如代码的编写,我们觉得耐心、细心在实训中是很重要的。
不细心,出一点小错都会搞的系统无法运行;而没耐心的话,一碰到麻烦就会心烦,到最后做起来劲都没有,这怎么能成功完成这个实习任务呢?
这次实训,最麻烦的就是表的建立与数据库的实现,故即使麻烦也得细心完成,才能让整个系统运转正常。
通过实训,我们不仅巩固了旧知识,也学到了新的知识,并且把所学的应用到实际操作中,提高了我们的实际动手能力和逻辑思维能力。
也让我们对软件开发的流程有一定了解,并且对开发软件有了一些初步的经验。
当然我做的系统还有很多不好的地方,并且还有很多错误的地方,我希望老师能够帮我多改正改正,我以后也会改正这些毛病。
也感谢老师对我们在实训中给予的帮助。
本学生成绩查询系统主要参照课本,相对来说比较简单。
但是由于主要以课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。
设计过程中我们也遇到了一些问题,在向其他同学请教的过程中我们收获了很多。
也成长了不少,领会了团队合作的重要性,在杨老师的耐心指导下,我们成功完成了学生成绩管理系统数据库。
当然,在实训过程中,存在很多不足,归纳如下:
(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才可以对另一个表进行引用。
(2)在设计表时应注意使用正确的字段类型。
(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。
参考文献
[1]《数据库与SQLServer2005教程》钱雪忠..清华大学出版社.2007.
[2]《数据库技术与应用实践教程》.熊拥军,刘卫国.清华大学出版社.2010.
[3]《基于SQLSERVER的数据库系统》,北大青鸟信息技术有限公司
[4]《SQLServer2005从入门到精通》,清华大学出版社,2009年9月
[5]《数据库设计入门经典》,钱进,中国电力出版社,2003年7月
鉴定意见
指导教师杨雪梅成绩
日期年月日