




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构与数 据 库 课 程 设 计实 习 指 导 书黑龙江工程学院2012年12月 实例一:学生信息管理系统一、 课程设计任务设计一个学生信息管理系统,并在微机上实现。要求用到的数据全部存放在数据库中,通过数据库操作完成各种数据的输入输出。在课程设计过程中,首先要分析系统的用户需求和功能特点,然后完成数据库的设计以及整个系统的设计,实现对学生成绩的管理。二、软硬件环境: 硬件环境Pentium 4以上微机,内存128MB以上,建议256MB。操作系统:Windows Me/Xp/Vista。编程环境 :C#程序设计语言,Access2003/2007数据库,通过ADO.NET控件访问。三、课程设计指导学生成绩管理系统的设计与实现1引言学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,耗费许多人才和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用数据库技术实现学生成绩的计算机管理是可行而必要的工作 。本课程设计旨在对学生成绩实现计算机管理,提高工作效率,提高管理水平。2 系统分析2.1 选择开发工具必须在Windows Me以上操作系统下完成设计。根据每个同学对程序设计语言和数据库知识掌握的具体情况,建议采用以下方案:C#程序设计语言,Access2003/2007数据库,通过ADO.NET。2.2 系统规划 学生成绩管理,主要涉及学生、课程、成绩等数据库表。为简单起见,成绩可不考虑五级记分制的字符型分值,如优、良、中、及格、不及格等;只考虑:数字型的分值,如 95,90,55等。对这些数据,按统计查询和报表输出的要求,进行合理的组织,以满足用户的要求。在计算机飞速发展的今天,调用数据库编写管理软件,已是很成熟的技术,关键是如何实现设计要求,如何设计出友好的人机界面,使程序运行稳定、使用方便、操作简便3 系统设计3.1 系统数据库设计数据库设计主要考虑数据规范化的五个层次:(1) 消除重复的数据组;(2) 消除多余的数据;(3) 消除不依赖于关键字的列;(4) 分离独立的几个关系;(5) 分离语义相关的多个关系。利用关系型数据库的特征,将学生成绩管理设计为1个数据库,包含3个数据库表:(1) 学生信息表:从成绩的角度,学生信息表包括学生学号、姓名、班级三个字段就够了,但考虑其它用处,还可将学生家庭联系信息 (如,邮政编码,通讯地址,收信人,电话等)也包括在学生信息表中。表1给出的是基本字段,有能力的同学可扩充。表1: 学生信息表(studentinf)字段名称数据类型主键非空学号数字yesyes姓名文本Noyes性别男/女Noyes出生日期日期/时间Noyes班级文本Noyes通讯地址文本NoNo联系方式文本NoNo备注备注NoNo(2) 课程信息表包括课程码 (即课程编码,它在课程信息表中是唯一的)、课程名称、课程性质 (考试或考查 )、学期、学时数、学分值等,在课程信息表中应采用课程编码,这样可使得录入更方便、快速。在录入过程中,输入编码就和输入课程名称一样,它们是一 一对应的,可用菜单形式弹出,用鼠标点击输入,这是程序设计中普遍采用的方法。字段名称数据类型主键非空课程编号文本yesyes课程名称文本Noyes课程性质文本Noyes学时数文本Noyes学分 数字Noyes表2:课程表(class)(3)成绩表:成绩表至少应含学号、课程码、成绩三字段。利用数据库之间的连接就可以满足成绩管理要求的所有报表和查询要求。.字段名称数据类型主键非空学号数字yesyes课程编号文本yesyes成绩数字Noyes表3:成绩表(score)3.2 系统的主要功能系统的主要功能包括:(1) 原始数据录入 (包括学生信息录入和课程信息录入);(2) 学生成绩录入;(3) 成绩查询课程查询和学生信息查询;(4) 报表输出 (包括学生成绩汇总报表、需重修的学生统计表、班级单科成绩表等);(5) 数据维护 (包括数据备份、数据恢复、数据追加)设计内容要求:必做内容必须完成,根据个人能力,选做内容可不做,做了的将加分。必做内容(4个模块):主控模块、数据录入、查询统计、退出系统;选做内容(2个模块):系统维护、报表打印。3.3 输入程序设计(1)学生信息输入在输入过程中,为方便使用,可设计一个自动编排学号功能,即同一个班的学生,只需将第一个人的信息输完整,其他同学的学号自动加一递增,班级保留一个,不需再输入。(2)成绩输入采用C#+Access编程,可以利用DBGrid或DataGrid控件进行输入,在输入整班成绩时,先输入班级和课程,将整班的学生以表格的形式显示出来,录入者只需在成绩栏中填入成绩即可。3.4 多表查询程序的设计多表操作是数据库中比较难的开发专题,它涉及到数据库中的关系操作的基本方法问题。从多个数据表文件中,按任意的关系表达式检索出所需要的信息,然后形成所谓的多用户视图。例如本系统中要从建立的三个基本数据表中,打印学生成绩总表,就要涉及到这三个数据表,解决这个问题有好几种方案,可以采用含子查询的SQL语句,或多表连接查询,或用多重循环实现。多表查询算法需要解决两个技术关键:一是查找的顺序,研究表明,查询必须按最长路径的结点顺序进行,例如本系统的三个基本数据表的连接,必须是“学生表”到“成绩表”再到“课程表”的顺序进行;二是必须保证本结点记录已经普遍列完才能退回上一个结点文件。以用多重循环技术进行多表查询为例:例如在“学生”文件中查到一个记录,然后到“成绩”文件中根据条件查到满足条件的第一个记录,再到“课程”文件中根据条件查到第一个满足条件的记录,输出一次查询结果,在“课程”文件中,如果还有满足条件的记录,则再次输出查询结果,直到“课程”文件结束为止。上述查找过程是一个递归过程。3.5 数据统计汇总模块设计(选做)在学生成绩管理系统中,必须对输入的信息进行处理、加工和整理,然后按照系统要求以某种形式输出。这里的处理、加工和整理主要是对数据的计算、统计和求和等。在Access数据库管理系统中均提供了几种用于对数据库进行统计和计算的语句。采用C#+Access编程,还可以加入分班的学生成绩直方图、线图等图形统计输出功能。加入图形处理的同学将获得加分。 3.6 系统报表打印模块设计(选做)报表一般由报表名称、报表头和报表内容三部分组成。报表名称说明了报表的性质、用途等;报表头说明了报表所包含的项目,分上表头和左表头;报表内容则是报表各个项目的具体数据。根据个人能力和时间,可选做这部分内容。有该模块的的同学将获得加分。四、其它说明(1)课程设计指导书仅供参考,进行不同的设计,但基本要求必须达到,至少包含3个表;输入、输出界面要求友好,尽量减少输入,多让用户选择。例如性别、考试类别等有固定数目的选择的字段,可以用组合框、列表框、单选按扭等控件实现输入。(2)数据库中的数据,可参考的班级、学习的课程、同学名单,自己输入模拟数据,能说明问题就行。实例二:课程习题管理系统一.需求分析此课程习题管理系统,主要具有身份验证管理、习题库管理和试卷管理两个方面的功能。身份验证管理主要是课程负责人分配使用该习题管理系统的用户及密码设置。习题库管理功能主要是课程负责人老师通过身份验证后可以按章节、知识点、难度进行习题的输入与维护(增加、删除、修改、查询),一个知识点可以有多道难度相同的习题。试卷管理功能主要是任课教师通过身份验证后可以按章节、知识点、难易程度等条件(一个或多个)设定习题数目,生成小测验,并且可以对小测验进行维护(如删除、查询操作)。 综上所述,该课程习题管理系统应该具备一下几个方面的功能。 登陆:确认用户的身份和权限。 管理:对习题库和测验卷的维护:包括增加、删除和修改。 查询:能够方便灵活的查询到所要查询的习题和试卷信息。二.任务概述 2.1课程习题组织结构图课程习题管理是收藏本学校所有课程习题的系统。其主要业务包括习题的增加、删除、修改、浏览、查询和产生测验卷等这些业务能由相应的人员完成。起组织结构如图2-1所示:2.2导出数据流图在需求分析的基础上,为了更清楚、直观地表达系统对数据的需求,常采用数据流图。用数据流图表示围绕数据处理为中心环节,着重表达数据的流动(输入、输出)和处理的过程。根据以上“需求说明”通过自顶向下、逐步求精的方法可得到数据流图。用数据流图表示数据处理的中心环节,表达数据的流动(输入和输出)和处理的过程。如图2-2所示的符号组织数据流图 数据的源点或终点 数据处理 数据存储 数据流2.2.1 图2-3给出课程习题库管理系统的顶层数据流图图2-3顶层数据流图2.2.2 图2-4给出课程习题库管理系统的一层数据流图 图2-4 一层数据流图2.3 数据字典数据字典主要是对数据结构(数据元素)、数据项、数据存储和数据处理进行处理更详尽的定义。数据结构:学生组 成:学号,姓名,性别,系别说 明:学生表所存放的是学生的信息,学号为学生的用户名,是唯一的,设为主码。数据结构:课程负责人组 成:职工号,姓名,性别说 明:课程负责人表所存放的是课程负责人的信息,职工号为课程负责人的用户名,是唯一的,设为主码。数据结构:任课老师组 成:职工号,姓名,性别说 明:任课老师表所存放的是任课老师的信息,职工号为任课老师的用户名,是唯一的,设为主码。数据结构:课程组 成:课程号,课程名说 明:课程表存放课程有关信息,课程号是课程的唯一标识,设为主码。数据结构:测验卷组 成:试卷号,试卷名,课程号,题量,测试时间,难度说 明:测验卷的详细信息填入此表中。试卷号存放的是对测验卷一个编号,课程号是课程科目的编码,试卷号和课程号的属性组被设为主码;试卷名存放的是测验卷的主题名;题目内容存放每一题内容,与习题库发生联系;题量存放的是测验卷一共有多少题目。数据结构:课程习题组 成:课程号,章节号,知识点代号,难度,题号,答案组 成:课程习题的详细内容存放在此表中。课程代号存放的是课程科目的编码;章节号存放的是对章节的编号;知识点代号存放的是对知识点的编号; 难度存放的是每一题的难度系数;题号存放的是每一知识点中的题目编号;课程代号,章节号,知识点代号,难度和题号的属性组设为主码。数据结构:授课组 成:课程号,教师号,学号说 明:授课表存放任课老师和学生之间的授课关系。课程号,教师号和学号属性组是授课表的唯一标识,设为主码。数据结构:选择组 成:试卷号,课程号,题目内容说 明:选择表存放的是测验卷和课程习题之间的联系。试卷号和课程号是选择表的唯一标识,设为主码。数据结构:解答组 成:课程号,试卷号,学号,记录号,成绩说 明:解答表存放的是学生解答测验卷的相关信息。课程号、试卷号和学号可以唯一标识解答信息,设为主码;记录号存放学生解答测验卷的次数;成绩存放每次学生测验的成绩。三.数据库概念设计在这一阶段采用实体和联系表示数据库的概念结构,即用E-R图表示数据库的概念结构。由前面建立的需求分析,特别是由数据流图和数据字典的内容,将所涉及的数据元素归纳、抽象为一个个实体集,以及实体集与实体集间的联系。 在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实体集,如学生、任课教师、课程负责人、测验卷、课程习题、课程等。从数据流图和数据字典的角度来看,可将数据源点和数据结构作为实体集,而把数据处理抽象为实体间的联系。数据库概念设计分成两步:第一,局部概念模式设计,既将各部分的数据流图分别转化为局部E-R图。 第二,全局概念模式设计,既将各局部E-R图合并为一个整体。3.1 局部概念模式设计3.1.1 各个实体集的属性 3-1-1学生属性 3-1-2 任课教师属性 3-1-3课程负责人属性 3-1-4测验卷属性 3-1-5课程习题属性 3-1-6 课程属性3.1.2 下图为课程责任人、任课教师、学生、课程、课程习题、测验卷实体集之间的关系E-R图 3-1-7 任课教师和测验卷E-R图 3-1-7 任课教师和测验卷E-R图 3-1-7 任课教师和测验卷E-R图 3-1-8 任课教师和课程习题E-R图 3-1-9 任课教师和学生E-R图 3-1-10 课程习题和测验卷E-R图 3.2 全局概念模式设计 将上述局部的概念模式设计的E-R图集成起来,既得到全局概念模式的E-R图。消除原先各图中存在的冲突和不一致的地方,进行 必要的合并和重构。下图3-2-1 为全局概念模式E-R图 3-2-1 为全局概念模式E-R图四. 数据库逻辑设计 数据库的逻辑结构与所采用的数据库管理系统(DBMS)有关,因此首先要面临DNMS的选择,然后是将一种概念模式映射为逻辑模式,最后是优化。4.1 DBMS的选择DBMS的选择的从以下几个因素考虑:技术:本系统选择SQL server 2000 它能够胜任所要完成的工作。经济:考虑到本系统为小规模的试卷管理系统,对功能和性能的要求不太高,而且 经费要求不高。管理策略:因为SQL server 2000可以免费得到,功能和性能上能够胜任其管理,其开放性和安全性都不错,今年来获得广泛的运用,故用于试卷库管理系统是合适的。4.2数据模型映射4.2.1 由E-R图导出一般关系模型的四条原则原则1:E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2:E-R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。将数据库概念模式映射为数据库逻辑模式,也就是把E-R模型转换为关系模型。既分别将每个实体集转换为关系,再将每个联系集也转换为关系。于是从图3-2-1 全局概念模式E-R图可得如下关系模式。将实体集映射为关系:学生(学号,学生姓名),学号是主码。授课(课程号,教师号,学号),(课程号,教师号,学号)是主码。任课教师(教师号,姓名,性别),教师号是主码。课程负责人(职工号,姓名,性别),职工号是主码。测验卷(试卷号,试卷名,课程号,题量,测试时间,难度),(试卷号,试卷名,课程号)是主码。课程习题(课程号,章节号,知识点代号,难度,题号,题目内容,答案),(课程代号,章节号,知识点代号,难度,题号)是主码。选择(试卷号,课程号,题目内容),(试卷号,课程号)是主码。解答(课程号,试卷号,学号,记录号,成绩),(课程号,试卷号,学号,记录号)是主码。4.2.2表的合并由一对多或多对一的联系集映射来的表,其主码与代表“多”端实体集的表相同,故通常由一对多或多对一的联系集映射得来的表可以合并到代表“多”端实体集的表中去。对于本系统经过分析不需要在进行合并。共得到以下的六张表。4.2.3规范化检查上述的各个表的结构,都满足第二范式,故不需要再进行规范化。4.2.4完整性设计授课表中的“课程号”为外码,它参照课程表中的“课程号”属性;授课表中的“学号”为外码,它参照学生表中的“学号”属性;授课表中的“教师号”是外码,它参照任课教师表中的“教师号”属性。测验卷表中的“课程号”为外码,它参照课程表中的“课程号”属性。课程习题表中的“课程号”为外码,它参照课程表中的“课程号”属性。选择表中的“课程号”为外码,它参照课程表中的“课程号”属性。解答表中的“课程号”为外码,它参照课程表中的“课程号”属性;解答表中的“学生号”为 外码,它参照学生表中的“学号”属性。 4.3 建立数据库表:表4-1 4-6列出试卷库管理系统的9个数据库表的结构说明。表4-1 课程表表名课程信息(KC)属性名别名类型长度是否为空说明课程号Cnochar10 主码课程名CnameChar10表4-2 课程负责人表表名课程负责人信息(KCF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福州福州市于山风景名胜公园管理处招聘讲解员(兼文员)笔试历年参考题库附带答案详解
- 常州2025年常州市事业单位招聘笔试历年参考题库附带答案详解
- 河南工业职业技术学院《现代汉语单》2023-2024学年第二学期期末试卷
- 金肯职业技术学院《数据库原理及应用实训》2023-2024学年第二学期期末试卷
- 湖南城市学院《教育名著与经典教育案例》2023-2024学年第二学期期末试卷
- 塔城职业技术学院《光电传感器应用技术》2023-2024学年第二学期期末试卷
- 江西水利职业学院《机器人机械系统》2023-2024学年第二学期期末试卷
- 上海电影艺术职业学院《所得税》2023-2024学年第二学期期末试卷
- 科尔沁艺术职业学院《行政公文写作》2023-2024学年第二学期期末试卷
- 福建林业职业技术学院《工业生态学》2023-2024学年第二学期期末试卷
- 痛觉及其调制
- 七年级上册语文人教版全册文言文全文详解及翻译
- 北师大小学数学小升初《简便运算》复习课件
- 园艺植物种质资源图文
- 中央新疆税收政策解读
- “校园之星”评选实施方案
- 部编版二年级下册语文园地八(完美版)教学设计1
- 《安全生产法培训课件》(2021版)
- 库车中原石油化工有限公司11万吨年凝析油分离及轻烃芳构化项目环境影响评价报告书
- 石膏板吊顶施工方案
- WORD VBA编程 从零开始学VBA
评论
0/150
提交评论