当前位置:蚂蚁文档网 > 总结报告 > 学生信息管理系统(数据库)总结报告

学生信息管理系统(数据库)总结报告

时间:2022-02-24 11:34:52 浏览次数:

下面是小编为大家整理的学生信息管理系统(数据库)总结报告,供大家参考。

学生信息管理系统(数据库)总结报告

HEFEI UNIVERSITY 管理信息系统设计报告

系别电子信息与电气工程系专业电气信息类

班级

学号

姓名

指导老师

完成时间

第1章设计目的与要求 (1)

1.1设计目的 (1)

1.2设计环境 (1)

1.3主要参考资料 (2)

1.4设计内容及要求 (2)

第2章设计内容 (2)

2.1数据库设计 (2)

2.1.1需求分析 (2)

2.1.2概念设计 (6)

2.1.3逻辑设计 (7)

2.1.4物理设计 (8)

2.1.5数据库实现 (9)

2.2程序设计 (13)

2.2.1概要设计 (13)

2.2.2程序实现 (15)

第3章设计总结 (17)

第1章设计目的与要求

1.1设计目的

本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。

1.2设计环境

硬件:一台Pentium 4 cpu 以上的微机及兼容 VGA 彩显一台

软件: Windows XP Visual Basic 6.0和SQL Sever 2000

1.3主要参考资料

1.《管理信息系统》黄梯云高等教育出版社

2.《数据库系统概论》萨师煊高等教育出版社

3.《SQL Server 2000 数据库应用系统开发技术》朱如龙编,机械工业出版社。

4.《SQL Server 2000 数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社

1.4设计内容及要求

一、内容

1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。

2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范

3.在SQL Sever2000 上实现设计的数据库模型。

4.对应用程序进行概要设计。

5.用VB实现简单的应用程序编写。

二、要求

设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出课程设计报告。

第2章设计内容

2.1数据库设计

2.1.1需求分析

“学生管理信息系统”包括十个模块:用户信息管理,班级信息管理,学籍信息管理,课程信息管理,成绩信息管理,奖惩信息管理,个人收费信息管理,消息信息管理。这十个模块既相互联系又相互独立。

(1)在系统管理模块中,当点击“退出”时,系统能够正常的关闭;(2)在学生管理模块:添加学生。当生刚进校时要进行添加信息的添加;删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行删除学生信

息;(3)在课程管理模块中,能够正确的对课程信息进行增加、修改和删除;(4)在成绩管理模块中,能够对已经进行了选课的学生所选择的课程进行成绩的添加以及修改;(5)在信息查询模块中,第一,能通过学号、姓名、性别、学院、专业等条件正确的查询到学生的基本信息;第二,能通过课程名、授课老师来查询出基本的课程信息;第三,在成绩信息查询中,能够查询出所有科目的成绩;(6)能够针对SQL SERVER2000执行数据的基本处理,如添加、删除等。

1. 系统工作流程图:

图2.1系统工作流程图

2.系统业务流程图:

业务流程图是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。由它比较适用于反映事务处理类型的业务过程。

图2.2系统业务流程图

3.系统数据流程图:

图2.3系统数据流程图

数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。

3.数据字典:

1)数据项:

表2.1数据项

2)数据结构的定义:

3)数据流的定义:

表2.5成绩统计

4)数据存储:

数据存储名:课程信息

输入数据流:课程基本信息,年级开课课程

输出数据流:学生选修的课程信息

数据存储名:成绩信息

输入数据流:更新后的成绩信息

输出数据流:学生各科分数及成绩的统计

2.1.2概念设计

(1)学生信息实体E-R图:

图2.4学生信息E-R图

(2)课程信息E-R图:

图2.5课程信息E-R图

(2)教师信息E-R图:

图2.6教师信息E-R图

系统E-R图:学生信息表,学校信息表,教师信息表,课程表,成绩等表之间的联系描绘出关系模型。联系是指学生管理系统中各个实体的联系,拥有一对一、一对多、多对多

的联系。如图2.1所示:

图2.7 学生管理系统总E-R图

2.1.3逻辑设计

逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行:从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。将“客房”实体转换为一个关系模型,其中,带下划线的属性为主属性,该主属性为关系模型外键。

设计逻辑结构时一般要分三步进行:

第一步:将概念经过转化为一般的关系、网状、层次模型;

第二部:将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;第三部:对数据模型进行优化。

学籍管理(学生注册,导入学生,学生查询,学生统计,学生毕业,修改学籍)

收费管理(费用减免,学生交费,交费查询,未交费查询)

成绩管理(成绩录入,成绩查询,班级成绩统计,年级成绩统计,班级成绩明细,不及格名单,学生单科名次,学生总分名次)

学籍变动(学生留降级处理,学生跳升级处理,学生借读处理,学生休学处理,学生复学处理,学生调班处理,学生转校处理,学生退学处理,学籍变动查询,学生试读查询,学生试读登记)

学生信息管理(系统管理,学籍管理,学籍变动,收费管理,宿舍管理,成绩管理,学生评语,消息文件管理)

2.1.4物理设计

物理设计是对给定的逻辑数据模型配置一个最适合应用环境的物理结构。

物理设计的输入要素包括:模式和子模式、物理设计指南、硬件特性、OS 和DBMS的约束、运行要求等。

物理设计的输出信息主要是物理数据库结构说明书。其内容包括物理数据库结构、存储记录格式、存储记录位置分配及访问方法等。

1.存储结构

存储结构是建立一种由逻辑结构到存储空间的映射。存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。

2.索引的创建

为student表创建一个以student_id为索引的关键字的唯一聚簇索引

1)展开数据库中的表右键学生表,单击所有任务弹出的索引管理。

2)在窗体点新建索引名称为student_id_index,点击复选框“聚簇索引”、“惟一值”。

3.事务日志文件备份及存放

SQL Server 创建数据库的时候,会同时创建事物日志文件,事物日志存储在一个单独

的日志文件上。在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就可以单独的备份,事务日志不会抢占数据库的空间,可以很容易的监测事务日志的空间。

4.存取方法:

数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。

存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方祛。常用的存取方法有二类。第一类是索引方法,第二类是聚簇(Cluster)方法。

索引方法是数据库中经典的存取方法,使用最普遍。索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构。是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。例如在本数据库中的:学生(学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间)

课程信息(课程编号、课程名称、开课日期、学时。)

整个系统需要调用学生表、成绩表等,所以学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,可以考虑在上面建立聚簇索引以提高查询效率。

2.1.5数据库实现

数据库实现是通过数据字段、关系图、存储过程和触发器实现等各部分的功能实现的。

(1)数据字段:

1.学生信息表:学号,姓名,性别,民族,籍贯,入学时间,班级,专业,出生日期。

表2.6学生信息表

6 student_Info tele_number [varchar](20) NULL 0

7 student_Info in_date [varchar](15) NULL 0

8 student_Info address [varchar](30) NULL 0

9 student_Info comment [varchar](100) NULL 0

2.课程信息表:课程编号,课程名称,开课学期,学分,教师编号,学院编号等。详细情况如

表2.7:

表2.7课程表

序号TableName(表名) FieldName(字段) FieldType(字段类型) IsPrimaryKey(是否主键)1为主键

1 course_info course_No [int] NOT NULL 1

2 course_info course_Name [varchar](30) NULL 0

3 course_info course_type [char](20) NULL 0

4 course_info course_des [varchar](60) NULL 0

3.表4-1 教师信息表:教师编号,教师名称,职称,学院编号等。详细情况如表2.7:

序号TableName(表名) FieldName(字段) FieldType(字段类型) IsPrimaryKey(是否主键)1为主键

1 teacher_info teacher_id [varchar](15)NOT NULL 1

2 teacher_info teacher_Name [varchar](2) NULL 0

3 teacher_info birth_date [varchar](15) NULL 0

4 teacher_info address [varchar](30) NULL 0

(2)关系图:学生管理信息系统包含学生信息表、教师信息表、课程信息表、学校信息

表、成绩信息表、专业信息表、班级信息表组成。利用各个表的主键把各个表连接到一起。

利用关系图表现出来。如图2.8所示:

图2.8学生管理系统关系图

(3)运用到存储过程的如下:

1).为dataebase数据库创建一个带重编译选项的存储过程,用于托运单信息表中的托运人。

CREATE PROC spa

@学生char(8)

WITH RECOMPILE

AS

SELECT * FROM 学生信息

学号= @学号

2).为datebase数据库建立一个存储过程,通过执行存储过程将学生信息添加到学生表。

CREATE PROCEDURE ins AS

@student_id char(8)=NULL,

@student_name nvarchar(8)=NULL,

@student_gender char(2)=NULL,

@birth_date smalldatetime=NULL,

@class_no char(6)=NULL,

@in_date smalldatetime=NULL,

@home_addr nvarchar(40)=NULL,

AS

DECLARE @bitSex bit

IF @student_gender="男"

SET@bitSex=1

ELSE SET @bitSex =0

INSERT student

(student_id,student_name,student_gender,birth_date,class_no,)

VALUES

(@student_id,@student_name,@student_gender,@birth_date,@class_no,@ in_date,@ home_addr)

(4)触发器程序及其功能:

运用到触发器的如下:

为维修信息表建立INSERT触发器以自动更新教师信息表中教师人数。

USE Sims_four

GO

/* 如果存在同名的触发器,则删除之*/

IF EXISTS(select教师人数from sysobjects where type =’tr’and教师人数=’教师人数insert’)

DROP TRIGGER 教师信息_insert

GO

CREATE TRIGGER 教师人数_insert ON 教师人数

FOR INSERT

AS

DECLARE @NumOf教师人数TINYINT

SELECT @NumOf教师人数= c.教师人数_num FROM 教师信息c ,inserted i

WHERE c.教师编号= i.教师编号号

IF (@NumOf教师人数> 0)

BEGIN

UPDATE 教师信息SET 教师人数_num = 教师人数t_num + 1

FROM 教师信息c ,inserted i WHERE c.教师人数= i.教师人数END

ELSE (空值,直接写下面代码也可)

BEGIN

UPDATE 教师信息SET 为序人_num = (

SELECT COUNT(s.教师编号) FROM教师信息s ,inserted i

WHERE s.教师编号= i.教师编号)

FROM 教师信息c, inserted i WHERE c.教师编号= i.教师编号END

GO

2.2程序设计

2.2.1概要设计

学生管理信息系统包括学校信息管理,教师信息管理,学生信息管理,成绩信息管理,补考重修管理以及帮助说明,在成绩信息编辑页面,可以编辑更新学生成绩情况,,而在成绩查询界面,可以查到详细的学生各科成绩。

学生信息管理分为年级信息管理,学籍信息管理,班级信息管理,成绩信息管理,课程信息管理,查询管理,其中有关学生学籍等信息的输入,包括学生基本信息,所在班级,所学课程和成绩等。学生信息的查询,包括学生基本信息,所在班级,所学课程和成绩等。班级管理信息的查询班级管理信息的修改学校基本课程的输入,查询学生课程的设置和修改学生成绩信息的输入,修改,查询,统计。所以为其设计管理信息系统的时候,首先要考虑其组织结构。

按照结构化的系统设计方法,将整个学生管理系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到学生管理系统的功能模块结构图。本系统的功能模块结构如图2.9所示:

图2.9系统的功能模块结构图

课程信息管理包括课程信息设置、年级课程开设。其中课程信息设置时,可以输入课程编号实现对课程信息的设置,包括课程和所任课老师姓名;年级课程开设时,可以输入学年编号实现对学年课程信息的开设,包括课程名称,课程类型及课程描述等

图2.10课程管理功能模块图

2.2.2程序实现

程序实现主要是代码在编译器中运行得到的结果,客房类型管理窗体主要由文本框及命令按钮组成,管理员点击“添加、修改、删除、关闭”按钮系统会通过上述四个控件与数据库进行连接并进行数据的相应操作。实现具体功能窗口如图2.11所示:

图2.11功能实现窗口图

窗体代码:

Private Sub cmdDel_Click()

If TxtcouNo.Text <> "" Then

myCourse.rsDK1 "select * from course_info where course_no="" & TxtcouNo.Text & """

If MsgBox("确定要删除该记录吗?", vbQuestion + vbOKCancel, "删除记录") = vbOK Then

myCourse.rs1.Delete

Call ClearText

Else

Exit Sub

End If

myCourse.rsDK1 "select * from course_info"

If myCourse.rs1.EOF Then

Frame2.Enabled = False

Course_Grid.Clear

Course_Grid.FormatString = " |课程编号|课程名称|课程类型|课程描述"

Else

Set Course_Grid.DataSource = myCourse.rs1

Course_Grid.FormatString = " |课程编号|课程名称|课程类型|课程描述"

End If

Frame1.Enabled = False

cmdAdd.Caption = "添加(&A)"

cmdSave.Caption = "保存(&S)"

cmdSave.Enabled = False

cmdDel.Enabled = False

End If

End Sub

数据库连接语句:

Public Function rsDK1(sql As String)

Set rs1 = New ADODB.Recordset

With rs1

.Source = sql

.ActiveConnection = cnSIMS

.CursorType = adOpenKeyset

.LockType = adLockOptimistic

.Open , , , , adCmdText

End With

End Function

第3章设计总结

本次课程设计,我的题目是学生管理信息系统。要求编写一学生管理信息系统,实现对学生信息的计算机管理。题目给出了,我先自己做了一份规划要求,首先要有学生基本信息包括:班级,性别,学号,要求能输入至少四个科目的成绩。其次对系统的使用权限做如下规定:学生只能查询本人的成绩,管理员可以输入,修改和查询每个学生的成绩。管理员和学生都可以随时修改自己的密码。还有要方便学生对学生的各科成绩进行排序,并按总成绩排序。求各科的平均成绩,并求出每个学生的平均成绩。

在这次的课程设计中,使我对数据库的知识有了更深刻了解,增加可我对数据库这门课兴趣,强化了我的实际动手能力。同时也找到自己的不足。我一定会继续学习增加自己的数据库知识,在今后的学习中我会更加的努力,增加自己的知识储备。对仓库管理系统的开发,我付出了大量的时间,但是,我得到的收获远远不是这些时间可以衡量的,它将是我终生的财富,必将给我今后的学习和工作带来更多的收益.通过对此管理系统的开发,使我对软件开发有了一个比较清楚的认识,体会到理论和实践的重要性.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。

开始的登陆窗口,我们遇到了不会写代码的问题,这个登陆窗口是一个有用户名,有密码的界面,当你选择一个用户名,它有相应的口令,口令正确才可以进入.这是一个要有变量来实现的过程,当然也要对应的数据窗口.其实,这个问题不会写代码没有关系的,我们可以从数据窗口中的变量设置中找到SQL语句,这样就解决了问题。我们的登陆窗口粗略的完成了.

由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如数据冗余,文档组织不合理,帮助文档没有编写,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。通过这次的课程设计,使我增加了对数据库基本概念的理解,提高对知识的理解和应用能力,并且对数据库的应用都有了更深的了解,使我的数据库编写水平又有了明显的提高。

推荐访问:管理信息系统总结报告 信息管理系统 总结报告 数据库

猜你喜欢