当前位置:文档之家› 学生信息管理系统课程设计

学生信息管理系统课程设计

学生信息管理系统课程设计
学生信息管理系统课程设计

学生信息管理系统课程

设计

Document number:WTWYT-WYWY-BTGTT-YTTYU-2018GT

辽宁工业大学

SQL数据库设计课程设计说明书

题目:学生信息管理系统

院(系): 软件学院

专业班级:软件工程

学号:

学生姓名:刘盾

指导教师:佟玉军

教师职称:副教授

起止时间:

目录

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

设计目的 (1)

设计环境 (1)

主要参考资料 (1)

设计内容及要求 (1)

第2章设计内容 (2)

数据库设计 (2)

需求分析 (2)

2.1.2概念设计 (2)

2.1.3逻辑设计 (2)

2.1.4物理设计 (4)

数据库实现 (5)

2.2程序设计 (8)

2.2.1概要设计 (8)

2.2.2程序实现 (8)

第3章设计总结 (14)

参考文献 (15)

第1章设计目的与要求

设计目的

本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。

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

设计环境

硬件:cpu,内存,硬盘

软件:操作系统,SQL版本

主要参考资料

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

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

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

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

1.4设计内容及要求

一、内容

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

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

3.在sql server2000 上实现设计的数据库模型。

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

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

二、要求

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

第2章设计内容

数据库设计

本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能。本系统主要用到的技术包括:SQL和VB结合的开发模式,这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。

2.1.1需求分析

学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。

计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,学生的信息包含1:基本信息;2:课程及成绩;3:课程表。基本信息根据要求应该包括学生的基本情况、获得奖励情

况、受到处分情况、学生的家庭信息等;课程及成绩应该包含对应课程对应学生的成绩;

为了解决传统学生信息的管理正面临着的这些问题,我们为信息管理系统分四个表:

学生基本信息(学号,姓名 ,性别,出生日期,学生所在系,班号,入校成绩,入学时间,电话,父亲,母亲,获得奖励情况,受到处分情况),

学生成绩表(学号,课程号,成绩),课程表(课程号,课程名,教师姓名,先导课程)。

我所设计的学生信息管理系统就由此而产生了。

2.1.2概念设计

实体间的联系:

1:学生个人信息表stunents:学号s_number、姓名s_name、性别sex、出生日期birthday、籍贯native、所在院系编号dep_number、所在班级 class_number、电话号码tel、联系地址address、相片photo、个人信息备注note

2:学籍变更信息表schoolregister:记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo

3:学生奖励记录表reward:记录号r_number、学号s_number、级别r_rank、奖励对象r_object 、记录时间r_time 、详细描述r_memo

4:学生处罚记录表 punish:记录号p_number、学号s_number、级别p_rank、处罚对象p_object、记录时间p_time、详细描述p_memo、是否生效effect

5:班级信息表 class:班级编号c_number、班级名称c_name、所属院系

dep_number

6:院系信息表department:院系编号dep_number、院系名称dep_name

7:E-R图:

1)、用户(普通用户、管理员)实体图如图2-1所示:

图2-1

2)、学生实体图如图2-2所示:

图2-2

3)、学生选课关系图如图2-3所示:

图2-3

2.1.3逻辑设计

逻辑设计就是把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。数据库的逻辑设计(包括各种表和表间关系)是优化关系数据库的核心。设计

好逻辑数据库,可以为优化数据库和应用程序性能打下基础。逻辑数据库设计不好,会损害整个系统的性能。

数据库逻辑设计所要完成的任务是:概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则,数据的语义约束,规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。

根据上述学生管理系统的多个实体用,画出学生管理系统管理关系E-R图,如图2-4所示。

2.1.4物理设计

物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

输入:

系统关系数据结构

输出:

系统数据库物理结构

1.物理结构设计的主要内容:

2.物理存储介质类型的选择

为了提高系统的安全性,防止系统因介质的损坏而导致数据丢失的危险,学生信息管理系统最好采用基于Windows 2000 RAID-5卷实现的RAID-5级的磁盘阵列,因此需要四块物理磁盘。

3.数据库物理位置的选择

学生信息管理系统数据库的数据文件安排如下:一个主数据文件,存放在

C:\Teach\data\下;两个次数据文件,分别存放在D:\Teach\data\和E:\Teach\data\下;日志文件,存放在F:\Teach\data\下。应用系统可以对四块磁盘进行并行访问,从而提高对磁盘数据的读写效率。

4.索引类型的选择

教学信息管理系统的核心任务是对学生的学籍信息和考试信息进行有效的管理。其中,数据量最大且访问频率较高的是学生选课信息表。为了提高系统的查询效率,降低系统的查询成本,需要为学生信息表和学生选课信息表建立聚簇索引。

5.数据库服务器性能参数配置

数据库服务器的内存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。

数据库物理设计阶段的任务是根据具体计算机系统的特点,为给定的数据库模型确定合理的存储结构和存取方法。物理结构设计阶段实现的是数据库系统的内模式,因此它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,

对数据库系统所支持的事物要进行仔细的分析,获得优化数据库物理设计的参数。物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

若出现数据冗余情况,是因为有某些数据记录不正确,去除了数据文件中的碎片,以保证数据传输的正确性和完整性。循环冗余检查(CRE)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。

2.1.5 数据库实现

在进行概念结构设计和物理结构设计之后,对学生信息管理系统系统结构,功能已经分析得比较清楚了,但是还只是停留在文档阶段。数据系统设计的根本目的,是为用户提供一个能够实际运行的系统,并保证系统的稳定和高效。要做到这点,还有两项工作,就是数据库的实施,运行和维护。学生信息管理系统中的表关系图2-5所示。

图2-5

数据库实施是根据应用系统数据库的关系结构模型和物理结构设计结果,形成基于SQL Server平台应用系统数据库的脚本和数据库设计报告,并进行数据库的具体构建与管理。

1.学生个人信息表stunents(学号s_number、姓名s_name、性别sex、出生日期

birthday、籍贯native)

2.学籍变更信息表schoolregister(记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo)

3.学生成绩表(grade):表结构如下表所示:

存储过程:

在本程序中,为了方便提高程序的运行效率,程序使用了存储过程来实现数据的删除,在查询分析器的定义如下:

删除Student表中的学生信息:

create procedure DeleteStudentData(@DeleteSno char(10))

as

delete from Student where Sno=@DeleteSno;

删除Dept中的系信息:

create procedure DeleteDeptData(@DeleteDno char(10))

as

delete from Dept where Dno=@DeleteDno

触发器:

判断是否该学生已经选了20学分的课程,和成绩的判断触发器,定义如下:

实现20学分的判断:

create trigger CcreditsJudge

on CourseSelectionTable

for insert as

declare @SumCcredits int,@Sno char(10)

select @Sno=Sno

from inserted

select @SumCcredits=sum(Ccredits)

from CourseSelectionTable

where Sno=@Sno

if @SumCcredits>20

begin

rollback transaction

end

2.2程序设计

2.2.1概要设计

系统开发的总体任务是实现商品进销存管理信息的系统化、规范化和自动化,系统功能分析是在系统开发的总体任务的基础上完成的。通过对信息更改、维护、查询等活动的调查、分析与总结,结合企业的实际,我们可以将系统分为以下五大功能:学生基本情况更新、学生基本情况维护、学生成绩维护、数据维护、密码修改。

学生基本情况更新模块

该模块主要是对学生信息,包括姓名、学号、班级、政治面貌等信息进行添加、修改、删除和查询操作。

学生基本情况维护模块

该模块主要是对学生的信息进行维护,学生日常生活中的所有信息基本上都可以通过此模块进行维护。这样做可以加强学生信息的安全程度。

学生成绩维护模块

该模块主要是对学生的成绩进行查询,添加,和打印,在此模块中,可以通过学生的学号和专业来查询学生的成绩。方便快捷

数据维护模块

该模块主要实现数据的备份和还原,管理员可以通过此模块来管理数据资源,保证数据资源的可靠性和安全行。

密码修改模块

该模块用于对密码的修改。其中普通的用户只能更改自己的密码,而管理员可以更改所有的密码。

本系统主要包括学生基本情况更新,学生基本情况维护、学生成绩维护、密码修改和数据维护5个大的模块,各个模块的具体功能如图2-6所示:

图2-6

2.2.2程序实现

登录模块:

登录界面用户验证登录用户的身份信息,只有合法的用户才能进入系统,从而保证系统的安全性。登录界面的运行结果如下图2-7所示:

图2-7

学籍信息查询模块:

学生信息查询界面。主要实现通过学号查询学生的基本信息,包括其姓名、性别、出生日期等信息;方便用户的查找,学籍信息查询界面的运行结果如下图2-8所示:

图2-8

学籍信息“查找”按钮的代码如下:

宁德房管局

Private Sub CmdQuery_Click()

If Val <> 0 Then

If Not IsDate Then

MsgBox "出生日期不是有效日期,请重新输入!", vbInformation, "提示"

= "____-__-__"

Exit Sub

End If

End If

If Val <> 0 Then

If Not IsDate Then

MsgBox "入校时间不是有效日期,请重新输入!", vbInformation, "提示"

= "____-__-__"

Exit Sub

End If

End If

sql = "select

student_id,student_name,student_gender,birth_date,,tele_number,in_date,grade_no,user_id,ad dress,comment from student_info s inner join class_info c on = where 1=1"

If <> "" Then

sql1 = "and student_name='" & & "'" Else

sql1 = " "

End If

If <> "" Then

sql2 = "and student_id='" & & "'" Else

sql2 = " "

End If

If <> "" Then

sql3 = "and tele_number='" & & "'" Else

sql3 = " "

End If

If <> "" Then

sql4 = "and student_gender='" & & "'" Else

sql4 = " "

End If

If Val <> 0 Then

sql5 = "and birth_date='" & & "'" Else

sql5 = " "

End If

If Val <> 0 Then

sql6 = "and in_date='" & & "'"

Else

sql6 = " "

End If

If <> "" Then

sql7 = "and ='" & & "'"

Else

sql7 = " "

End If

If <> "" Then

sql8 = "and grade_no='" & & "'"

Else

sql8 = " "

End If

If <> "" Then

sql9 = "and user_id='" & & "'"

Else

sql9 = " "

End If

sql = sql & sql1 & sql2 & sql3 & sql4 & sql5 & sql6 & sql7 & sql8 & sql9

sql

= " | 学号| 姓名|性别| 出生日期|班号| 联系电话| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

MsgBox "没有找到符合条件的记录!", vbOKOnly + vbInformation, "提示"

Else

Set =

= " | 学号| 姓名|性别| 出生日期|班号| 联系电话| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

End If

End Sub

第3章设计总结

有关于数据库实验的心得体会,总的来说,受益匪浅。在这次的试验中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C 语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。

开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大二开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。

以前没接触过它,现在认识了它才知道SQL Server的体系很庞大,要学习它,首先要了解的SQL Server框架。它有物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成),逻辑结构(表空间、段、区、块),内存分配(SGA和PGA)算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写,后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程),SCN(System Change Number)。这些东西感觉都比较

专业,我对它们也就是个知道,想要真真去认识我还得努力去做。虽然懂得还不是很多,起码会了基本的软件操作,老师说我们用的都是客户端,服务端看不到,也不知道服务端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。

参考文献

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

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

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

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

5. 罗骏《SQL实用简明教程》清华大学出版社

6. 龚沛曾《面向对象程序设计系列教材》中国金融出版社

7. 吴晓琪《程序设计与技术大全》清华大学出版社

8. 李明《数据库原理与应用》北京高等教育出版社

9. 罗运红《Microsoft SQL Server 2000中文版完全实战》科学出版社

10. 章立民《SQL Server数据库系统基础》高等教育出版社

11. 蒋军超《MySQL网络数据库开发》人民邮电出版社。

12. 李朝《VB页面程序设计》中国铁道出版社

13. 耿祥义《数据库与JAVA的连接》清华大学出版社

14. 印昊《数据库的原理与设计》高等教育出版社

相关主题
文本预览
相关文档 最新文档