
心理教育信息化管理系统
-
2023年3月4日发(作者:鸟巢模型)A
A
天津农学院
毕业设计
中文题目:天津农学院学生心理健康普查系统的
设计与实现
英文题目:DesignandRealizationofTianjin
AgriculturalUniversityStudentsMental
HealthSurveySystem
学生姓名
系别
专业班级
指导教师
成绩评定
2013年6月
A
A
目录
1绪论................................................................0
1.1开发背景..........................................................0
1.2开发目的..........................................................0
1.3设计思路..........................................................0
2系统总体说明........................................................1
2.1使用环境..........................................................1
2.1.1硬件配置要求....................................................1
2.1.2软件配置要求....................................................1
2.2系统主要功能......................................................1
2.3系统主要特点......................................................2
3开发环境与相关技术..................................................3
3.1开发环境..........................................................3
3.2开发工具的选用及介绍..............................................3
3.3设计方法与技术....................................................4
4系统设计要点........................................................5
4.1数据库设计........................................................5
4.2系统整体介绍......................................................7
4.3系统主要功能的实现................................................8
5讨论...............................................................25
5.1设计存在的问题...................................................25
5.2进一步改进设想...................................................25
5.3经验与体会.......................................................26
参考文献...............................................错误!未定义书签。
致谢..................................................................27
附录1相关英文文献....................................................28
附录2英文文献中文译文................................................35
A
A
摘要
学生心理健康普查系统是为了树立学校良好的现代化形象,提高管理人员的工作
效率和管理水平,面对心理健康信息化的发展趋势而设计的。该系统采用
技术作为创建应用程序的方式,以C#作为编程语言,采用MicrosoftVisualStudio
2008快速开发工具开发前台,采用SQLServer2005数据库作为后台数据库。学生
首次登陆的用户名和密码都是学号,登陆后可修改密码,首次登陆需要填写相关信息,
之后参加心理测试,测试后即可查看测试结果。后台管理员登陆后可修改学生的基本
信息,查看测试结果,并对试题进行管理。系统极大的减轻了后台管理人员的工作量,
提高了学生的心理健康普查效率。
关键词:心理健康,普查系统,MicrosoftVisualStudio2008,SQLServer2005
A
A
ABSTRACT
Students'mentalhealthscreeningsystemistoestablishamodernimage
ofthegoodschools,improvemanagementefficiencyandmanagementlevel,
tem
hnologyasawaytocreateapplicationstoC#asaprogramming
language,usingMicrosoftVisualStudio2008developmentprospectsrapid
developmenttool,usingSQLServer2005databaseasabackenddatabase.
Studentsfirstloginusernameandpasswordarestudentnumber,youcanmodify
yourpasswordafterlanding,thefirstlandingneedstofillintherelevant
information,andthenparticipateinpsychologicaltesting,youcanview
andingbackgroundadministratorcan
modifythestudentsbasicinformation,viewtestresults,andquestionsfor
sgreatlyreducetheadminworkload,improvestudents'
mentalhealthscreeningefficiency.
Keywords:mentalhealth,surveysystem,MicrosoftVisualStudio2008,SQL
Server2005
A
A
A
A
天津农学院学生心理健康普查系统的设计与实现
张静
(天津农学院计算机科学与信息工程系)
1绪论
1.1开发背景
随着Internet技术的发展,人们的日常生活、学习已经离不开网络。未来社会人
们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、信息化,
可以充分相信网络技术将极大的改变我们的生活和工作方式,就目前情况而言,数据
信息化已经成为各行各业的必备工具。
传统的停留在纸介质基础上的心理普查资料管理浪费大量的人力和物力,已经不
能适应时代的发展,其安全性也不能得到有效的保障。在信息时代,这种管理方法必
将被以计算机为基础的管理信息系统所取代。现阶段学生心理普查系统的开发模式多
数是C/S模式。C/S模式最大的好处是不依赖外网环境,能够充分发挥客户端PC的处理
能力,但其客户端的软件配置需求过高也成为其不可忽视的缺点之一。为了弥补C/S
模式的不足,B/S模式应运而生。B/S模式开发简单,运行维护简单方便,共享性强,
因此开发一套基于B/S模式的学生心理健康普查系统是十分必要的。这种无纸化的管
理方式不仅为学生提供更优质的服务,而且为后台管理人员减少了工作量,使得学校
工作效率和管理水平有所提高,从而提高经济效益[1]。
1.2开发目的
学生心理健康普查系统的开发目的是为了解新生入学时的心理健康状况,各学校
都建立了学生的心理档案,以便今后有针对性地开展心理健康教育工作,及早发现有
心理问题的学生并给予及时的心理帮助和治疗,为学校制定相关教育管理政策提供某
方面的参考和依据[2]。
该系统使人们从劳动化向智能化发展,满足学生日益增长的对心理健康的需求,
使其向着高效、信息化、无纸化、安全可靠的方向发展,进而实现普查、信息、服务
一体化的综合管理。
1.3设计思路
心理健康普查系统是提供给后台管理人员和学生使用的,方便、快捷的管理信息
的操作平台。
A
A
对于学生,主要预期实现学生登录、忘记密码(可选)、添加基本信息、参加心
理测试、查看测试结果的功能。对于后台管理员,主要实现管理员登录、管理学生基
本信息、查看测试结果、对于试题部分的管理。
前台页面布局美观,便于操作,后台页面简洁直观,致力于对数据进行管理,减
少冗余的工作,提高管理员的工作效率[3]。
2系统总体说明
2.1使用环境
为了确保系统能够运行高效可靠,需要服务器端具备较高配置,客户端达到相应
的系统运行指标即可[4]。具体运行要求如下:
2.1.1硬件配置要求
服务器端:
CPU:双核以上Pentium/AMD处理器。
内存:1G以上。
客户端:
CPU:600HZ以上Pentium/AMD处理器。
内存:256MB以上。
显示器:1024*768像素。
2.1.2软件配置要求
服务器端:
操作系统:Windows2003操作系统。
数据库:MicrosoftSQLServer2005。
软件:.NETFrameWork3.5。
InternetInformationServer(IIS)5.1及其以上版本。
客户端:
操作系统:Windows7操作系统。
浏览器:360安全浏览器6.1。
2.2系统主要功能
2.2.1前台服务功能
(1)学生登陆:学生首次登陆用户名和密码都是学号,登陆进去之后可以修
A
A
改密码
(2)忘记密码(可选):如果学生忘记了密码,可以通过回答密码设置问题找
回密码,或者通过邮箱找回密码。
(3)添加基本信息:学生首次登陆需要添加基本信息,之后参加心理测试。
(4)参加心理测试:学生开始进行答题(题目不需要特别多),给每道题设置
相应的分数,总分60。
(5)查看测试结果:可用简单的算法给学生一个测试的分数,让学生可以自己
看到。
2.2.2后台服务功能
(1)管理员登陆
(2)修改学生基本信息:修改某个学生的基本信息。
(3)查看测试结果
①按时间查看:可查看每个时间段的学生
②按分数查看:可查看每个分数的学生
(4)试题部分,有两种方式,任选其一
①直接将试题写在网页上,不从数据库中抽取
②从数据库中抽取试卷
2.3系统主要特点
学生心理健康普查系统是基于3.5技术开发出来的,它具备用户登录、
用户管理、后台管理等多种功能,是一个使用方便、操作简单、功能较完备的管理系
统[5]。该系统以方便、快捷作为主要目标,能够提高学校管理人员的工作效率,减少
不必要的人力和财力。
系统主要特点是界面设计清晰、层次结构简洁,可供管理员方便快捷的使用和更
新数据。学生通过登录系统可以方便快捷的查询并修改自己的个人基本信息,进行测
试,测试结束后即可查看到测试的结果,方便学生了解自己的情况,也可让学校及时
对有心理问题的学生进行帮助。在后台管理模块,实现了对学生信息和试题的管理,
由于前台前台信息是是自行进行的,不需要管理员维护,管理员只需修改数据库中的
数据,前台就会有相应的改变,因此管理员可以专心于管理网站的数据信息,达到简
化管理的目的。
A
A
3开发环境与相关技术
3.1开发环境
软件环境:
操作系统:Windows7Professional。
浏览工具:360安全浏览器6.1。
开发平台:VisualStudio2008TeamSuite。
数据库:SQLServer2005Express。
辅助工具:AdobePhotoshopCS4。
硬件环境:
CPU:Intel(R)Core(TM)i5-480M。
内存:2GB。
硬盘:500GB。
3.2开发工具的选用及介绍
3.2.1MicrosoftVisualStudio2008
VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建
Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智
能设备应用程序和Office插件。
VisualStudio2008包括各种增强功能,例如可视化设计器、对Web开发工具
的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能[5]。Visual
Studio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、
令人印象深刻并支持AJAX的Web应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的
Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内
运行并完全访问应用程序服务和Microsoft平台。
为了帮助开发人员迅速创建先进的软件,VisualStudio2008提供了改进的语
言和数据功能,例如语言集成的查询(LINQ),各个编程人员可以利用这些功能更轻松
地构建解决方案以分析和处理信息[7]。
3.2.2MicrosoftSQLServer2005
SQL(StructuredQueryLanguage),结构化查询语言。SQL语言的主要功能就是
同各种数据库建立联系,进行沟通。按照ANSI的规定,SQL被作为关系型数据库管
A
A
理系统的标准语言[8]。SQL语句可以用来执行各种各样的操作,例如更新数据库中的
数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL
语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,
Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来
完成几乎所有的数据库操作。
与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工
具包的紧密集成使SQLServer2005与众不同[9]。无论是开发人员、数据库管理
员、信息工作者还是决策者,SQLServer2005都可以提供创新的解决方案,帮
助从数据中更多地获益。
3.3设计方法与技术
3.3.1设计方法
该系统遵循软件生命周期,经历可行性分析、需求分析、设计、编码、测试
阶段完成。
(1)可行性分析:探究开发学生心理健康普查系统的可行性,这里主要考
虑了个人技术可行性以及操作可行性。
(2)需求分析:查阅资料及参考文献,了解现今学生心理将康普查系统的
背景。认真分析学生对系统的功能需求以及系统的性能需求。
(3)设计:主要进行系统总体规划及数据库的设计、确定系统服务人群和涵盖
功能、整体部署系统基本框架并根据其使用SQLServer2005设计合理的数据库[10]。
(4)编码:编码主要使用MicrosoftVisualStudio2008进行功能程序文件
的编码及网页文件的设计。程序文件主要使用C#语言编程实现相关功能,网页文件
的设计则使用CSS内嵌样式统一布局,美化页面[11]。
(5)测试:网站基本完成后,调试运行网站进行测试并对其中的错误逐步修改。
3.3.2设计技术
系统运用3.5技术,能够提供一个统一的Web开发模型,其
中包括开发人员生成企业级Web应用程序所需的各种服务。
是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言创
作应用程序。另外,任何应用程序都可以使用整个.NETFramework。开发
人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安
全、继承等等[12]。
可以无缝地与一起工作。这不仅使得
A
A
Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以
用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。
4系统设计要点
4.1数据库设计
4.1.1数据库的概念设计
数据库概念设计主要涉及实体-属性图的设计。
学生的实体-属性如图1所示:
图1学生的实体-属性图
试题管理的实体-属性如图2所示:
图2试题管理的实体-属性图
user
username
ID
password
priv
question
answer
Testpage
ID
title
answer
A
A
查看成绩的实体-属性如图3所示:
图3查看成绩的实体-属性图
4.1.2数据库的逻辑设计
数据库逻辑设计主要是建立数据表,确定每个表的字段、数据类型、长度、
是否为空等。根据对系统的需求分析,为天津农学院学生心理健康普查系统建
立数据库,其中包括:学生表(user)、试题管理表(testpage),数据库中数
据表的结构如下:
(1)user结构见表1
表1user表
字段名称类型长度字段描述是否为空说明
IDint4学生编号否主键
usernamevarchar50用户名是无
passwordvarchar50密码是无
privvarchar50确认密码是无
questionvarchar100提示问题是无
answerdatetim
e
100问题答案是无
(2)testpage结构见表2
表2testpage表
字段名称类型长度字段描述是否为空说明
IDint4试题编号否主键
titlevarchar120试题名称是无
answervarchar10答案是无
TestScore
ID
name
score
Finishedtime
A
A
(3)finishedtime结构见表3
表3finishedtime表
字段名称类型长度字段描述是否为空说明
IDint4学生编号否主键
namevarchar50学生姓名是无
scoreint4成绩是无
Finishedtimevarchar4完成时间是无
4.1.3数据库各表之间的关系
为了网站的管理及避免产生冗余的数据,该系统划分的各个表之间有相应的关
联。各个表的关系关联如图4所示:
图4表的关系关联图
4.2系统整体介绍
4.2.1系统前台功能结构
前台功能结构如图5所示:
学生
用户注册用户测试
用
户
登
录
修
改
个
人
密
码
提
交
成
绩
心
理
测
试
查
看
结
果
A
A
图5前台功能结构图
4.2.2系统后台功能结构
后台结构功能如图6所示:
图6后台功能结构图
4.3系统主要功能的实现
4.3.1身份验证
身份验证模块主要是区别各个使用角色并判断是否允许其进入功能页面进行管
理。该模块包括用户注册、用户登录、用户注销以及管理员登录四个功能。
身份验证模块流程图如图7所示:
后台管理员
管
理
员
学
生
试
题
管
理
员
的
添
加
,
删
除
,
修
改
学
生
的
添
加
,
查
看
,
删
除
,
修
改
试
题
的
添
加
,
删
除
,
修
改
A
A
图7身份验证模块流程图
用户进入系统可以看到用户登录控件,如图8所示:
图8用户登录控件
已注册用户可以输入账号及密码进行登录,未注册用户可以点击用户注册按钮
进入注册页面。注册界面如图9所示:
开始
未登录
用户注册
用户登录管理员登录
用户名、密
码判断
管理员名、
密码判断
登录成功进入后台管理
退
出
N
Y
N
Y
A
A
图9注册界面
为了保证数据的有效规范,注册页面加入很多验证控件,例如:用
RequiredFieldValidator控件限制用户ID等数据不能为空、CompareValidator验证
密码与确认密码是否一致等。
用户注册页面的部分功能代码如下:
publicpartialclass心理健康普查系统_register:
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(().ToString()=="")
{
="用户名不能为空!";
e=true;
A
A
return;
}
else
{
e=false;
if(().ToString()=="")
{
="密码不能为空!";
e=true;
return;
}
else
{
e=false;
If(().ToString()!=
().ToString())
{
="两次密码不一致!";
e=true;
return;
}
else
{
e=false;
if(().ToString()=="")
{
="提示问题不能为空!";
e=true;
return;
}
else
A
A
{
e=false;
//进行注册。
//1.查看用户是否已存在
BLLbll=newBLL();
if
(ser(().ToString()))
{
="用户名已存在!";
e=true;
}
else
{
e=false;
Useruser=newUser();
me=
().ToString();
rd=
().ToString();
=2;
on=
().ToString();
=().ToString();
User(user);
//s("注册成功!");
ndRedirect("注册成功!",
"");
}
}
}
A
A
}
}
}
}
正确填写完相应信息后,点击确认会显示注册成功,但要经过管理员后台审核后
才可登录。审核通过后登录主页用户登录模块会显示已登录用户名,同时用户可以使
用其中的退出功能注销登录。具体如图10所示:
图10用户登录成功界面
点击系统首页中的后台管理会跳转到管理员登录页面可以进行管理员登录。登录
页面如11图所示:
图11管理员登录界面
4.3.2用户功能模块设计
用户的主要功能包括用户信息修改模块和心理测试模块。用户注册登录后,可修
改密码,进行心理测试,查看测试结果。
用户功能模块流程图如图12所示:
A
A
图12用户功能模块流程图
(1)用户在注册时需要填写提示问题,为了便于后期更改密码,用户登录账户
后点击密码修改,需要填写密保答案,之后才可以修改密码,修改密码页面如图13
所示:
开始
登录
个人信息
心理测试
修改密码
查看结果
退出结束
A
A
图13修改密码页面
修改密码的相关部分实现功能代码如下:
publicpartialclass心理健康普查系统_changepwd:
{
Useruser=newUser();
BLLbll=newBLL();
privatestringanswer{get;set;}
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack){
if(Session["UserId"]==null)
{
ndRedirect("对不起您还没有登录",
"");
}
}
if(g()!=2)
{
e=false;
user=r(32(Session["UserId"]));
=on;
answer=;
}
else{
e=false;
e=true;
}
A
A
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(answer==().ToString())
{
e=true;
e=false;
g(2);
}
else
{
e=true;
return;
}
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
if(().ToString()=="")
{
="新密码不能为空!";
e=true;
}
else{
e=false;
if(().ToString()!=
().ToString())
{
e=true;
}
A
A
else
{
e=false;
user=
r(32(Session["UserId"]));
rd=().ToString();
User(user);
g(1);
//s("修改成功!");
ndRedirect("修改成功!","");
}
}
}
}
(2)用户登录后点击心理测试来进行测试,系统会给出15道题,每道题都有四
个分值,1~4分别代表从不、经常、一般、一定,学生根据自身情况正确填写,提交
后系统会给出相应的答案。心理测试界面如图14所示:
图14心理测试界面
心理测试的相关部分实现功能代码如下:
A
A
publicpartialclass心理健康普查系统_Test:
{
BLLbll=newBLL();
publicstaticTestti[]tests=newBLL().getPapers2();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["UserId"]!=null)
{
urce=tests;
nd();
}
else{ndRedirect("还未登录,不能进行测试!",
"");}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
//计算得分
//Testti[]testtis=ers();
Session["score"]=testrule(tests).ToString();
ct("");
//=testrule(tests).ToString();
}
//计算得分算法
//规则:1就是1分,2就是2分,3就是3分,4就是4分.
A
A
publicinttestrule(Testti[]testtis)
{
intsumscore=0;
for(inti=0;i<();i++)
{
sumscore+=32(testtis[i].ng());
}
returnsumscore;
}
protectedvoidDropDownList2_SelectedIndexChanged(objectsender,
EventArgse)
{
tests[0].answer=edValue;
}
protectedvoidDropDownList4_SelectedIndexChanged1(objectsender,
EventArgse)
{
tests[1].answer=edValue;
}
protectedvoidDropDownList10_SelectedIndexChanged(objectsender,
EventArgse)
{
tests[2].answer=edValue;
}
protectedvoidDropDownList14_SelectedIndexChanged(objectsender,
EventArgse)
{
tests[3].answer=edValue;
}
protectedvoidDropDownList18_SelectedIndexChanged(objectsender,
EventArgse)
A
A
{
tests[4].answer=edValue;
}
protectedvoidDropDownList7_SelectedIndexChanged(objectsender,
EventArgse)
{
tests[5].answer=edValue;
}
}
4.3.3管理员功能模块设计
管理员的功能主要包括对学生、管理员、试题信息的添加、删除和修改,还可查
看到学生通过普查得到的成绩,并对每个阶段成绩的统计。管理员功能模块如图15
所示:
A
A
图15管理员功能模块流程图
(1)管理模块
管理模块包括学生管理模块,管理员管理模块和试题管理模块,功能包括添加、
删除、修改,实现对所有信息的综合管理。
界面通过ListView控件配合Button控件进行信息的添加、删除和修改。添加
界面如图16所示:
图16添加界面
修改、删除界面如图17所示:
图17修改、删除界面
修改、删除页面的部分功能代码如下:
publicpartialclass心理健康普查系统_addadmin:
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidListView1_ItemInserting(objectsender,
ListViewInsertEventArgse)
{
员
后台数据库
结束
A
A
Useruser=newUser();
me=
((TextBox)ntrol("UserNameTextBox")).ng();
rd=
((TextBox)ntrol("PasswordTextBox")).ng();
on=
((TextBox)ntrol("QuestionTextBox")).ng();
=
((TextBox)ntrol("AnswerTextBox")).ng();
BLLbll=newBLL();
Admin(user);
ct(
olutePath);
}
protectedvoidListView1_SelectedIndexChanged(objectsender,EventArgs
e)
{
}
}
(2)查看结果模块
查看结果模块管理员可以通过时间查看也可通过分数查看,但只能任选其一,实
现了对结果的快速查找。
界面通过RadioButtonList控件实现筛选模式,通过TextBox控件选择时间,
DropDownList控件对分数进行选择,最后通过GridView控件显示查询结果。成
绩查询界面如图18所示:
A
A
图18成绩查询界面
查看成绩页面的部分功能代码如下:
publicpartialclass心理健康普查系统_analyze:
{
privateintflag{set;get;}
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
UserScore[]uss;
BLLbll=newBLL();
if(edValue=="按时间"){
if(==""||=="")
{
s("请输入起始结束时间!");
return;
}
else{
uss=rsScores(,,1);
urce=uss;
A
A
nd();
=().ToString();
return;
}
}
elseif(edValue=="按分数"){
if(edValue==""||
edValue=="")
{
s("请输入分数范围");
return;
}
elseif(32(edValue)<=
32(edValue))
{
uss=rsScores(edValue,
edValue,2);
urce=uss;
nd();
=().ToString();
return;
}
else{
s("输入的起始分数大于结束分数!!!请重新填写
");
return;
}
}
//UserScore[]uss=rsScores();
}
protectedvoidRadioButtonList1_SelectedIndexChanged(objectsender,
A
A
EventArgse)
{
if(edValue=="按时间")
{
d=false;
d=false;
ed=false;
ed=false;
}
else{
="";
="";
d=true;
d=true;
ed=true;
ed=true;
}
}
}
5讨论
5.1设计存在的问题
系统着重于向用户注册,登录,心理测试,忽略了完善用户与管理员的交流机制。
用户与管理员无法相互传递信息,系统交互性有待提高。另外管理员可以增加、删除、
修改试题,用户只能看到15道题,没有做到试题随机出现,只有固定的15道题出现
在界面上,这一点需要改进。
5.2进一步改进设想
通过分析,针对系统的交互性问题,可新增实体来存储用户的短消息以及管理员
的回复信息。在前台增加用户短消息的功能,在后台增加管理用户短消息的功能模块,
从而达到完善系统交流机制的目的。另外针对试题管理的问题,在后台增加试题的随
机性,在前台增加刷新试题的功能,从而达到没个用户做的试题都不完全相同。
A
A
5.3经验与体会
随着时间一天天的过去,离我们毕业的时间越来越近,经过几个月时间的努力,
我们的毕业设计也进入了最后的收尾工作。回想整个过程,感受颇深。毕业设计是对
我们整个大学时期学习成果的检验,通过本次设计,使我深刻的认识到自身设计知识
的不足,更为以后的工作和学习指明了道路。在此期间,我不断温习书本上的相关知
识并把它们应用到实际网站的开发过程中,不仅深化了对项目开发的理解,也对各项
技术使用有了质的飞跃。同时,通过查阅资料和相关书籍,让我学到了更多的网站设
计知识,拥有了很大的收获。
设计完成我首先要感谢的是我的指导老师王梅老师,在设计开发和论文撰写过程
中给予我悉心的指导,指出设计中的不足,让我能够加以改进。此外还要感谢所有帮
助过我的老师和朋友们,在大家的帮助下让我顺利完成了毕业设计,也理解到这种亦
师亦友的技术扶持和相互帮助才是计算机技术学习与团队项目开发的真谛。
【参考文献】
[1]李冬生,阮奎.大学生的心理健康与心理卫生[J].山东医科大学学报(社会科学
版),1995,(02).
[2]熊燕.大学生新生心理健康状况调查与分析[J].中国健康心理学杂志,2006,14,(6).
[3]尚俊杰,秦卫中.程序设计案例教程[M].北京:清华大学出版社.2005.71-73.
[4]张孝祥,徐明华,易巍,张新颖.基础与案例开发详解[M].北京:清华大学出版
社,2009.121-127.
[5]候炳辉,刘世峰.信息管理系统[J].信息管理系统分析,2004,5:4-5.
A
A
[6]陈伟,卫琳,唐国良,周飞菲.3.5网站开发实例教程[M].北京:清华大学出版
社,2009.76-81.
[7]Korth,seSystemConcepts[M].American:McGraw-Hill
College.2005.34-54.
[8]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.214-219.
[9]Matthew,MacDonald,Mario,高级程序设计[M].北京:人民邮电出版
社,2009.26-31.
[10]孙永道,赵传慧.电子商务设计实务[M].北京:机械工业出版社,2008.237-239.
[11]熊建芳,高继,任贺宇.基于的ADO与分析与研究[J].计算机与现代
化,2006,(7):24-26.
[12]雷亮.网络应用开发教程[M].北京:人民邮电出版社,2009.10-12.
致谢
此次毕业设计,使我把过去书本上的学到的知识运用到了实际开发中。在设计网
站的过程中,体会了程序调试失败的苦恼、思索问题的专心和功能实现后的喜悦。我
懂得了只有认真付出才会有所回报的道理。作品虽然还很不成熟,却是我今后更加努
力的完善自身技术水平的不竭动力。
在这里首先我要衷心的感谢王梅老师在程序设计期间的精心指点和耐心指导,您
A
A
的督促和教授,为网站许多关键问题的解决指明了方向。网站的完成与您的悉心帮助
密不可分。
其次要感谢大学期间传授我们知识,帮助我们成长的各位老师们,您们的一堂堂
课、一次次作业、一个个板书传授给我们做人的道理、专业的知识、为我的人生道路
指明方向。使我们有勇气、有技术走上社会去做些有意义事情。
再次感谢那些和我一起走来的同学。大家一起学习研究、互相帮助、互相督促、
讨论问题。换来了无数宝贵的经验和学习的心得,使毕业设计能够取长补短,不断的
完善、乃至完成。
最后,还要感谢在百忙之中抽出时间来审批我的论文的各位老师们!
附录1:相关英文文献
IntroductiontoSQLServer1
Relationaldatabaseshavebeenaroundfor30years,buttheywerenot
theoriginalkindofdatabase,
relationaldatabasesarestillbyfarthemostpopularkindofdatabase
availableandwillbeforsometimetocome.
1/view/
A
A
SQListheabbreviationofStructuredQueryLanguageanditisfor
relationaldatabases,asthetitleindicatesthisisonlyforfresherwho
hasjuststartedthecarrierorwhoiswaitingtoopenupthecarrierin
tdoesnotmeanthisarticleis
ticle
ismeantforwhoalreadyhavealittleknowledgeinSQLandwanttoimprove
it.
WhatDoesSQLDo?
First,SQListhepremiertoolforviewinginformationfromarelational
n’esyousophisticated
toolstosummarize,consolidate,able
relationships,datacanbecombinedfrommultipletablesinanumberofways.
Withaproperlydesigneddatabase,SQLcananswerpracticallyanyquestion
aboutthedata.
Second,SQLprovidescommandstomanipulatethedatainarelational
uralprogramminglanguages,
suchasBASIC,mightrequireseverallinesofcodetoupdatearecordin
tion,proceduralprogramminglanguageswouldhave
tousesomesortofloopingstructuretorepeatthisprocessoneveryrecord.
ike
haikuforprogrammers;oftenadozenwordsorfewercandeleteorchange
thousandsofrecords.
Finally,SQLisacompletedatadefinitionlanguage(DDL).Thedatabase
itselfcanbecreatedalongwithalltables,fields,primarykeys,and
hattherecordinsertcommands,andyoucanhavea
eatly
enhancesadatabaseprogrammer’sabilitytoworkremotelyortoportdata
enhancementsamongvariousinstallations.
TheprerequisiteforlearningSQLisknowledgeinDiscreteMathematics
(SetTheory,RelationsandFunctions).Althoughitisnotnecessarytolearn
A
A
allthetheoremsandproofforthetheoremsintheDiscreteMathematics,
youshouldhavelearnedthebasicconceptsoftheSets,RelationsandFunctions.
ant
toexploreaRDBMSmoredeeplyyoushouldlearnGraphTheorytoo.
AlthoughItriedtoavoidSQLServerspecifictopicsinthisarticle,
IamsurethatsometopicsarepuretoSQLserversuchasSQLEnterprise
manager.
DatatoDBMS
Dataissomethingthatshouldbestoredforfuturemanipulations(In
termsofDatabase).Thesystemwhichprovidessuchafacilityiscalled
DatabaseManagementSystemorDBMS.
Thesimplestformtostoreadataforlatterretrievalisusingatext
mpleyoumaywanttostoreyourfriendsnameandphonenumbers
touseitlatter.(Inthiscaseyoumayusenotepadorwordtodoso.)This
casethetexteditorusestheFileandDirectoryservicesprovidedbythe
OperatingSystemtoaccomplishthetaskofstoringandretrievingdata.
Buttheseunstructuredflatfilesarenotsuitabletolargedatasuch
hestockdataislargeinvolumeandadded
andupdatedfrequentlyitisnotscaleupwellifweuseasimpleflatfile.
Toovercomethisweneedsomesystemwhichshouldperformthestoring,
retrieving,manipulatingandqueryingoperationsonthedataandgiveoutput
S
isasystemwhichorganizesandstoresdatainastructuralwayforfast
sesoneormorefilestostorethegivendata.
SincetheDBMSismeantmainlyfordeveloperseveryDBMShasitisown
guagesarestandardizedunderthe
nameSQL(StructuredQueryLanguage).ThefollowingdefinitionforSQLis
fromBooksOnline“Alanguageusedtoinsert,retrieve,modify,anddelete
ocontainsstatementsfordefiningand
helanguagesupportedby
A
A
mostrelationaldatabases,andisthesubjectofstandardspublishedbythe
InternationalStandardsOrganization(ISO)andtheAmericanNational
StandardsInstitute(ANSI).SQLServer2000usesaversionoftheSQLlanguage
calledTransact-SQL.”
RepresentationofDatabyDBMS
DBMSshouldrepresentthedatastoredbytheminsomeformanditis
mostcommontorepresentthemasColumn,Row,
knowSQLyouknowwhatarecolumns,rows,tablesanddatabase.
PrimaryKey
Acolumnorsetofcolumnsusedtouniquelyidentifytherecordsina
yKeysdon’relateatablewith
othertableifyouhavedefinedprimaryonit.(SodefiningUNIQUEandNOT
NULLconstraintisnotequivalenttoprimarykey).SQLserverwillcreate
aClusteredindexwhileyoucreateaprimarykey.
Primarykeysshouldbecarefullydefinedsincebasedonitotherrelations
designedprimarykeyswillaffectinsert,updateand
ykeysaredifferentfromwhichareusedfor
paperwork.
ForeignKey
Theprimarykeyofoneofthetablesisalmostalwaysinvolvedinthe
ldintheothertableontheotherendofthat
m
simplyreferstothefactthatthisfieldiskeytorelatingtoaforeign
(orother)yricMusicdatabasethereisarelationshipbetween
istIDfieldistheprimarykeyintheArtists
ore,theArtistIDfieldintheTitlestableisaforeignkey.
ItrelatestheTitlestabletotheprimarykeyintheArtiststable.
-to-many
relationship,asinglerecordinthefirsttablecanberelatedtomanyrecords
r,eachrecordinthesecondtablerelatesto
tiontoone-to-manyrelationship,
A
A
searemuchlesscommon.
Server–Client
InClientServertechnology,aserverisaprogramwhichdoesallthe
jobsthatisrequestedbytheclientandClientisaprogramwhichdepends
ismainlyusedtointeractwith
UsersandmostServersoftwaredoesn’thavedirectinteractionwithUsers.
ADBMSshouldhavethefollowingfunctionality–Interactionwithusers
(developers),hesetwofunctionalitiesareentirely
allcurrent
DBMShasthefollowingmodule–r
moduleisprogramwhichmanagesthedataandhandlesrequestsfromtheclient
rpretstheSQLqueriesandreturnsresultsbacktothe
tprogramisaprogramwhichsendsSQLcommandstoserver
programdoesnotknowthedetailedunderground
structureoftheserver.
eto
establishaconnectiontotheserverfirstifyouwanttodosomeSQLoperation.
SQLServerusesLocalorNetworkIPC(Interprocesscommunication)to
ksOnlineformoredetails.
Themostbasicmisunderstandingofmanyjuniordevelopersisconsidering
erpriseManagerisatool
ryanalyzerisalsosimilartoolused
ferencebetweenSQLqueryanalyzerand
EnterpriseManagerisQueryAnalyzerisalightweightprocessandEnterprise
managerisheavyweightprocessesduetoitsGraphicalUserInterface.
EnterpriseManagerisahandytoolintheinitialstageofaproject.
easilycreate
Tables,Triggers,Relationships,ConstraintsetcusingEnterprisemanger
eenmanyofdevelopersdon’thaveexperienceinusing
ecomeoneofthem,useEnterpriseManagerwhenever
nalyzerisatoolusedtoCreate,Analyze,
A
A
ModifyandDeleteT-SQLqueries.
chisa
executeT-SQLcommandsin
osql/ferencebetweenosqlandisqlisosqlusesODBClibrary
ry
.
YoucandirectlyaccessSQLserverbyaccessingtheTCPPort/NamedPipes
ritisverytedious,soSQLServerhas
findthesourcecodefor
abase
rithasown
veralsooffersSQL-DMO(SQL
DistributedManagementObjects)aCOMcomponentwhichofferseasyprogramming
reatedoneapplicationcalledWhizusingtheSQL-DMO.
Youcandownloadsourcecodeforthatapplicationinmyprojectspage.
Apartfromtheselibrariesmanythirdpartylibrariesarealsoavailable
candirectlyaccessSQLserverusing
entnamespace.
NowyouhavelearnedhowSQLServerandSQLClienttoolsareexistsin
anetwork.
ItistimetolearnsomeClient-Servertechnologyrules
1)Theremaybemorethanoneconnectiontoserveratanytime
2)Clientshouldrequestonlywhatitwants
3)Clientrequestsshouldbeshort
ondpointsays
because
transferringdatafromServertoClientutilizesserver’sresourceandalso
increasesnetworktraffic.
DDL(DataDefinitionLanguage)
Whatisdatatype?–,
Money,Date,Time,etcareexamplesfordatatype.
A
A
Whatistheuseofclassificationordatatype?–Itincreasesthe
performance,reducesthespaceneededtostorethedata.
DML(DataManipulationLanguage)
DataManipulationLanguagescontainscommandusedtoquery,change,and
adddatafrom/cludesthefollowingcommands-SELECT,
INSERT,t
torefreshtheSettheoryconceptsbeforegoingfurther.
Transactions
Atransactionisasequenceofoperationsperformedasasinglelogical
alunitofworkmustexhibitfourproperties,called
theACID(Atomicity,Consistency,Isolation,andDurability)properties,
toqualifyasatransaction.
DTS(DataTransformationServices)
DataTransformationServicesareusedtotransferandtransformdata
fromonedatasourcetoanotherdatasoureinthesameserveroranother
plicationsofDTS
1)Copyingdatafromonedatabasetoanotherdatabase
2)Copyingdatastructurefromonedatabasetoanotherdatabase
3)MigratingdatafromotherdatasourcessuchasFlatFile,Excel,Access,
OracletoSQLServer.
4)MigratingdatafromSQLservertootherdatasources.
SincetheDTStopicishugeyoucannotgettoknowwhatitisuntilyou
hefollowingthingsandyou
anExcelfilewiththefollowing
columnsEmployeeName,Address,DateOfJoin,PhoneNumber,MaritialStatus,and
isexcelsheetwithsomemeaningfulinformationandthen
trytotransferthecontentsfromExceltoSQLusingDTSImport/ExportWizard.
YoucanalsocreateDTSpackageswhichcanbescheduledtorunatfuture.
DTSpackageprogrammingallowsmappingsourcefieldstodifferentdestination
fieldsandalsoprovideserrorcontrol.
SQLProfiler
A
A
SQLProfilerisahandytoolusedtoanalyzewhatishappeninginside
itisatoolwhichextractsthelog
ogswillhelpyoudebugapplications,
optimizequeries,redesigndatabasestructure.
RunningSQLProfilerisveryeasy,ClickSQLprofilerfromtheSQLServer
openthe
urservername,
ionsincludewhatevents
youwanttotrace,whatcolumnsyouwantintheoutput,filtersifany.
DBCC
ntainssomespecial
commandsthroughwhichyoucanaccomplishcertainDBoperationswhichis
notpossiblethroughnormalSQLcommands.
附录2:英文文献中文译文
SQLServer简介
关系数据库已经存在了30年,但他们不是原种的数据库,他们也不是最新的数
据库。XML和面向对象的数据结构在近几年已经发展。但是,关系数据库仍然是迄
今为止最流行的数据库,并将于今后一段时间继续被人们所使用。
SQL是结构化查询语言的缩写,并且用于关系数据库。如题目,这篇文章只是在
应用程序编程方面刚开始开发或者准备开发项目的载体。但是,这并不意味着这篇文
章能给初学者关于SQL的一个清楚的介绍。这篇文章是给那些关于SQL有一些了解,
并且想提高水平的读者读的。
SQL是干什么的?
首先,SQL是用于查看关系数据库中的信息的首选工具。它不仅给你转储数据,
而且是对数据总结、巩固和计算的先进工具。使用表关系,数据可以从来自多个表中
的许多方面被合并。SQL可以回答一个完善的数据库几乎所有有关数据的问题。
其次,SQL提供了在关系数据库中数据的命令操纵功能,记录可以被更新并添加
到一个表中或从一个表中删除,这是作为数据库语言SQL真正的闪光点。程序的编程
语言,如BASIC,可能需要几行代码来更新数据库表的记录。此外,程序的编程语言
A
A
就必须使用一些循环结构排序在每个记录中重复这一过程。SQL能在同一时间操作所
有记录。SQL对于程序员像是俳句,经常用很多语句或更少就可以删除或更改数千
的记录。
最后,SQL是一个完整的数据定义语言(DDL)。该数据库本身可以创建和所有
表,字段,主键的关系。通过向该记录插入指令添加数据,你可以有一个完整的数据
库和所有编程代码表示的数据。这极大地增强了数据库编程的工作能力或者各端口远
程数据的改进。
学习SQL的先决条件是离散数学(集理论知识,关系和函数)。虽然没有必要学
习所有的定理和离散数学定理证明,但是应该了解基本概念,关系和职能。这将帮助
您学习SQL查询和基本内容。如果你想更深入探讨关系数据库管理系统,也应该学习
图论。
虽然我尽力在这篇文章中避免探讨SQLServer的特定主题,但是我确保这篇文
章涉及到关于SQLServer,例如SQL企业管理器的内容。
数据库管理系统的数据
数据是在未来的操作中能存储的东西(在数据库方面)。该系统是能提供这样一
种被称为数据库管理系统或DBMS的设施。
存储以备以后检索使用的数据的最简单的形式是使用文本文件。例如你为了以后
使用想存储您朋友的名字和电话号码(在这种情况下你可以使用记事本或Word来
做)。这种存储形式被叫做平面文件存储或非结构化存储。在这种情况下,文本编辑
器是使用以完成数据的存储和检索任务的操作系统提供的文件和目录服务来完成的。
但是,这些非结构化的平面文件不适合存储大量数据,如股票的相关信息。由于
股票的数据量较大并且添加和更新频繁,如果我们用一个简单的平面文件不能很好的
扩展。为了克服这一点,我们需要一些对数据执行存储,检索,操作和查询操作并将
结果输出给我们的系统,这种系统被称为数据库管理系统。因此,一个数据库管理系
统是一个在一结构方式快速检索、组织和存储数据的系统。一个数据库管理系统对给
定数据使用一个或多个文件存储。
由于开发的数据库管理系统都会用自己的语言去写命令,这个标准化的语言的名
称是SQL(结构化查询语言)。以下是网上丛书对SQL的定义“在关系数据库中用
来插入,检索,修改数据的一种语言,还包含在数据库中定义和管理对象。SQL是
大多数关系数据库支持的语言,并且是由国际标准化组织(ISO公布的标准)和美国
国家标准学会(ANSI)确定的主题。SQLServer2000使用一种被称为Transact-
A
A
SQL的SQL语言的版本”。
通过数据库管理系统表示数据
数据库管理系统应该代表他们在某种形式下存储的数据,最常见的代表是列,行,
表格和数据库。如你所知SQL让您知道什么是列,行,表和数据库。
主键
主键是在表中用于唯一标识一列或者多列数据的记录,主键不能为空值。如果你
在一个表中定义主键,就可以和另外一个表相关联(所以,定义唯一和不能为空值不
等于是主键)。当您创建一个主键时,SQL服务器将创建一个聚集索引。
在其他关系已经定义的基础上再定义主键的时候应该注意。主键设计不当会影响
插入,更新和删除操作。主键和用于文书工作的事务不同。
外键
几乎在所有的关系中都能涉及到主键,两个有关系的表,一个表的主键是另一个
表的外键。这个词指的是一个表和其他表连接的关键区域。在抒情音乐的数据库中有
一个艺术家和标题之间的关系。艺术家的存储位置是艺术家表的主键,因此,艺术家
的存储位置在标题表中是外键。它涉及标题表到艺术家表的主键。
大多数表关系可以是一对多的,在一个一对多的关系中,第一个表中的一个记录
可以和第二个表中的很多记录相对,但是第二个表中的记录只和第一个表中的一个记
录相对。除了一对多的关系,表中记录可以是一对一的关系,但是这种情况很少见。
服务器—客户端
在客户服务器技术,服务器是由客户端要求做所有工作的一个程序,客户端是在
服务器上完成其任务的一个程序。客户端主要是用来与用户交互而大多数服务器不与
用户直接互动。
一个数据库管理系统应具有以下功能—与用户(开发者)的互动和管理数据。由
于这两个功能是完全不同的,所以现代数据库管理系统分为两个或多个部分。目前几
乎所有的数据库管理系统都有以下模块—服务器和一个或更多的客户。服务器模块是
管理数据和处理来自客户端应用程序的请求的程序。它解释SQL的查询语句并将结果
返回给客户端。一个客户端程序是SQL命令发送到服务器并获取结果的一个程序。客
户端程序不知道该服务器内部的详细结构。
SQLServer2000作为机器的NT服务运行。如果你想要做一些SQL操作,你必
须首先建立一个到服务器连接。SQLServer使用本地或网络的IPC(进程间通信)
与客户进行沟通。参见网上丛书的更多细节。
A
A
很多初级开发者考虑的SQL企业管理作为SQL服务器是最常见的错误。SQL企
业管理器是一个用来访问SQL服务器的工具。SQL查询分析器也是类似的用于访问
SQL服务器的工具。SQL查询分析器和企业管理之间的区别是查询分析器是一个轻的
重量过程而企业的经营是由其程序的图形用户界面决定的重的重量过程。
企业管理是一个给项目初始阶段提供方便的工具。这将在设计数据库时节省更多
的时间。您可以使用企业管理器轻松地创建表,触发器,关系,约束等。我见过很多
的开发人员在使用企业管理方面没有经验。每当你开始创建一个数据库时,你不必是
企业中的一员。查询分析仪是用来创建,分析,修改和删除T-SQL查询的工具。
您还可以使用或一个很轻的重量命令行实用程序的访问SQL
服务器。您可以执行osql/isql的T-SQL命令。osql和isql的之间的区别是
osql使用ODBC库而isql使用DB库。SQL查询分析器是Windows版本的。
您可以通过访问TCP端口/命名管道和SQL服务器发出某些命令直接访问SQL
Server,然而,这种访问是非常繁琐。因此SQLServer为了很容易的访问他们提供
了一些库,你可以在SQL服务器的这些库安装目录中找到源代码。对于数据库通信标
准SQL数据库服务器完全支持ODBC,此外他为了通信,SQL数据库服务器有自己的数
据库驱动程序。SQLServer还提供SQL-DMO(SQL分布式管理对象)并且提供一个
COM组件,它为用户提供了方便的编程接口。我已使用SQL-DMO创建了一个应用程
序叫做惠斯。你可以在我的项目页面应用程序中下载源代码。
除了这些库以外,许多第三方库也可以用于访问SQL服务器。在.NET中可以使
用ent命名空间直接访问SQL服务器。
现在您可以明白在一个网络中为何存在SQL服务器和SQL客户端工具。现在学习
一些客户端—服务器技术规则
1)在任何时候可能有多个到服务器的连接
2)客户应要求他只想要的
3)客户要求应该是短
第一点是关于服务器,以便离开。第二点说,客户端应只检索需要的数据。这是
因为从服务器向客户传输数据利用服务器的资源,也增加网络流量。
DDL(数据定义语言)
什么是数据类型?—在相似群体中分类数据的群体。名称,货币,日期,时间等
是数据类型的例子。
分类数据或数据类型的作用—它增加了性能,减少了存储数据所需的空间。
A
A
DML(数据操作语言)
数据操纵语言用于向数据库添加记录的查询和更改命令。它包括以下命令—选
择,插入,删除。所有这些命令都处理一组数据。所以,应该进一步清楚地了解集合
论的概念。
事务
事务是一个作为单个逻辑工作单元执行的操作序列。一个逻辑工作单元必须表现
出四个属性,所谓的ACID(原子性,一致性,隔离性和持久性)属性,使之成为一
个事务。
DTS(数据转换服务)
数据转换服务是用于从一个数据的数据源到另一个在同一服务器或另一台服务
器的数据源之间传输和转换的某些应用程序。
1)从一个数据库复制数据到另一个数据库。
2)从一个数据库复制数据到另一个数据库结构。
3)从其他数据源如平面文件,Excel,Access,Oracle中转移数据到SQLServer。
4)从SQL服务器转移数据到其他数据源。
在你的实际任务与DTS无关时,你是不知道DTS是干什么的。因此尝试以下内容,
你会知道有关DTS的知识。创建一个具有下列列,员工姓名,地址,电话号码,婚姻
状况和工作部门的表格文件。向这个表中添加一些有意义的信息表,然后尝试使用
DTS把表的内容导入/导出SQL。
您还可以创建DTS包以便以后使用,DTS包编程允许源字段映射到不同的目的地
领域,并提供错误控制。
SQL事件探查器
SQL事件探查器是一个用于分析SQL服务器的内部和外部的得心应手的工具。这
是从SQL服务器提取日志信息的一个简单的工具。这些记录会帮助你调试应用程序,
优化查询,重新设计数据库结构。
运行SQL事件探查器是很容易的,从SQLServer菜单中点击SQL事件探查器菜
单,然后从文件菜单中选择新的连接,这将打开连接对话框,键入您的服务器名称,
用户名和密码。现在你要设置你的个人资料。该方案包括哪些事件要跟踪,哪些列你
想要输出,是不是有过滤器。
DBCC
数据库控制台命令被称为的DBCC。包含了一些特殊的DBCC命令,通过它可以完
A
A
成某些数据库操作,而这些操作是不可以通过普通的SQL命令完成的。