一、概述 1、目的与要求 随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。 2、系统总体功能描述 ● 完成学生、班级、课程、教师、选课表的维护 ● 完成成绩表的维护、浏览查找 ● 按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率 ● 按不同的条件统计学生课程的平均成绩 ● 完成权限控制功能 ● 完成数据备份与恢复功能 其中,基础数据包括学生、班级、课程、教师的录入、修改、删除、查询、打印;成绩管理包括选课、成绩信息的录入、删除、修改、查询、打印以及相关统计查询等;用户管理包括用户、用户组、权限的录入、修改、删除、查询、打印以及权限分配、用户登录等功能;数据备份与恢复包括数据备份、数据恢复功能,要求可以备份数据到指定的文件夹、文件和从指定的文件夹、文件恢复数据到数据库。 3、设计环境 ① Microsoft SQL Server 2005 Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在Unix 操作系统上的应用。Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 ② Microsoft Visual Studio 2005 Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。Visual Studio是目前最流行的 Windows平台应用程序开发环境。 二、需求分析 1、概括描述 通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有教师管理、学生管理、成绩管理、课程管理、选课管理、班级管理等相关功能的小型数据库管理应用系统。 2、数据流程图 3、数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2005建立“XSGL”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 2、TeacherLoad、ManageLoad基本情况数据表,结构如下: 三、数据库概念结构设计 1、局部E-R图 (2)教师信息 (3) 班级信息E-R图 (4) 课程信息E-R图 (5)选课信息E-R图 (6)用户登录E-R图 2、基本E-R图 4、关系模式 Student表: 3、存储过程 (1)创建学号的存储过程 (2)创建课程号的存储过程 (3)创建班级号存储过程 6、视图 (1)创建及格人数、考试人数、及格率视图 (2)班级平均成绩视图 四、各模块功能实现 1、欢迎界面,点击登录会进入登录界面 1、用户登录模块 (1)用户验证分为学生、教师和管理员三种类型,如果密码或账号不正确就无法登录。 3、学生登录界面模块 (1)该实现的是学生成绩查询和密码修改 (2)学生成绩查询,学生可以查询自己所选的所有课程成绩,或者查询某一门课程的成绩。 (3)修改密码,用户在输入正确的旧密码之后,便可修改密码,当两次新密码输入都一致时密码修改成功并保存到数据库中。 2、教师登录界面 (1)该模块实现的是,学生成绩的增删改,按班级、课程统计学生成绩,按不同条件统计学生平均成绩,教师密码修改。 (2)教师对学生所选课程进行成绩的增、删、改,当学生选了该课程后教师便可添加成绩或修改、删除成绩,但如果学生没有选择该课程,则教师无法对其进行操作。 (2)分班级和课程统计学生最高、最低平均成绩和及格率。 (3)按不同条件统计学生成绩的平均成绩(学号、专业名、性别、课程名)。 按专业名统计平均 图19 按课程名统计平均成绩 (4)用户密码修改,其过程和学生密码修改过程相同。 五、核心代码 1、登录界面 void Form1_Load(object sender, EventArgs e) TxtUser.Text = ; TxtPass.Text = ; void BtnOK_Click(object sender, EventArgs e) SqlConnection con = DBConnect.con(); con.Open(); (rBtnStudent.Checked) string sql = select Name,Passwd from StudentLogin where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; rd = cmd.ExecuteReader(); if (rd.Read()) stu1 = TxtPass.Text.Trim(); 学生登录界面 mForm = new 学生登录界面(); mForm.Show(); con.Close(); .Visible = false stu = TxtUser.Text; MessageBox.Show(请输入正确的用户名和密码!); (rBtnTeacher.Checked) string sql = select Name,Passwd from TeacherLoad where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; rd = cmd.ExecuteReader(); if (rd.Read()) stu1 = TxtPass.Text.Trim(); 教师登陆界面 mForm = new 教师登陆界面 (); mForm.Show(); con.Close(); .Visible = false; stu = TxtUser.Text; MessageBox.Show(请输入正确的用户名和密码!); (rBtnManage.Checked) string sql = select Name,Passwd from ManageLoad where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; TxtUser.Text = ; TxtPass.Text = ; rd = cmd.ExecuteReader(); if (rd.Read()) 管理员界面 mForm = new 管理员界面 (); mForm.Show(); con.Close(); .Visible = false; MessageBox.Show(请输入正确的用户名和密码!); void BtnExit_Click(object sender, EventArgs e) this.Close();
信息发布:广州名易软件有限公司 http://www.myidp.net
|