数据库课程设计报告-成绩管理系统
- 格式:doc
- 大小:612.50 KB
- 文档页数:34
数据库课程设计--学生成绩管理系统一、引言学生成绩是教育领域中最重要的数据之一。
为了有效地管理和分析学生的成绩数据,学生成绩管理系统应运而生。
本文将介绍一个基于数据库的学生成绩管理系统的设计。
二、系统概述学生成绩管理系统主要功能包括学生信息管理、课程管理、成绩录入与查询等。
通过该系统,教师可以方便地管理学生成绩,学生可以随时查询个人成绩,而管理员可以对系统进行维护和权限管理。
三、数据库设计1. 实体-关系模型在学生成绩管理系统中,主要的实体包括学生、课程、教师和成绩。
它们之间的关系如下:- 学生与课程之间是多对多的关系,一个学生可以选修多门课程,一门课程也可以有多个学生参加。
- 学生与成绩之间是一对多的关系,一个学生可以有多个成绩记录,但一个成绩只能对应于一个学生。
- 课程与成绩之间是一对多的关系,一门课程可以有多个成绩记录,但一个成绩只属于一个课程。
2. 数据库表设计基于上述实体-关系模型,我们设计了以下数据库表:- 学生表(Student):包括学生编号、学生姓名、性别、年级等信息。
- 课程表(Course):包括课程编号、课程名称、学分等信息。
- 教师表(Teacher):包括教师编号、教师姓名、职称等信息。
- 成绩表(Score):包括学生编号、课程编号、成绩等信息。
四、系统功能设计1. 学生信息管理教师和管理员可以对学生信息进行增、删、改和查操作。
包括学生的基本信息和选课情况等。
2. 课程管理教师和管理员可以对课程信息进行增、删、改和查操作。
包括课程的基本信息和授课教师等。
3. 成绩录入与查询教师可以根据课程和学生信息录入成绩,同时学生和管理员可以根据课程和学生信息查询成绩。
五、系统界面设计学生成绩管理系统应具有用户友好的界面,便于用户操作和信息浏览。
界面设计应符合人机工程学的原则,以实现良好的用户体验。
六、系统安全设计为了确保学生成绩的保密性和完整性,学生成绩管理系统应具备一定的安全措施。
洛阳理工学院课程设计报告课程名称数据库课程设计设计题目学生成绩查询系统专业计算机科学与技术班级 B100506 学号姓名孙帅杰完成日期2013年1月6号课程设计任务书设计题目:学生成绩管理系统设计内容与要求:设计内容:教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。
教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。
一个教师可以教授多个班的多门课程。
教师可以查看学习该课程的学生名单。
课程结束后,教师可以录入课程成绩。
课程分两类,必修课和选修课。
学生可以选修课程,每学期几门。
学生可以查看自己各门课程的成绩。
学生还可以进行评教,给老师打分。
系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。
设计要求:要求完成需求分析,写出功能需求和数据需求描述;在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计;用C#语言,完成管理系统的部分程序模块的界面设计。
指导教师:陶荣2012年12月28日课程设计评语成绩:指导教师:年月日目录1.绪论 (1)1.1 设计目的 (1)1.2 开发工具选择 (1)1.3 开发环境 (1)1.4 本报告的主要内容 (1)2.需求分析 (1)2.1 需求分析的任务 (2)2.2 功能需求 (2)2.3 数据需求 (3)3.总体设计 (3)3.1设计概述 (3)3.2系统总体结构及功能模块划分 (3)3.3系统数据库概念结构设计 (4)3.4 逻辑结构设计 (5)4.主程序设计 (7)4.1 登录模块 (7)4.2 学生信息查询、保存、及修改 (8)4.3 用户管理 (10)5.设计总结 (11)6.心得体会 (12)参考文献 (12)1.绪论1.1 设计目的随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高,因此学校对学生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力,使学生锻炼简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统,包括学生信息,课程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提供的学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生,教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师,给每个班的每门课程安排指定的认课老师。
学生成绩管理系统-课程设计报告学生成绩管理系统-课程设计报告一、引言学生成绩管理系统是一种能够方便高效地管理学生学业成绩的软件系统。
随着教育信息化的发展,学生成绩管理系统已经成为各个学校和教育机构不可或缺的一部分。
本课程设计报告旨在设计和实现一款学生成绩管理系统,以满足学校对学生成绩管理的需求。
二、系统需求分析1.学生信息管理:系统需要能够存储学生的基本信息,包括学号、姓名、性别、年级等。
2.课程管理:系统需要能够管理学校的各门课程信息,包括课程名称、授课教师、学分等。
3.成绩录入:系统需要能够录入学生的成绩信息,包括学生学号、课程名称、成绩等。
4.成绩查询:系统需要提供成绩查询功能,学生和教师能够通过系统查询学生的成绩。
5.成绩统计:系统需要能够对学生的成绩进行统计和分析,包括计算平均成绩、最高分、最低分等。
6.成绩报表:系统需要能够生成成绩报表,以便学校和教师能够查看学生成绩的总体情况。
三、系统设计1.数据库设计:设计一个学生表和一个课程表,学生表包括学生的学号、姓名、性别、年级等信息,课程表包括课程的名称、授课教师、学分等信息。
成绩信息通过学生表和课程表建立关联关系。
2.用户界面设计:设计一个用户友好的界面,包括学生登录界面、教师登录界面和管理员登录界面。
学生能够查询个人成绩和课程信息,教师能够录入学生成绩和查询学生成绩,管理员能够管理学生和课程信息。
3.功能模块设计:将系统划分为学生管理模块、课程管理模块、成绩录入模块、成绩查询模块、成绩统计模块和成绩报表模块。
每个模块实现相应的功能,模块之间通过接口进行数据交互。
四、系统实现本系统采用Java语言和MySQL数据库进行开发。
使用Java技术实现用户界面和功能模块,使用MySQL数据库存储学生、课程和成绩信息。
五、系统测试与调试进行系统测试,包括功能测试、性能测试和稳定性测试。
通过测试发现并修复系统中存在的问题,确保系统能够正常运行。
六、系统部署与维护将系统部署到学校的服务器上,并进行系统维护工作,包括定期备份数据、更新系统版本等。
1。
概述1.1 简单介绍本系统实现的内容该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。
此系统主要完成用户密码登录、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能.(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序.(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码.(三)成绩查询1。
成绩修改前选中要修改的成绩信息,然后进行修改。
2.成绩添加直接弹出添加对话框,然后进行添加。
3.成绩删除前选中要删除的成绩信息,然后直接删除。
(四) 课程查询1。
课程修改实现对课程名、学时、学分的修改。
2.课程添加对一门新开设的课程进行录入,并存入数据库。
3。
课程删除对一门不再开设的课程进行删除,并从数据库中删除。
(五)学生查询1。
学生信息修改修改选中当前学生的信息。
2。
学生信息添加增加新学生的信息。
3。
学生信息删除删除选中当前学生信息。
1。
2 开发环境简介1)Microsoft visual c++ 6。
0Visual C++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出Visual C++1。
0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具.Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具. 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
2)Microsoft SQL Server 2000和与系统相关的SQL 语言介绍数据定义DDL(data definition language)数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的.2。
学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。
你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。
这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。
《数据库原理与应用》课程设计项目名称:学生成绩管理系统目录第一章实训目的、要求及步骤实训目的实训要求实训步骤第二章数据库设计需求分析数据库概念分析数据库逻辑设计第三章系统操作说明及运行结果数据定义数据查询操作数据更新操作第四章程序设计创建数据库输入数据第五章总结及人员分工第一章实训目的、要求及步骤一、实训目的1.通过课程设计,使学生进一步巩固所学的知识,考查学生对数据库理论及知识的理解能力和综合运用能力2.培养学生自主学习、独立思考的能力,学会查找资料并善于分析资料的能力3. 通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统二、实训要求1、完成进学生、班级、课程表的维护2、完成成绩表的浏览查找3、完成成绩表的维护4、按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率5、统计某学生、某学期的所有课程的平均成绩。
6、完成用户管理功能7、完成数据备份与恢复功能所需的知识点:E-R关系图;数据库表设计,数据库表维护等。
三、实训步骤遵循“自顶向下、逐步细化”的设计方法,认真分析并理解课程设计题目的要求,进行相应功能分析、算法分析,数据流程分析,E-R关系图分析,进行概要设计;1、需求分析界定系统范围,描述系统需求(包括数据需求和功能需求)2、概念结构设计画出系统各部分(子系统)E-R模型图3、逻辑结构设计(1)完成E-R模型向关系模型的转换(2)对关系模型进行优化(如果需要)4、物理结构设计(针对SQL Sever 2000)(1)存储结构设计(如数据表的构成,字段名称,字段数据类型,字段长度),选择合适的数据库表结构(2)完整性约束设计(如主键约束、非空约束、默认值约束、检查约束、唯一约束)5、将所设计表的结构在SQL Sever上实现,要求单独建立数据库并生成备份文件(备份数据库或导出数据库表到文本文件)。
课程设计报告•1问题描述1.1 背景1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。
2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。
3)每门课程有课程号,课程名称、任课教师、学分等信息。
4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。
1.2 数据需求学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。
根据学校的情况,可按下面的步骤来分析:(1)确定学生所在的院系、所学的专业以及所在的班级。
(2)确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在班级、学号和学期。
(3)分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。
(4)用户信息分析,通常包括用户名和密码。
• 2 解决方案 ( 或数据库系统设计 )2.1 E-R 模型设计根据E—R图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图:1)学生登记表——学生表.dbf。
字段名称字段类型字段宽度xh 字符型 10xm 字符型 6xb 字符型 2csrq 日期型 8bj 字符型 42)课程登记表——课程表.dbf。
字段名称字段类型字段宽度kch 字符型 2kcm 字符型 10js 字符型 10xf 字符型 103)成绩登记表——成绩表.dbf字段名称字段类型字段宽度xh 字符型 10kch 字符型 2cj 数值型 34) 借书视图(lyxview)。
为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据:学生表.xh学生表.xm学生表.xb学生表.csrq学生表.bj课程表.kch课程表.kcm课程表.js课程表.xf成绩表.cj其视图关系可由以下SQL语句定义:SELECT 学生表.*, 课程表.*, 成绩表.cj;FROM 学生成绩管理系统!学生表, 学生成绩管理系统!课程表,;学生成绩管理系统!成绩表;WHERE 学生表.xh = 成绩表.xh;AND 课程表.kch = 成绩表.kch所建数据库如下图所示:2.2 数据表•3系统实现3.1 开发环境本系统由SQL语言编写,在Visual Foxpro 6.0软件环境下可以正常运行3.2 系统流程图系统流程图模块主要由刘龙洋同学设计,而系统的功能设计主要由李江滨同学完成,我主要负责程序主要功能界面的设计,下面是部分流程图:3.3 程序主要功能界面1、登录界面的设计:第一步:在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数据表mm.dbf;第二步:创建表单并保存为“登录”;第三步:添加lable1,并设置其caption属性为“欢迎使用学生成绩管理系统!”;第四步:添加lable2和text1并设置相关属性;第五步:添加timer控件,并设置其Enabled属性为“真”,用于设计窗口动画。
学生成绩管理系统课程设计报告一、课程设计题目基本要求本次课程设计的题目是学生成绩管理系统,要求实现以下功能: 1. 学生成绩录入:学生成绩管理系统应允许用户输入学生的学号、姓名、三门课的成绩以及平均成绩。
2. 学生成绩查询:学生成绩管理系统应允许用户按学号、姓名、以及单科成绩查询学生的成绩记录。
3. 学生成绩统计:学生成绩管理系统应允许用户按学号、姓名、以及平均成绩进行统计,并输出统计结果。
4. 学生成绩排序:学生成绩管理系统应允许用户按三科平均成绩、单科成绩、学号进行排序,并输出排序结果。
5. 退出系统:学生成绩管理系统应提供退出系统的选项,用户选择退出后,应退出系统。
二、设计要求1. 使用结构体数组实现学生成绩管理系统的数据结构。
2. 使用函数、指针、算法、流程结构及文件等综合应用实现学生成绩管理系统的各项功能。
3. 实现学生成绩管理系统的界面设计,包括菜单、表格、单选框、复选框、下拉框等控件的使用。
4. 使用数据库技术实现学生成绩管理系统的数据存储功能。
5. 实现学生成绩管理系统的测试流程,包括测试用例的设计和测试。
三、数据结构设计描述1. 数据字典数据字典是学生成绩管理系统的数据结构描述,包括以下数据流条目和数据存储条目:数据流条目:- 全部记录:最新更新后所有关于学生成绩的记录。
- 学生成绩记录:存放学生所有可供查询的信息。
数据存储条目:- 学生成绩记录:存放学生所有可供查询的信息,以索引文件的形式组织。
2. 数据结构学生成绩管理系统的数据结构包括以下结构体:- struct student:定义学生结构体,包括学号、姓名、三门课的成绩以及平均成绩。
- struct record:定义成绩记录结构体,包括学号、姓名、三门课的成绩以及平均成绩。
- struct database:定义数据库结构体,包括学生成绩记录数组,以及查询、统计、排序等函数。
四、系统功能描述1. 菜单设计学生成绩管理系统应提供以下菜单:- 成绩录入- 成绩查询- 成绩统计- 成绩排序- 退出系统2. 功能实现学生成绩管理系统的各项功能应分别实现如下:- 成绩录入:实现学生成绩的录入功能。
《SQL数据库技术》课程设计一、题目:学生成绩管理二、因为我做的是学生成绩管理,所以数据库中至少有个一个表是来存储学生的各课成绩的。
有了学生成绩,得知道这个成绩是哪个学生的,所以此表中也得有学生姓名,但是学生姓名肯定有重复的,所以得必须有个标志来惟一标识一个学生,所以得给每个学生一个编号(学号),但是也得必须清楚,这个成绩是哪门课程的,所以给课程定义了一个编号。
之后,得想到有了学生成绩表,总得有个表来存放学生信息吧,所以又建立一个学生信息表,此表中的必须的字段得有学号、姓名、班级,其他的字段可以根据需要来添加。
然后就是得有个课程表来存放哪个教师教哪门课程信息,所以此表中至少得有课程号,课程名称和教师的惟一标识(教师编号),再有一个表来存放教师的信息的,其中的字段必须有教师编号,教师姓名和所在的部门,当然也可以有教师出生日期、职称、电话号码等字段。
总之,这个学生管理系统总共包括四个表学生信息表student、教师信息表teacher、成绩表score和课程表course。
Student表:在建表时,除了添加学号、姓名、班级必要字段,还添加一些其他的字段,比如:出生日期、性别、邮箱地址和类型等。
Teacher表:在建表时,除了添加教师编号,教师姓名,部门必要字段,还可以添加一些其他的字段,比如:出生日期、性别、和电话等。
Score表:此表应该包括学生学号、课程号和成绩等。
Course表:应包括课程号,对应的课程名称和教此课程的教师编号。
(1)、建立一个数据库,然后在此数据库中建立这四个数据表。
(2)、向表中添加记录。
(3)、用一些查询语句来查看表中的特定记录。
(4)、向表中添加一些字段。
如:向teacher表中添加字段tel(5)、创建一个自定义数据类型,并修改student表中的某个字段为此数据类型。
(6)、创建几个视图⏹查询某个班级的学生信息⏹查看每门课程的平均成绩⏹查看选修计算机课程的学生信息⏹查看所有男教师和所有男学生的信息(7)、创建几个存储过程●显示成绩表中的课程号在课程表中且所任教师性别为男、计算机系的成绩表●显示某学生的学号,姓名,所学课程号,课程名称和对应的成绩●在执行此存储过程时,如果没有给出参数(学生姓名),则输入全部的学生的学号,姓名,班级,任课教师编号及其姓名,所学课程名称和成绩,如果有,则显示此学生的以上信息。
数据库课程设计报告一学生成绩管理系统学校: 西安科技大学学院:机械工程学院年级:1102班专业:工业工程姓名:刘畅(216)郭凯峰(218)张帅(219)罗文博(221)目录第一章引言 (2)第二章系统分析 (3)2.1项目开发背景 (3)2.2系统开发的目标 (3)2。
3项目开发的意义 (3)2.4需求分析 (3)2。
5系统功能分析 (3)2。
6 可行性分析 (4)2.6。
1技术可行性 (4)2。
6.2工具可行性 (4)2。
6.3经济可行性 (5)2。
6.4操作可行性 (5)2.6开发工具 (5)第三章系统设计 (6)第四章系统制作 (10)4。
1 创建应用对象 (10)4.2模块的设计与实现 (10)4。
3设计系统管理模块 (10)4.3。
1设计登陆窗口 (11)4.3。
2设计密码修改窗口 (13)4.3.3设计用户管理窗口 (15)4.3.4设计菜单 (18)4.4设计学生基本信息管理模块 (19)4。
5设计教师基本信息管理模块 (26)4。
6设计成绩信息管理模块 (29)4。
7设计课程信息管理模块 (30)4.8使用说明及优缺点分析: (32)第五章设计心得 (32)第一章引言在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。
因此对教育行业的多元信息进行有效的管理工作,也成为教育行业的重中之重。
目前,学校工作繁杂,资料众多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有已套完整的、统一的系统。
为各高校教务工作人员减轻负担,提高工作效率,所以制作了学生成绩管理系统.学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。
比较系统的对教务,教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化.同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业作出了巨大的贡献,也为今天的民办教育在未来市场的竞争力有所提高。
数据库原理与应用课程设计说明书题目:学生成绩管理系统院系:专业班级:学号:学生姓名:指导教师:2008年12 月22 日一概述1.1目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.2设计环境① Microsoft SQL Server 2000② Microsoft Visual C++ 6.0二需求分析2.1 系统功能要求设计此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。
容易地完成学生信息的查询操作。
(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
2.2 系统模块设计成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信2.3 数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:数据库中用到的表:三概念模型设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。
目录1 引言 (1)1.1课程设计选题…………………………………………………………………。
.。
1 1。
2课程设计的目的……………………………………………………………….。
11.3课程设计的背景........................................................................。
1 2 系统分析与设计 (2)2.1 功能及性能分析 (2)2。
1。
1 功能需求 (2)2.2 系统的开发运行环境 (2)2.3 系统总体设计 (2)3 数据库设计 (3)3。
1 数据库概念结构………………………………………………………………。
. 33.2 数据库逻辑结构……………………………………………………………….。
4 3。
2.1 关系模型……………………………………………………………….。
43.2.2视图的设计。
..。
.。
.。
..。
.......。
....。
......。
...。
..。
..。
..。
..。
..。
.。
.。
.。
..。
.。
.。
.。
.。
..。
...。
5 3。
3 数据库的实现…………………………………………………………………..5 3。
3。
1表。
.。
.。
...。
..。
.。
.。
..。
..。
..。
...。
.。
..。
.。
.....。
.。
..。
.。
.。
.。
.。
..。
.。
....。
....。
.。
.。
...。
...。
.。
.。
.。
(5)4 详细设计与实现 (7)4.1 登录模块.。
.....。
.。
.。
..。
..。
.。
...。
..。
..。
..。
..。
.。
.。
.。
.。
..。
.。
....。
.。
.。
.。
.。
.。
.。
.。
.。
.。
..。
. 74.2主页面模块……………………………………………………………………。
.。
8 4。
3学生查询模块…………………………………………………………………。
. 94.4成绩查询模块…………………………………………………………………..。
94.5添加学生模块…………………………………………………………………。
学生成绩管理系统数据库设计集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#JIANGXI AGRICULTURAL UNIVERSITY数据库课程设计报告题目:学生成绩管理系统数据库设计学院:姓名:学号:专业:班级:指导教师:二0一二年 6 月目录一、需求分析需求概述针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。
学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
二、数据库设计确定联系集及E-R图根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:①、标示实体集:班级,课程,学生,成绩四个关系。
②、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属”的关系:N:1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”的关系:N:M关系Score的主码是{studentNo,courseNo,term}显然同一个学生在同一个学期不允许修读同一门课程多次关系Course的priorCourse属性参照本关系的主码courseNo属性。
这里假设一门课程最多只需要定义一门先修课程。
③、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)画出E-R图班级信息图如下:图2-2-3课程实体集E-R图Score:(学号,课程号,开课学期,成绩)设计出E-R图后,可将E-R图转换为数据库模式。
目录1、需求与功能分析 32、系统总体框架 43、模块设计与分析 44、类的设计与分析 65、特色算法分析 76、功能测试 107、存在的不足与对策 138、程序源代码 149、使用说明 2310、参考文献 231、需求与功能分析1需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言;教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作;系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作;根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理;开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化;目前,学校工作繁杂、资料重多;目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统;因此,开发一套适和大众的、兼容性好的系统是很有必要的;2功能分析“学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统;这九个模块既相互联系又相互独立;本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作;本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据;2、系统总体框架图13、模块设计与分析1输入学生资料模块:主要功能用来对学生的成绩进行收集和输入;在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名;在准确输入学生资料后,就可以对该学生的各科成绩进行录入;该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单;2输出学生资料模块:主要功能用来对学生的成绩进行输出;在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等;具体包括学生的班级,学号,姓名和各科成绩;在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单;3按学生姓名进行排列模块主要功能是用来对学生的资料按姓名进行排序;在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料;4添加学生资料模块主要功能是用来添加学生资料,成绩;如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块;如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作;5按姓名查找,删除该学生资料模块主要功能是用来删除学生资料;在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了;由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化6查找并显示学生资料模块主要功能是用来查找学生资料;在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息7按姓名查找,修改学生资料模块主要功能是用来修改学生资料;在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息;8从文件中读入数据模块主要功能是用来从文件中读入学生数据;由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能;这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力;9储存学生资料并退出系统模块主要功能是用来储存学生资料;在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作;4、类的设计与分析Student类类图typedef class{public:char num10;char cla10;char name20;char byyl10;char jsjzc20;char sjk10;char jsjyy20;}Student;5、特色算法分析功能:定义菜单函数,通过输出函数显示系统功能;利用switch语句实现多分支选择结构;算法思路:switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;流程图:case=2case=3case=4case=5case=6case=1case=7case=8 case=0输入学生资料添加学生资料按姓名查找,删除该学生资料查找并显示学生资料从文件中读入数据按姓名查找,修改学生资料储存学生资料并退出系统按学生姓名进行排列输出学生资料yesnoyesyesyesyesyesyesyesyesnononononono代码:void main //主函数调用;{int n=0;for;;{switchmenu{case 1:cout<<setw15<<" "<<"输入学生资料"<<endl;n=Inputstu,n;break;case 2:cout<<setw15<<" "<<"输出所有学生资料"<<endl;Displaystu,n;break;case 3:cout<<setw15<<" "<<"按姓名排序"<<endl;Sortstu,n;cout<<setw15<<" ";system"pause";break;case 4:cout<<setw15<<" "<<"插入学生资料"<<endl;n=Insertstu,n;cout<<setw15<<" ";system"pause";break;case 5:cout<<setw15<<" "<<"删除学生资料"<<endl;cout<<setw15<<" "<<"输入他她的姓名:";n=Deletestu,n;cout<<setw15<<" ";system"pause";break;case 6:cout<<setw15<<" "<<"查找学生"<<endl;Querystu,n;cout<<setw15<<" ";system"pause";break;case 7:cout<<setw15<<" "<<"修改学生资料"<<endl;cout<<setw15<<" "<<"输入你要修改的学生的姓名:";n=Xiugaistu,n;system"pause";break;case 8:cout<<setw15<<" "<<"从文件中读入数据"<<endl;n=AddfromTextstu,n;break;case 0:cout<<setw15<<" "<<"将所有资料写入文件"<<endl;WritetoTextstu,n;cout<<setw15<<" ";system"pause";break;}}}6、功能测试图1 学生成绩管理系统主菜单页面图二为输入学生资料模块图三为输出学生资料模块图四按学生姓名进行排列模块图五为添加学生资料模块图六为按姓名查找,删除该学生资料模块图七为查找并显示学生资料模块图八为按姓名查找,修改学生资料模块图九为从文件中读入数据模块图十为储存学生资料并退出系统模块7、存在的不足与对策本学生成绩管理系统由九个模块组成,每个模块相互联系又相互独立;这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限;只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等;而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符;同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能;在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用;如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理;但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素;因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的;开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平;为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化;现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素;在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替;一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩;8、程序源代码include<iostream>include<stdio.h>include<ctype.h>include<stdlib.h>include<string.h>include<iostream>include<iomanip>using namespace std;typedef class{public:char num10;char cla10;char name20;char byyl10;char jsjzc20;char sjk10;char jsjyy20;}Student;Student stu80;int menu{char c;for;c<'0'||c>'8';{system"cls";cout<<" 欢迎使用本学生成绩管理系统"<<endl; cout<<"编程人员:纪欣吉";cout<<endl;cout<<" 学生成绩管理系统 "<<endl;cout<<setw32<<" "<<"1.输入学生资料"<<endl;cout<<setw32<<" "<<"2.输出学生资料"<<endl;cout<<setw32<<" "<<"3.按学生姓名进行排列"<<endl;cout<<setw32<<" "<<"4.添加学生资料"<<endl;cout<<setw32<<" "<<"5.按姓名查找,删除该学生资料"<<endl;cout<<setw32<<" "<<"6.查找并显示学生资料"<<endl;cout<<setw32<<" "<<"7.按姓名查找,修改该学生资料"<<endl;cout<<setw32<<" "<<"8.从文件中读入数据"<<endl;cout<<setw32<<" "<<"0.储存学生资料并退出系统"<<endl;cout<<setfill'='<<setw48<<"="<<endl;cout<<setw15<<" ";cout<<"请选择0-8:";c=getchar;}returnc-'0';}int InputStudent stud,int n //输入数据;{int i=0;char sign,x10;for;sign = 'n' && sign = 'N';{cout<<setw15<<" "<<"班级:";cin>>studn+i.cla;cout<<setw15<<" "<<"学号:";cin>>studn+i.num;cout<<setw15<<" "<<"姓名:";cin>>studn+;cout<<setw15<<" "<<"编译原理:";cin>>studn+i.byyl;cout<<setw15<<" "<<"计算机组成原理:";cin>>studn+i.jsjzc;cout<<setw15<<" "<<"数据库:";cin>>studn+i.sjk;cout<<setw15<<" "<<"计算机英语:";cin>>studn+i.jsjyy;getsx;cout<<setw10<<" ";cout<<"还有要输入的信息吗 y/n";cin>>&sign;i++;}returnn+i;}void DisplayStudent stud, int n //输出数据;{int i;cout<<setw15<<" "<<setfill'-'<<setw65<<"-"<<endl;cout<<setw15<<" "<<"班级学号姓名编译原理计算机组成原理数据库计算机英语"<<endl;cout<<setw15<<" ";cout<<setfill'-'<<setw65<<"-"<<endl;fori=1;i<n+1;i++{printf"\t\t%-9s%-9s%-9s%-9s%-9s%-9s%-9s\n",studi-1.cla,studi-1.num,studi-1.n ame,studi-1.byyl,studi-1.jsjzc,studi-1.sjk,studi-1.jsjyy;ifi>1 && i%10==0{cout<<setw15<<" "<<setfill'-'<<setw35<<"-"<<endl;cout<<setw15<<" ";system"pause";cout<<setw15<<" "<<setfill'-'<<setw35<<"-"<<endl;}}cout<<setw15<<" ";system"pause";}void SortStudent stud,int n //按名字排序;{int i,j;char t20;fori=0;i<n-1;i++forj=0;j<n-1-i;j++ifstrcmpstudj.num,studj+1.num>0{strcpyt,studj+1.cla;strcpystudj+1.cla,studj.cla;strcpystudj.cla,t;strcpyt,studj+1.num;strcpystudj+1.num,studj.num;strcpystudj.num,t;strcpyt,studj+;strcpystudj+,;,t;strcpyt,studj+1.byyl;strcpystudj+,studj.byyl;strcpystudj.byyl,t;strcpyt,studj+1.jsjzc;strcpystudj+,studj.jsjzc;strcpystudj.jsjzc,t;strcpyt,studj+1.sjk;strcpystudj+,studj.sjk;strcpystudj.sjk,t;strcpyt,studj+1.jsjyy;strcpystudj+,studj.jsjyy;strcpystudj.jsjyy,t;}cout<<setw15<<" "<<"排序成功"<<endl;}int InsertStudent stud,int n //插入一条学生信息; {char x10;cout<<setw15<<" "<<"班级:";cin>>studn.cla;cout<<setw15<<" "<<"学号:";cin>>studn.num;cout<<setw15<<" "<<"姓名:";cin>>;cout<<setw15<<" "<<"编译原理:";cin>>studn.byyl;cout<<setw15<<" "<<"计算机组成原理:";cin>>studn.jsjzc;cout<<setw15<<" "<<"数据库:";cin>>studn.sjk;cout<<setw15<<" "<<"计算机英语:";cin>>studn.jsjyy;getsx;n++;cout<<setw15<<" "<<"插入成功"<<endl;returnn;}int DeleteStudent stud,int n //按名字查找信息,删除信息; {char s20;int i=0,j;cin>>s;,s=0&&i<n i++; /查找判断/ifi==n{printf"\t\t\t没有发现该学生资料\n"; /返回失败信息/returnn;}forj=i;j<n-1;j++ /删除操作/{strcpystudj.num,studj+1.num;,studj+;strcpystudj.cla,studj+1.cla;strcpystudj.byyl,studj+1.byyl;strcpystudj.jsjzc,studj+1.jsjzc;strcpystudj.sjk,studj+1.sjk;strcpystudj.jsjyy,studj+1.jsjyy;}cout<<setw15<<" "<<"当前信息已删除成功"<<endl; /返回成功信息/ returnn-1;}void QueryStudent stud,int n //按名字查找信息{char s20;int i=0;cout<<setw15<<" "<<"输入他她的姓名:";cin>>s;,s=0&&i<ni++; /查找判断/ifi==n{printf"\t\t\t没有发现该学生资料\n"; /输入失败信息/return;}cout<<setw15<<" "<<"学号:"<<studi.num<<endl;cout<<setw15<<" "<<"编译原理:"<<studi.byyl<<endl;cout<<setw15<<" "<<"计算机组成原理:"<<studi.jsjzc<<endl;cout<<setw15<<" "<<"数据库:"<<studi.sjk<<endl;cout<<setw15<<" "<<"计算机英语:"<<studi.jsjyy<<endl;}int XiugaiStudent stud,int n //修改信息;{n=Deletestud,n;cout<<setw15<<" "<<"输入你要修改的学生资料"<<endl;n=Insertstud,n;cout<<setw15<<" "<<"修改完成"<<endl;returnn;}int AddfromTextStudent stud, int n //从文件中读入数据;{int i=0,num;FILE fp;char filename20;cout<<setw15<<" "<<"输入文件名:";cin>>filename;iffp=fopenfilename,"rb"==NULL{cout<<setw15<<" "<<"无法打开文件"<<endl;cout<<setw15<<" ";system"pause";returnn;}fscanffp,"%d",#for;i<num;{fscanffp,"%s%s%s%s%s%s%s",studn+i.cla,studn+i.num,studn+,studn+i.byyl, studn+i.jsjzc,studn+i.sjk,studn+i.jsjyy;i++;}n+=num;fclosefp;cout<<setw15<<" "<<"读入成功"<<endl;cout<<setw15<<" ";system"pause";returnn;}void WritetoTextStudent stud,int n //将所有记录写入文件;{int i=0;FILE fp;char filename20;cout<<setw15<<" "<<"将资料输入文件"<<endl;cout<<setw15<<" "<<"输入文件名:";cin>>filename;iffp=fopenfilename,"w"==NULL{cout<<setw15<<" "<<"无法打开文件"<<endl;system"pause";return;}fprintffp,"%d\n",n;for;i<n;{fprintffp,"%-6s%-5s%-5s%-5s%-5s%-5s%-5s\n",studi.cla,studi.num,,st udi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy;i++;}fclosefp;cout<<setw15<<" "<<"输入成功"<<endl;int b;cout<<setw15<<" "<<"请确定是否退出系统:"<<endl;cout<<setw15<<" "<<"0.退出系统"<<endl;cout<<setw15<<" "<<"1.返回"<<endl;cin>>b;ifb==0{cout<<setw15<<" "<<"谢谢使用"<<endl;cout<<setw15<<" ";system"pause";exit0;}}void main //主函数调用;{int n=0;for;;{switchmenu{case 1:cout<<setw15<<" "<<"输入学生资料"<<endl;n=Inputstu,n;break;case 2:cout<<setw15<<" "<<"输出所有学生资料"<<endl;Displaystu,n;break;case 3:cout<<setw15<<" "<<"按姓名排序"<<endl;Sortstu,n;cout<<setw15<<" ";system"pause";break;case 4:cout<<setw15<<" "<<"插入学生资料"<<endl;n=Insertstu,n;cout<<setw15<<" ";system"pause";break;case 5:cout<<setw15<<" "<<"删除学生资料"<<endl;cout<<setw15<<" "<<"输入他她的姓名:";n=Deletestu,n;cout<<setw15<<" ";system"pause";break;case 6:cout<<setw15<<" "<<"查找学生"<<endl;Querystu,n;cout<<setw15<<" ";system"pause";break;case 7:cout<<setw15<<" "<<"修改学生资料"<<endl;cout<<setw15<<" "<<"输入你要修改的学生的姓名:";n=Xiugaistu,n;system"pause";break;case 8:cout<<setw15<<" "<<"从文件中读入数据"<<endl;n=AddfromTextstu,n;break;case 0:cout<<setw15<<" "<<"将所有资料写入文件"<<endl;WritetoTextstu,n;cout<<setw15<<" ";system"pause";break;}}}9、使用手册1用户进入系统后,就会看到学生管理系统的主菜单页面;系统总共有九个模块,分别由0到8表示,在主菜单页面只能输入数字0到8,输入其他字符无效,如果用户输入无效字符,系统仍停留在主菜单页面;2进入到主菜单页面后,用户可以根据自己的需求选择不同的选项,选择后系统就会进入子系统页面,然后用户按系统的提示操作就行了;10、参考文献C++程序设计钱能清华大学出版社C++程序设计试验指导钱能清华大学出版社C程序设计谭浩强清华大学出版社。
数据库学生成绩查询与管理系统课程设计数据库原理课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系1设计题目名称"电信学院学生成绩管理系统" 2系统功能模块设计学生信息管理:学生对自己的信息进行查询,学生基本信息包括:学号、姓名、性别、年龄、专业、班级、密码、各科成绩等。
教师信息管理:老师自己信息的管理,教师基本信息包括:教师号、姓名、课程号、性别、电话、密码等,可以对学生成绩进行录入、修改等。
再者便是课程管理,在该模块中应该包含有对学生成绩信息的查询和处理,如包括各科成绩单、获奖学金信息查询统计、补考名单,及格率、优秀率、平均分统计等。
电信学院学生成绩管理系统基本信息管理选课及成绩管理查询统计学生信息各科成绩单获奖学金信息查询补考名单及格率优秀率平均分统计课程信息教师信息专业班级信息成绩信息的录入选课信息修改学生成绩课程学号班级密码专业姓名性别课程号学分教师号课程名教师选择分数教师号姓名性别课程号密码MNNP年龄电话将E-R图转换为关系模型实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个独立的关系模式。
与该联系相联的个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同的关系模式可合并。
具体的基本E—R图向关系模式的转化如下:(1)学生(学号,姓名,性别,年龄,专业,班级,密码),其主关键字为学号;(2)课程(课程号,课程名,教师名,学分),其中主关键字为课程号;(3)成绩(学号,课程号,分数),其中主关键字为学号和课程号;(4)教师(教师号,姓名,课程号,性别,电话,密码),其中主关键字为教师号;5数据库物理设计数据库中用到的表数据库表名关系模式名称备注Student 学生学生学籍信息表Course 课程课程基本信息表Score 成绩选课成绩信息表Teacher 教师教师基本信息表Student基本情况数据表字段名字段类型长度备注Student _sno Char 10 学号(主键)Student _sname char 10 姓名Student _sex char 4 性别Student_age int 2 年龄Student_ major char 10 专业Student_ classes char 10 班级Student_password char 10 密码Course数据表字段名字段类型长度备注Course_cno char 10 课程号(主键)Course_cname char 10 课程名Teaher_sno char 10 教师号Course_score int 2 学分Score情况数据表字段名字段类型长度备注Student_sno char 10 学号(主键)Course_cno char 10 课程号(主键)Score int 4 分数Teacher基本情况数据表字段名字段类型长度备注Teaher_sno char 10 教师号(主键)Teaher_name char 10 教师姓名Course_cname char 10 课程名Teaher _sex char 4 性别Teaher _password char 10 密码Teaher _telephone char 10 电话6程序运行环境和开发环境Micsoft SQL Server 20007主要模块程序流程图电信学院学生成绩管理系统学生教师查询学生信息返回学生信息查询教师信息返回教师信息返回选课信息查询选课信息查询选课信息返回选课信息查询成绩信息查询成绩信息查询成绩信息返回成绩信息查询学生信息返回学生信息查询教师信息返回教师信息8主要功能实现的程序段8.1创建基本表(1)学生信息表的建立。
学生成绩管理系统课程设计报告问题与解决方法学生成绩管理系统课程设计报告问题与解决方法在学生成绩管理系统的课程设计报告中,无疑会遇到一些问题。
这些问题可能涉及到技术、实际操作、数据管理等方面。
针对这些问题,我们需要有明确的解决方法,以保证课程设计报告的质量和实用性。
1. 报告内容混乱、重复在撰写学生成绩管理系统课程设计报告时,一些同学可能会遇到报告内容混乱、重复的问题。
这可能是因为在整理资料、调研过程中没有做好分类和归纳,也可能是缺乏对整个报告框架的清晰规划。
针对这个问题,我们可以采取以下解决方法:1.1 确立清晰的报告框架在开始撰写报告之前,先要确立清晰的报告框架。
可以先列出报告的大纲,明确每个部分的内容和要点,然后再进行详细的撰写。
这样可以避免在后期整理时出现内容重复、混乱的情况。
1.2 分块撰写、定期整理在撰写报告的过程中,可以将内容分块进行撰写,每完成一个部分就进行一次整理。
及时对已经写好的部分进行检查、删除重复内容,保持报告的整洁和连贯性。
2. 技术实现困难学生成绩管理系统课程设计报告涉及到一定的技术实现,可能会遇到一些困难和障碍。
在系统开发过程中,可能会遇到编程问题、数据库设计问题等。
针对这个问题,我们可以采取以下解决方法:2.1 加强技术学习针对具体的技术实现问题,可以加强相关技术的学习和实践。
可以通过查阅资料、学习相关课程、参加实践项目等方式,提升自身的技术水平,从而更好地完成系统的设计和实现。
2.2 寻求帮助和交流在遇到技术困难时,不妨寻求他人的帮助和交流。
可以向老师、同学请教,也可以通过线上社区、论坛等渠道寻求他人的帮助。
多和他人交流,借鉴他人的经验和想法,也是解决技术困难的好途径。
3. 数据管理与分析困难学生成绩管理系统课程设计报告通常需要涉及到大量的数据管理和分析工作。
在这个过程中,可能会遇到数据不完整、分析方法不当等问题。
针对这个问题,我们可以采取以下解决方法:3.1 数据清洗与整理在进行数据管理和分析之前,要先进行数据清洗与整理。
数据库课程设计教学管理系统1. 简介数据库课程设计教学管理系统是一款为数据库课程设计教学提供支持的管理系统。
该系统旨在帮助教师和学生更高效地管理和组织课程设计的过程,提高教学质量和学生学习效果。
2. 功能概述2.1 学生管理•学生信息管理:包括学生基本信息的录入、查询、修改和删除功能。
教师可以通过该功能对学生信息进行维护和管理。
•学生成绩管理:教师可以录入学生的课程设计成绩,并进行成绩的查询、修改和统计。
学生可以通过系统查看自己的成绩。
2.2 课程管理•课程信息管理:包括课程基本信息的录入、查询、修改和删除功能。
教师可以通过该功能对课程信息进行维护和管理。
•课程安排管理:教师可以设置每学期的课程设计安排,包括上课时间、地点等信息。
学生可以通过系统查看自己所选课程的安排。
2.3 选课管理•选课功能:学生可以通过系统进行课程的选修。
教师可以查看选课学生的名单。
2.4 课程设计管理•课程设计题目管理:包括针对不同课程的课程设计题目录入、查询、修改和删除功能。
教师可以通过该功能对课程设计题目进行管理。
•课程设计提交管理:学生可以通过系统提交自己的课程设计报告。
教师可以审核和评分。
2.5 消息通知管理•教师和学生之间的消息通知功能:包括系统通知、教师给学生的个人消息、学生给教师的个人消息。
通过该功能,教师和学生可以相互交流和沟通。
3. 系统设计3.1 数据库设计系统采用关系型数据库来存储数据,主要包括以下表格:•学生表:存储学生的基本信息,包括学号、姓名、性别、年龄等字段。
•课程表:存储课程的基本信息,包括课程编号、课程名称、学分、教师等字段。
•成绩表:存储学生的课程设计成绩,包括学号、课程编号、成绩等字段。
•选课表:存储学生的选课信息,包括学号、课程编号等字段。
•课程设计题目表:存储课程设计的题目信息,包括课程编号、题目、描述等字段。
•课程设计报告表:存储学生提交的课程设计报告,包括学号、课程编号、报告文件等字段。
数据库原理与应用课程设计报告课程名称数据库原理与应用实验名称学生成绩管理系统学生学院自动化学院 _____ 专业班级______ xxxx________学号_xxxx学生姓名_xxxx____ _ 指导教师______ 黄永慧 __ _____2012 年 5 月 20日一、课程设计的内容:当前,应用数据库技术编写信息管理软件,已是很成熟的技术,关键是如何实现设计要求,如何设计出友好的人机界面,使程序运行稳定、使用方便、操作简便,建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。
学生成绩管理系统的设计与实现主要包括如下内容:1)原始数据录入(包括学生信息、课程信息和学生成绩的录入);2)课程查询、学生信息和成绩查询查询;3)报表输出(包括学生成绩汇总报表、需重修的学生统计表、班级单科成绩表等);4)数据维护(包括数据备份、数据恢复等),该部分内容选做。
5)随着网络技术的发展,可考虑提供网络在线查询功能。
二、课程设计的要求与数据对于课程设计要求按照如下步骤进行:1)选题与搜集资料:根据分组,选择设计题目,在小组内进行分工,进行应用系统调查,搜集相关资料。
2)分析与设计:根据搜集的资料,进行功能与数据分析,并进行数据库、系统功能等设计。
撰写数据字典、使用E-R图为该数据库设计概念模型、将E-R数据模型转换成关系模型、对于设计好关系模式集,利用SQL语句定义各个关系模式,定义各关系模式之间的联系,以及参照完整性的约束。
3)程序设计:运用掌握的高级语言(如VB、VC、ASP、JSP等),结合选择的数据库管理系统(要求选择SQL SERVER 2000,或SQL SERVER 2005),编写程序,实现所设计的模块功能。
4)调试与测试:装入初始数据,自行调试程序,成员交叉测试程序,并记录测试情况。
装入一定量的测试数据,调试系统,并完成各项操作要求。
三、课程设计应完成的工作:学生成绩管理系统至少需要完成以下功能:1、基本信息的管理系统,基本功能如下:(1)能够完成新、老生信息的输入、修改、删除等工作,学生的基本信息,包括学号、姓名、性别、籍贯等,具体可根据需求自行设计;(2)能够完成课程信息的输入、修改、删除等工作,课程的基本信息,包括课程编号、课程名称、学时、学分、先修课等,具体可根据需求自行设计;(3)可以按照特定的信息进行查找,并按照特定的要求进行排序;2、学生成绩的管理,基本功能如下:(1)学生成绩的输入、修改、删除等基本操作;(2)成绩的查询功能,可以按学号、姓名等进行成绩查询;(3)成绩的综合统计功能,包括学生成绩按照不同条件进行排名,管理人员可以选择不同的排序条件。
(4)计算每个学生的总成绩、平均成绩,所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;(5)计算各班的总分和平均分,并按照平均分将各班成绩进行排序。
(6)统计不及格考生的信息;(7)学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。
四、设计:1)总体设计:系统功能模块(概要)基本功能:其中的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业班级,联系方式。
(学号为主码)(2)课程基本信息:课程编号,课程名,学时,学分。
(课程编号为主码)(3) 成绩:学号,课程编号,成绩。
(学号+课程编号作为主码)2)详细设计:E-R图:CREATE DATABASE 学生管理ON PRIMARY(NAME=学生管理,FILENAME='D:\新建文件夹\学生管理',SIZE=3MB)首先在本机的数据库sever 2005建立一个名为学生管理的数据库。
数据字典:( Sno varchar(20) primary key,Sname varchar(20) not null,Sex char(1) not null,Sage int check (Sage >0) not null,Sdept varchar(20) null,Stel varchar(15) null,Sclass varchar(20) null)( Cno varchar(15) primary key,Cname varchar(20) not null,Ctime int not null,Credits decimal(2,1) null)( Sno varchar(20) foreign key (Sno) references Student (Sno), Cno varchar(15) foreign key (Cno) references Course (Cno), Score decimal(3,1) check (Score > =0 and Score < =100) null, primary key(Sno,Cno))( Uno varchar(20) foreign key (Uno) references Student(Sno),Upassword varchar(15) not null,UCreatedate smalldatetime default getdate())关系模型:(1)学生:学号,姓名,性别,地址,年龄,专业班级,联系方式。
(学号为主码)(2)课程:课程编号,课程名,学时,学分。
(课程编号为主码)(3) 成绩:学号,课程编号,成绩。
(学号+课程编号作为主码,学号、课程编号均为外键)(4)用户:用户名,密码,创建日期。
(其中用户名作主键同时引用学生表的学号作为外键)其中:学生表的姓名,性别,年龄字段不为空,且年龄应大于0;课程表的课程名,学时不为空;成绩表的成绩字段大于0小于100。
五、实现和测试:1)数据库中各个表的实现:2)数据库连接和参数传递类得实现://数据库连接类详细代码 ..从外界传入SQL语句,执行并返回相应的结果//dbConn.java类package cn.class0803.studentmanager;import java.sql.*;import javax.swing.JOptionPane;public class dbConn {public dbConn() {try {jbInit();} catch (Exception ex) {ex.printStackTrace();}}public Statement conn() {Connection conn = null;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String url = "jdbc:odbc:学生管理";String Username = "";String Password = "";conn =DriverManager.getConnection(url,Username,Password);Statement stat =conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);return stat;} catch (Exception ex) {JOptionPane.showMessageDialog(null, "数据库连接失败!");ex.printStackTrace();this.close(conn);}return null;}public void close (Connection conn){//关闭连接try{if (conn != null)conn.close();}catch (SQLException ex){System.out.println("关闭Connection失败!");ex.printStackTrace();}}/***取得数据库里某个表的总记录数。
*@param sql*@return*/public int getRowNum(String tableName){int num = 0;Statement stat = this.conn();String sql = " select count(*) from "+tableName+"";try {ResultSet rs = stat.executeQuery(sql);rs.next();num = rs.getInt(1);} catch (SQLException e) {e.printStackTrace();}return num;}public ResultSet getRs(String sql) {try {Statement stat = conn();ResultSet rs = stat.executeQuery(sql);return rs;} catch (SQLException ex) {System.err.println("------------" + ex.getMessage());return null;}}public int getUpdate(String sql) {try {Statement stat = conn();int i = stat.executeUpdate(sql);return i;} catch (Exception ex) {System.out.println(">>>>>>>>" + ex.getMessage());return -1;}}private void jbInit() throws Exception {}}/** 参数传递类:Tranfparam*采用单例模式来传递用户id等参数。
*@author Administrator*/package cn.class0803.studentmanager;public class Tranfparam {private static Tranfparam instance = new Tranfparam();private Tranfparam(){}public static Tranfparam getInstance (){return instance;}private static String str;private static String queryFrameID;public static String getStr() {return str;}public static void setStr(String str) {Tranfparam.str = str;}public static String getQueryFrameID() {return queryFrameID;}public static void setQueryFrameID(String queryFrameID) { Tranfparam.queryFrameID = queryFrameID;}}3)登陆界面的设计和实现://LoginClass.java类,根据本地电脑的屏幕状况来调整程序的窗口,并创建LoginFrame.package cn.class0803.studentmanager;import java.awt.Toolkit;import javax.swing.*;import java.awt.Dimension;public class LoginClass {boolean packFrame = false;public LoginClass() {LoginFrame frame = new LoginFrame();if (packFrame) {frame.pack();} else {frame.validate();}// Center the windowDimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = frame.getSize();if (frameSize.height > screenSize.height) {frameSize.height = screenSize.height;}if (frameSize.width > screenSize.width) {frameSize.width = screenSize.width;}frame.setLocation((screenSize.width - frameSize.width) / 2,(screenSize.height - frameSize.height) / 2);frame.setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch (Exception exception) {exception.printStackTrace();}new LoginClass();}});}}/* LoginFrame.java类学生管理系统登录子系统-功能描述:根据用户权限的不同,可以以不同的身份登录学生管理系统。