




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高校成绩管理系统数据库设计与实现班级 计科1201 学号 2012261001xx 姓名 xxx 目录:-1.需求分析1.1数据需求描述1.2 系统功能需求 1.3 其他性能需求-2.概念结构设计2.1画出局部e-r图;2.2合并成全局e-r图;-3.逻辑结构设计3.1 关系模式设计3.2 数据类型定义-4.物理结构设计4.1 聚簇设计4.2 索引设计4.3 分区设计-5.数据库实施5.1 基本表建立5.2 数据输入5.3 视图的建立5.4 索引的建立5.5 触发器建立 5.6 建存储过程-6.应用系统开发与试运行6.1 开发平台和开发环境介绍。6.2 前台界面与后台数据库连接说明,代码实现。6.3 系统各功能设计和运行界面截图。-7.实验总结7.1 遇到的问题和解决的办法7.2 系统设计的不足7.3 进一步改进思路和体会1、 需求分析高校成绩管理系统是一个记录了大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。使用计算机对成绩信息的管理,具有手工管理所无法比拟的优点:信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。根据实际工作需要,提出了以下数据和业务处理需求:学生信息至少需要包含学号、姓名、性别、年龄、生源所在地、已修学分总数等数据项;课程信息表至少需包含课程编号、课程名称、任课教师、开课学期、学时、考试或考查、学分等数据项,课程根据班级开设。教师信息至少需要包含教师编号、姓名、性别、年龄、职称、联系电话等数据项;学生成绩至少需要学号,学期,课程名称,成绩,任课老师等数据项;班级信息至少需要班级号,所设置课程编号,任课教师等数据项;需要实现以下业务处理和查询功能:学生成绩按每学年成绩统计学生成绩名次排定每门课程平均成绩统计学生所学课程及学分统计学生已修学分总数查询教师任课查询班级课程开设查询硬件环境:lenovo-g470 软件环境:windows 7旗舰版 microsoft sql server 2008 microsoft visual studio 2010教师1.1 数据需求描述 登入处理查询登入教师信息学生信息管理人员高校成绩管理系统数据库学生查询课程信息顶层数据流图班级信息学生信息课程信息教师信息成绩查询课程查询按成绩排名按学年成绩统计按课程成绩查询教师所授课程查询所学课程学分统计已修学分查询班级所设课程查询详细数据流图1.2 系统功能需求 (1)学生成绩按每学年进行成绩统计; (2)学生成绩名次排定; (3)每门课程平均成绩统计; (4) 学生所学课程及学分统计; (5) 输入每个学生成绩时,自动生成该学生已修总学分; (6) 学生成绩查询; (7) 教师任课查询; (8) 班级课程开设查询; 成绩管理系统信息维护系统登入退出成绩查询学生所学课程学分查询班级设置课程信息查询教师任信息查询调用存储过程系统功能图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课程学时wmqint100考核方式wmqchar5学分wmqint50(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 索引设计建立索引的一般规则:(1) 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。(2) 以查询为主的关系可建立尽可能多的索引。(3) 对等值连接,但满足条件的元组较少的查询可以考虑建立索引。(4) 如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。所以在高线成绩管理数据库中建立索引如下: 教师wmq(教师编号wmq)课程wmq(课程编号wmq)学生wmq(学生学号wmq,班级编号wmq)班级wmq(班级编号wmq)学习wmq(学号wmq,课程编号wmq)4.3 分区设计涉及到数据库文件和日志文件的分区问题。磁盘分区设计的一般原则:(1) 减少访问冲突,提高i/o并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则i/o可并发执行,从而提高数据库访问速度。(2) 分散热点数据,均衡i/o负担。在数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。(3) 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。该成绩管理系统由于程序较小,所以不进行分区设计。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 开发平台和开发环境介绍。开发平台:microsoft visual studio 2010开发环境:visual studio是微软公司推出的开发环境。是目前最流行的windows平台应用程序开发环境。visual studio 2010版本于2010年4月12日上市,其集成开发环境(ide)的界面被重新设计和组织,变得更加简单明了。visual studio 2010同时带来了 net framework 4.0、microsoft visual studio 2010 ctp( community technology preview-ctp),并且支持开发面向windows 7的应用程序。除了microsoft sql server,它还支持 ibm db2和oracle数据库。与此同时,微软还引入了一门新的语言c#,c#是一门建立在c+和java基础上的编写.net框架的现代语言。6.2 前台界面与后台数据库连接说明,代码实现:using system;using system.collections.generic;using system.linq;using system.text;using system.data;using system.data.sqlclient;using system.windows.forms;namespace d01wangminqian class sqlconnect public sqlconnection coon = null; public sqlconnect() if (coon = null) coon = new sqlconnection(data source =(local);integrated security=sspi; + initial catalog =d01wangminqian); if (coon.state = connectionstate.closed) coon.open(); public void closeconnect() if (coon.state = connectionstate.open) coon.close(); public dataset getds(string sql) if (coon.state = connectionstate.closed) coon.open(); dataset ds = new dataset(); sqldataadapter da = new sqldataadapter(sql, coon); da.fill(ds); coon.close(); return ds; public int operatedata(string sql) if (coon.state = connectionstate.closed) coon.open(); sqlcommand sqlcom = new sqlcommand(); sqlcom.commandtext = sql; sqlcom.commandtype = commandtype.text; sqlcom.connection = coon; int x = sqlcom.executenonquery(); coon.close(); return x; public dataset bindatagriview(datagridview dgv, string sql) if (coon.state = connectionstate.closed) coon.open(); sqldataadapter da = new sqldataadapter(sql, coon); dataset ds = new dataset(); da.fill(ds); dgv.datasource = ds.tables0; return ds; 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 数据字典中查到。存储过程:存储过程(stored procedure)是一组为了完成特定功能的sql语句集,是利用sql server 所提供的transact-sql 语言所编写的程序。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和sql 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。(4)连接数据库刚开始我打开microsoft visual studio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技园配套基础设施建设项目规划设计方案(仅供参考)
- 乡村医疗卫生人才队伍建设面临的主要问题与障碍
- 繁星春水:诗歌意境与情感表达教学教案
- 农村农户绿色生态种植协议规范
- 元宇宙概论 课件 -第十讲 元宇宙应用-数字人
- 生态产品产业链协同与资源整合路径
- 企业新闻发布记录表
- 顾客群体:消费者年龄分布表
- 中医药适宜技术推广的健康管理与服务模式
- 2025年音乐表演艺术专业综合能力考试试卷及答案
- 北大夏令营试题及答案
- 建设项目全生命周期安全风险管理研究
- 钢结构电梯井道合同模板
- 室内装修施工设计方案模板
- 湘教版六年级音乐教案下册
- 四川省内江市隆昌市2024-2025学年六年级下学期小升初真题数学试卷含解析
- 变频器应用课件
- 人工智能在地球观测中的应用-深度研究
- 2023年中小学心理健康教育课程标准
- 煤矿各类重大灾害预兆
- 逻辑思维训练500题(带答案)
评论
0/150
提交评论