高校成绩管理系统数据库设计和实现实验报告_第1页
高校成绩管理系统数据库设计和实现实验报告_第2页
高校成绩管理系统数据库设计和实现实验报告_第3页
高校成绩管理系统数据库设计和实现实验报告_第4页
高校成绩管理系统数据库设计和实现实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...高校成绩管理系统数据库设计与实现班级计科1201学号2012261001XX姓名XXX目录:------------------------------------------HYPERLINK1.需求分析1.1数据需求描述1.2系统功能需求1.3其他性能需求------------------------------------------HYPERLINK2.概念构造设计2.1画出局部E-R图;2.2合并成全局E-R图;------------------------------------------HYPERLINK3.逻辑构造设计3.1关系模式设计3.2数据类型定义------------------------------------------HYPERLINK4.物理构造设计4.1聚簇设计4.2索引设计4.3分区设计------------------------------------------HYPERLINK5.数据库实施5.1基本表建设5.2数据输入5.3视图的建设5.4索引的建设5.5触发器建设5.6建存储过程------------------------------------------HYPERLINK6.应用系统开发与试运行6.1开发平台和开发环境介绍。6.2前台界面与后台数据库连接说明,代码实现。6.3系统各功能设计和运行界面截图。------------------------------------------HYPERLINK7.实验总结7.1遇到的问题和解决的方法7.2系统设计的缺乏7.3进一步改进思路和体会需求分析高校成绩管理系统是一个记录了大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。使用计算机对成绩信息的管理,具有手工管理所无法对比的优点:信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。根据实际工作需要,提出了以下数据和业务处理需求:◆学生信息至少需要包含学号、姓名、性别、年龄、生源所在地、已修学分总数等数据项;◆课程信息表至少需包含课程编号、课程名称、任课教师、开课学期、学时、考试或考察、学分等数据项,课程根据班级开设。◆教师信息至少需要包含教师编号、姓名、性别、年龄、职称、联系等数据项;◆学生成绩至少需要学号,学期,课程名称,成绩,任课教师等数据项;◆班级信息至少需要班级号,所设置课程编号,任课教师等数据项;◆需要实现以下业务处理和查询功能: 学生成绩按每学年成绩统计 学生成绩名次排定 每门课程平均成绩统计 学生所学课程及学分统计学生已修学分总数查询 教师任课查询 班级课程开设查询◆硬件环境:LENOVO-G470◆软件环境:Windows7旗舰版MicrosoftSQLServer2008MicrosoftVisualStudio2010教师数据需求描述教师登入处理查询登入处理查询登入教师信息学生信息管理人员高校成绩管理系统数据库学生登入教师信息学生信息管理人员高校成绩管理系统数据库学生查询课程信息查询课程信息顶层数据流图班级信息学生信息课程信息班级信息学生信息课程信息教师信息成绩查询课程查询按成绩排名按学年成绩统计按课程成绩查询教师所授课程查询所学课程学分统计已修学分查询班级所设课程查询1.2系统功能需求〔1〕学生成绩按每学年进展成绩统计;〔2〕学生成绩名次排定;〔3〕每门课程平均成绩统计;学生所学课程及学分统计;输入每个学生成绩时,自动生成该学生已修总学分;学生成绩查询;教师任课查询;班级课程开设查询;成成绩管理系统信息维护系统登入退出成绩查询学生所学课程学分查询班级设置课程信息查询教师任信息查询调用存储过程系统功能图1.3其他性能需求〔1〕可供多用户同时使用。〔2〕用户输入出错时,有错误提示。〔3〕安全性高。〔4〕存储需求描述。〔5〕响应时间2、概念构造设计2.1局部E-R图:2.2合并成全局E-R图:3、逻辑构造设计3.1关系模式设计教师wmq〔教师编号wmq、教师姓名wmq、教师性别wmq、教师年龄wmq、职称wmq、联系wmq〕上课wmq〔教师编号wmq,班级编号wmq〕授课wmq〔教师编号wmq,课程编号wmq〕课程wmq〔课程编号wmq、课程名称wmq、教师姓名wmq、开课学期wmq、课程学时wmq、考核方式wmq、学分wmq〕学习wmq〔学号wmq,课程编号wmq,学期wmq,成绩wmq,教师姓名wmq〕学生wmq〔学号wmq、姓名wmq、性别wmq、年龄wmq、生源所在地wmq、已修学分总数wmq,班级编号wmq〕开设wmq〔课程编号wmq,班级编号wmq〕班级wmq〔班级编号wmq,班级名称wmq,专业编号wmq〕专业wmq〔专业编号wmq,专业名称wmq〕登陆wmq(用户名wmq,密码wmq,权限wmq)3.2数据类型定义〔1〕教师wmq数据项名数据类型长度完整性约束教师编号wmqchar5主键教师姓名wmqchar10教师性别wmqchar5教师年龄wmqint5职称wmqchar10联系wmqchar20〔2〕上课wmq数据项名数据类型长度完整性约束教师编号wmqchar5主键外键班级编号wmqchar5外键〔3〕授课wmq数据项名数据类型长度完整性约束教师编号wmqchar5主键外键课程编号wmqchar5外键〔4〕课程wmq数据项名数据类型长度完整性约束课程编号wmqchar5主键课程名称wmqchar10教师姓名wmqchar10开课时间wmqchar20课程学时wmqint10>0考核方式wmqchar5学分wmqint5>0〔5〕学习wmq数据项名数据类型长度完整性约束学号wmqchar5主键外键课程编号wmqchar5外键学期wmqchar10成绩wmqint10教师姓名wmqchar10〔6〕学生wmq数据项名数据类型长度完整性约束学号wmqchar5主键姓名wmqchar10性别wmqchar5年龄wmqint5生源所在地wmqChar20已修学分总数wmqint5班级编号wmqchar5外键〔7〕开设wmq数据项名数据类型长度完整性约束课程编号wmqchar5主键外键班级编号wmqchar5外键〔8〕班级wmq数据项名数据类型长度完整性约束班级编号wmqchar5主键班级名称wmqchar10专业编号wmqchar5外键〔9〕专业wmq数据项名数据类型长度完整性约束专业编号wmqchar5主键专业名称wmqchar10(10)登陆wmq数据项名数据类型长度完整性约束用户名wmqchar20主键密码wmqchar20权限wmqchar104、物理构造设计4.1聚簇设计教师wmq(教师编号wmq)课程wmq(课程编号wmq)学生wmq(学号wmq,班级编号wmq)班级wmq(班级编号wmq)这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。4.2索引设计建设索引的一般规那么:在主键属性列和外键属性列上通常都可以分别建设索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。以查询为主的关系可建设尽可能多的索引。对等值连接,但满足条件的元组较少的查询可以考虑建设索引。如果查询可以从索引直接得到结果而不必访问关系,那么对此种查询可以建设索引。所以在高线成绩管理数据库中建设索引如下:教师wmq(教师编号wmq)课程wmq(课程编号wmq)学生wmq(学生学号wmq,班级编号wmq)班级wmq(班级编号wmq)学习wmq(学号wmq,课程编号wmq)4.3分区设计涉及到数据库文件和日志文件的分区问题。磁盘分区设计的一般原那么:减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,那么I/O可并发执行,从而提高数据库访问速度。分散热点数据,均衡I/O负担。在数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。该成绩管理系统由于程序较小,所以不进展分区设计。5、数据库实施数据库的建设:5.1基本表建设〔1〕教师wmq表建设:〔2〕课程wmq表建设:〔3〕专业wmq表建设:〔4〕班级wmq表建设:〔5〕学生wmq表建设:〔6〕上课wmq表建设:〔7〕授课wmq表建设:〔8〕学习wmq表建设:〔9〕开设wmq表建设:〔10〕登陆wmq表建设:5.2数据输入〔1〕专业表数据插入:〔2〕班级表数据插入:〔3〕学生表数据插入:〔4〕教师表插入:〔5〕课程表数据插入:〔6〕授课表数据插入:〔7〕学习表数据插入:〔8〕开设表数据插入:〔9〕上课表数据插入:〔10〕登陆表数据插入:5.3视图的建设〔1〕学生成绩统计:〔2〕每门课程平均成绩统计:〔3〕学生所学课程及学分统计〔4〕教师任课查询:〔5〕班级课程开设查询:(6)生源地平均成绩查询5.4索引的建设因为每一个表建设,SSMS会自动生成一个聚集索引,所以不需要再手动建设聚集索引。下面根据4.2来设计索引:〔1〕教师编号wmq:〔2〕专业编号wmq:〔3〕班级编号wmq,专业编号wmq:〔4〕课程编号wmq:〔5〕学生学号wmq,班级编号wmq:〔6〕学生学号wmq,课程编号wmq:5.5触发器建设〔1〕学分统计wmq当用户

insert新的成绩且该成绩>=60分时,增加相应学分〔2〕删除教师wmq当删除教师表中的教师编号wmq记录时,需要相应地删除授课表和上课表里的教师编号wmq,所以在教师表上建设触发器〔3〕更新教师wmq当更新教师表中的教师编号wmq记录时,需要相应地更新授课表和上课表里的教师编号wmq,所以在教师表上建设触发器5.6建存储过程〔1〕建设一个对学生表插入信息的存储过程:〔2〕建设一个输入成绩,自动生成其总学分的存储过程:6、应用系统开发与试运行6.1开发平台和开发环境介绍。开发平台:MicrosoftVisualStudio2010开发环境:VisualStudio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。VisualStudio2010版本于2010年4月12日上市,其集成开发环境〔IDE〕的界面被重新设计和组织,变得更加简单明了。VisualStudio2010同时带来了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。与此同时,微软还引入了一门新的语言C#,C#是一门建设在C++和Java根基上的编写.NET框架的现代语言。6.2前台界面与后台数据库连接说明,代码实现:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;namespaceD01wangminqian{classsqlConnect{publicSqlConnectioncoon=null;publicsqlConnect(){if(coon==null){coon=newSqlConnection("Datasource=(local);IntegratedSecurity=SSPI;"+"InitialCatalog=D01wangminqian");if(coon.State==ConnectionState.Closed)coon.Open();}}publicvoidcloseConnect(){if(coon.State==ConnectionState.Open)coon.Close();}publicDataSetGetds(stringsql){if(coon.State==ConnectionState.Closed)coon.Open();DataSetds=newDataSet();SqlDataAdapterda=newSqlDataAdapter(sql,coon);da.Fill(ds);coon.Close();returnds;}publicintOperateData(stringsql){if(coon.State==ConnectionState.Closed)coon.Open();SqlCommandsqlcom=newSqlCommand();sqlcom.CommandText=sql;sqlcom.CommandType=CommandType.Text;sqlcom.Connection=coon;intx=sqlcom.ExecuteNonQuery();coon.Close();returnx;}publicDataSetBinDataGriView(DataGridViewdgv,stringsql){if(coon.State==ConnectionState.Closed)coon.Open();SqlDataAdapterda=newSqlDataAdapter(sql,coon);DataSetds=newDataSet();da.Fill(ds);dgv.DataSource=ds.Tables[0];returnds;}}}6.3系统各功能设计和运行界面截图。登陆系统各功能流程图:登陆登陆管理员教师学生管理员操作主界面教师操作主界面学生操作主界面教务安排信息管理信息转储信息查询成绩录入信息查询教师安排班级信息管理课程信息管理学生信息管理信息转储成绩录入学生信息教师任课已修学分教师任课班级开课学生成绩生源地〔1〕登陆界面:不同的用户类型进入的界面不同:〔2〕管理员界面:〔3〕教师界面:〔4〕学生界面:〔5〕管理员进入界面后,主要的操作是教务安排,以及教师、班级、学生信息的管理操作,各操作界面如下:〔6〕教师进入界面后的主要操作是教师任课、学生信息查询,以及成绩的录入,各操作界面如下:(7)学生进入界面后主要的操作是生源地平均成绩查询、教师任课查询、班级开课查询、成绩、已修学分查询:7、实验总结7.1遇到的问题和解决的方法〔1〕概念构造设计在系统需求分析完成以后,我根据用户需求设计概念构造的时候遇到了数据冗余等多种问题,经过慢慢的分解关系最终得到了相对来说还对比完善的概念构造,通过ER图表示出来。〔2〕数据插入在进展高校成绩管理数据库插入时,我出现了许多错误,后来检验下来,发现主要错在数据的类型、大小以及各个约束关系上,导致一些插入无法进展。而删除、重建基本表,会发现完整性约束导致基本表不能删除,所以我利用基本表的修改ALTER来进展改动。〔3〕触发器和存储过程开场一直搞不清楚这两个到底是个什么作用,应该怎样设计,最后通过查阅书本以及网络资料,弄清了这两个概念,并设计了触发器和存储过程。现将触发器和存储过程的概念如下:触发器:触发器〔trigger〕是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比方当对一个表进展操作〔insert,delete,update〕时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规那么等。触发器可以从DBA_TRIGGERS,USER_TRIGGERS数据字典中查到。存储过程:存储过程〔StoredProcedure〕是一组为了完成特定功能的SQL语句集,是利用SQLServer所提供的Transact-SQL语言所编写的程序。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数〔如果该存储过程带有参数〕来执行它。存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论