2020年数据库实训报告_第1页
2020年数据库实训报告_第2页
2020年数据库实训报告_第3页
2020年数据库实训报告_第4页
2020年数据库实训报告_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库实训报告

资料仅供参考

计算机与软件工程学院

照据席原理及成用

锦程软计板告

课题名称:学生信息管理系统

专业:计算机与科学技术

班级:_________________________

姓名:_________________________

学号:_________________________

指导老师:_________________________

年6月14号

资料仅供参考

课程设计任务及进度表

课题

学生信息管理系统

名称

经过对管理系统的设计和开发,了解了数据库的设计与开发的全过

设计程,达到巩固数据库理论知识、锻炼实践能力和构建合理知识结构的目

目的的。

操作系统:Windows7;

数据库管理系统:SQLServer;

实验

编程环境:

环境NET.ASP

1.搜集学生信息管理问题方面的资料,进行需求分析;

2.完成概念设计、逻辑设计等各阶段的设计;

3.编写程序代码,系统调试;

任务

要求

4.撰写课程设计报告;

5.参加答辩。

工作进度计划

序号起止日期工作内容

1.6.02-.6.12查询资料、选择课题

2.6.13-.6.13需求分析、总体设计

资料仅供参考

3.6.14-.6.16系统整体设计、编写程序代码、调试程序

4.6.17-.6.19撰写课程设计报告

资料仅供参考

摘要

该项目开发的软件为学校学生信息管理系统软件,是鉴于当前学校学生人

数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确

化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单

位(包括学校,学院等等)的学生信息的管理.

当前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软

件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化

的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,

但功能齐全且易于操作学生信息管理系统是一个教育单位不可缺少的部分,它

的内容对于学校的决策者和管理者来说都至关重要。

本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、

系统设计、数据库设计和系统实施的全过程。

关键词信息管理,分析,设计,开发

资料仅供参考

目录

1引曰f曰7£I♦°

2项目需求分析....................................错误!未定义书签。

2.1方案的可行性分析.............................错误!未定义书签。

2.2方案需求分析.................................错误!未定义书签。

3项目概念设计....................................错误!未定义书签。

3.1模块单元设计.................................错误!未定义书签。

3.2ER图设计....................................错误!未定义书签。

4项目逻辑结构设计................................错误!未定义书签。

4.1将概念模式转换成关系模式.....................错误!未定义书签。

4.2子模式设计...................................错误!未定义书签。

4.3数据库设计...................................错误!未定义书签。

5编码实现........................................错误!未定义书签。

5.1界面设计.....................................错误!未定义书签。

5.2数据库操作...................................错误!未定义书签。

6项目测试结果....................................错误!未定义书签。

结论............................................错误!未定义书签。

致谢............................................错误!未定义书签。

参考文献.......................................错误!未定义书签。

资料仅供参考

1引言

学生信息管理系统已经成为了一个教育单位不可缺少的部分。一个功能

齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负

担,它的内容对于学校的决策者和管理者来说都至关重要。因此学生信息管理系

统应该能够为用户提供充分的信息和快捷的查询手段。但一直以来人们使用传

统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点。

如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和

数据。这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,

计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各

个领域并发挥着来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手

工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存

储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理

的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。

2项目需求分析

2.1方案的可行性分析

2.1.1技术可行性

本系统主要采用ASP.NET框架开发。ASP.NET是基于通用语言的编译运行的

程序,因此它的强大性和适应性,能够使它运行在Web应用软件开发者的几乎全

部的平台上。加上SQLSever的连接,完全能够满足本系统的开发需要,因此技

术上是可行的的。

2.1.2经济可行性

本系统为自主开发,耗时1周,因其本身就是比较小的系统,功能简单,且

使用的开发工具都是现有的。因此在经济上是可行的。

资料仅供参考

2.2方案需求分析

2.2.1功能需求

学生管理系统的几个主要功能如下:

(1)提供学生录入信息功能

能够输入学生的姓名,学号,选修课,实验课,必修课和总分。

(2)查询学生信息功能

根据学生学号来查询学生信息。

(3)删除学生信息功能

提供学号,查找是否有此人信息,然后选择删除学生信息。

(4)插入学生信息功能

输入学生学号,插入该学生的学号的后面

2.2.2性能需求

本软件系统各种特点决定了系统需要具有以下几个主要特性:

(1)多样性。现在,计算机语言越来越普及,用户面临的选择越来越多。想

要保证对用户的吸引力,就必须要在多样性上下功夫了。因此,系统的多样性、

功能的多样性一直都是软件系统开发的重点。

(2)安全性。数据是软件的灵魂,如何保证数据的安全性,是系统开发时必

须考虑的一个重要问题。开发者应避免程序出现漏洞,防止黑客进行攻击,及时

进行数据备份,建立一个完善的多层次的安全保障体系,保障系统的安全。

(3)可扩展性。需求变更一直是开发中难以避免的问题。系统在进行设计时

应充分考虑到需求变更的可能性,降低系统扩展功能时的复杂度。

资料仅供参考

3项目概念设计

3.1模块单元设计

图3T总概要设计

3.1.1系统管理模块

系统管理模块,进入系统后,能够选择退出系统:

资料仅供参考

图3-2系统管理模块

3.1.2学生管理模块

学生管理模块,包括学生信息添加,删除,修改。

资料仅供参考

图3-3学生管理模块

3.1.3课程管理模块

课程管理模块,包括课程信息添加,修改,删除。

图3-4课程管理模块

资料仅供参考

3.1.4成绩管理模块

成绩管理模块,包括成绩的添加,修改。

图3-5成绩管理模块

3.1.5信息管理模块

信息查询模块,包括学生查询,课程查询,成绩查询。

资料仅供参考

图3-6信息管理模块

资料仅供参考

3.2ER图设计

3.2.1学生信息实体ER图

图3-7学生信息实体ER图

3.2.2课程信息实体ER图

图3-8课程信息实体ER图

资料仅供参考

4项目逻辑结构设计

4.1将概念模式转换成关系模式

以下是学生管理信息系统的关系模型:

(1)学生(姓名,班级,学号,性别,电话,出生日期)

Student(name,class,studentID,sex,telephone,dateofbirth)

(2)班级课程(课程名称,专业,学期,年级)

Class_course(coursename,major,school,grade)

(3)班级(班级名,教室,年制,备注)

Class(classname,classroom,years,note)

(4)成绩(编号,分数,谡程,考号,等级)

Score(numberzscore,course,exam_number,grade)

4.2子模式设计

针对不同的应用需求,分别设计对应的子模式。

(1)学生(姓名,班级,学号,性别,电话,出生日期)

ViewStudent(name,class,stuclentID,sex,telephone,dateofbirth)

(2)班级课程(课程名称,专业,学期,年级)

View_Class_coursefcoursename,major,school,grade)

(3)班级(班级名,教室,年制,备注)

ViewClasstclassname,classroom,years,note)

⑷成绩(编号,分数,课程,考号,等级)

View_Score(number/score,course,exam_number,grade)

资料仅供参考

4.3数据库设计

4.3.1表设计

Hl-7LStudentManager-db。4dmin

idusernamepasswordtype

►nadminadminAdmin

2PsW123Teacher

3小黑asdfStudent

4张三123Student

5蝙蝠住BatAdmin

7小明123Student

米NULLNULLNLA1AUZ

图4-1管理员表

资料仅供参考

lll-7LStudentManager-dbo.Course

CNumberCName

►ASP.NET

2SQLServer

3C#Winfbrm

4UML

5Math

米,NULLAUZ

图4-2课程表

lll-7LStudentManager-dbo.Score

1idSNunberCNumberScore

B1199

21298

41496

52195

62294

72393

82492

93181

103282

113383

123484

*AUZNULLNUUNULL

图4-3分数表

^/dUUL7LStudentManager-dbo.Student

SNumberSNameSAgeSEmailSSex

►gPsW19PsW@QQ.COM男

3小黑20abc@123,com女

4小新49XIN@163,com里

6xiao25123男

7小刚25123男

米NLILA/ULLNULLNU.L/VUZ

资料仅供参考

图4-4学生表

4.3.2数据库加载

原始文件名如偻型当敬件路径

二]教据

StudentManager.nd£D:\StudentInformation\DB\StudentMan&ger.nd£□

StudentManager_log,Idf日志D:\StudentIn£onnation\DB\StudentMan&ger_log.Idf□

图4-5数据库加载

5编码实现

5.1界面设计

5.1.1账户信息管理

图5-1账户信息管理界面

代码实现:

namespaceStudentMI

资料仅供参考

publicpartialclass

FormAccount:Form

publicFormAccount()

(

InitializeComponent();

}

privatevoid

FormAccount_Load(objectsender,

EventArgse)

(

if

(UserHelper.userType!=

UserType.Admin)

(

for(inti=0;i<

this.Controls.Count;i++)

(

if

(this.Controls[i].GetType().Equals

(typeof(Button)))

资料仅供参考

this.Controls[i].Enabled=false;

}

}

}

this.button3.Enabled=

true;

//this.adminTableAdapter.Fill(this

.studentManagerDataSet4.Admin);

stringsqltr="select*

FromAdmin";

SqlCommandcmd=

DBHelper.con.CreateCommand();

cmd.CommandText=sqltr;

cmd.CommandType=

CommandType.Text;

SqlDataAdapterda=new

SqlDataAdapter(cmd);

DataSetds=new

DataSet();

da.Fill(ds);

资料仅供参考

this.dataGridViewl.DataSource=

ds.Tables[0];

this.Iblnfo.Text="登录

人:”+UserHelper.user;

}

privatevoid

buttonl_Click(objectsender,

EventArgse)

(

FormAddAccountfas=new

FormAddAccount();

if(fas.ShowDialog()==

DialogResult.OK)

(

stringsqltr=

"select*FromAdmin";

SqlCommandcmd=

DBHelper.con.CreateCommand();

cmd.CommandText=

sqltr;

cmd.ConimandType

资料仅供参考

CommandType.Text;

SqlDataAdapterda=

newSqlDataAdapter(cmd);

DataSetds=new

DataSet();

da.Fill(ds);

//this.adminBindingSource.DataSour

ce=ds.Tables[0];

this.dataGridViewl.DataSource=

ds.Tables[0];

intc=

this.adminBindingSource.Count;

this.dataGridViewl.Refresh();

}}

privatevoid

button2_Click(objectsender,

EventArgse)

资料仅供参考

this.adminTableAdapter.Update(this

.studentManagerDataSet4.Admin);

}

privatevoid

button4_Click(objectsenderz

EventArgse)

{

try

(

if

(this.dataGridViewl.SelectedRows.C

ount>0)

(

DataGridViewRow

drw=dataGridViewl.SelectedRows[0];

DataGridViewCell

cell=

drw.Cells["idDataGridViewTextBoxCo

lumn"];

stringsql=

"DELETE[Admin]Where[id]=H+

cell.Value.ToString();

资料仅供参考

new

SqlHelper().ExecuteNonQuery(sql,

CommandType.Text);

dataGridViewl.Rows.Remove(drw);

}

MessageBox.Show("删除

数据成功!”);

}

catch

(

}

}

privatevoid

button3_Click(objectsender,

EventArgse)

(

FormAccountSearchfaa=

newFormAccountSearch();

faa.ShowDialog();

)

资料仅供参考

privatevoid关于

ToolstripMenuItem_Click(object

sender,EventArgse)

(

FormAboutfa=new

FormAbout();

fa.ShowDialog();

}

privatevoid退出

XToolStripMenuItem_Click(object

sender,EventArgse)

(

this.Close();

}}}

资料仅供参考

5.1.2课程信息管理

图5-2课程管理界面

代码实现:

namespaceStudent_MI

publicpartialclassFormCourse:

Form

publicFormCourse()

InitializeComponent();

}

privatevoid

资料仅供参考

FormCourse_Load(objectsender,

EventArgse)

(

if

(UserHelper.userType!=

UserType.Admin)

(

for(inti=0;i<

this.Controls.Count;i++)

(

if

(this.Controls[i].GetType().Equals

(typeof(Button)))

(

this.Controls[i].Enabled=false;

}}}

this.button3.Enabled=

true;

this.courseTableAdapter.Fill(this.

studentManagerDataSet2.Course);

资料仅供参考

this.Iblnfo.Text="登录

人:”+UserHelper.user;

}

privatevoid

button2_Click(objectsenderz

EventArgse)

this.courseTableAdapter.Update(thi

s.studentManagerDataSet2.Course);

}

privatevoid

buttonl_Click(objectsenderz

EventArgse)

(

FormAddCoursefas=new

FormAddCourse();

if(fas.ShowDialog()==

DialogResult.OK)

//刷新

资料仅供参考

stringsqltr=

"select*FromCourse";

SqlCommandcmd=

DBHelper.con.CreateCommand();

cmd.CommandText=

sqltr;

cmd.CommandType=

CommandType.Text;

SqlDataAdapterda=

newSqlDataAdapter(cmd);

DataSetds=new

DataSet();

da.Fill(ds);

this.courseBindingSource.DataSourc

e=ds.Tables[0];

intc=

this.courseBindingSource.Count;

this.dataGridViewl.Refresh();

}

)

资料仅供参考

privatevoid

button4_Click(objectsender,

EventArgse)

(

try

(

if

(this.dataGridViewl.SelectedRows.C

ount>0)

(

DataGridViewRow

drw=dataGridViewl.SelectedRows[0];

DataGridViewCell

cell=

drw.Cells["cNumberDataGridViewText

BoxColumn"];

stringsql=

"DELETE[Course]Where[CNumber]=H

+cell.Value.ToString();

new

SqlHelper().ExecuteNonQuery(sql,

CommandType.Text);

资料仅供参考

dataGridViewl.Rows.Remove(drw);

}

MessageBox.Show("删除

数据成功!”);

}

catch

}

}

privatevoid

button3_Click(objectsenderz

EventArgse)

{

FormCourseSearchfas=

newFormCourseSearch();

fas.ShowDialog();

}

privatevoid关于

ToolStripMenuItem^Click(object

sender,EventArgse)

资料仅供参考

FormAboutfa=new

FormAbout();

fa.ShowDialog();

}

privatevoid退出

XToolStripMenuItem^Click(object

sender,EventArgse)

(

this.Close();

}}}

5.1.3成绩信息管理

图5-3成绩管理界面

代码实现:

namespaceStudentMI

资料仅供参考

publicpartialclassFormSource:

Form

(

publicFormSource()

(

InitializeComponent();

}

privatevoid

FormSource_Load(objectsender,

EventArgse)

(

if(UserHelper.userType

==UserType.Student)

(

for(inti=0;i<

this.Controls.Count;i++)

(

if

(this.Controls[i].GetType().Equals

(typeof(Button)))

资料仅供参考

this.Controls[i].Enabled=false;

}

}

}

this.button4.Enabled

true;

this.scoreTableAdapter.Fill(this.s

tudentManagerDataSet3.Score);

this.Iblnfo.Text="登录

人:”+UserHelper.user;

}

privatevoid

buttonl_Click(objectsenderz

EventArgse)

(

FormAddScorefas=new

FormAddScore();

if(fas.ShowDialog()==

资料仅供参考

DialogResult.OK)

(

//刷新

stringsqltr=

"select*From[Score]H;

SqlCommandcmd=

DBHelper.con.CreateCommand();

cmd.CommandText=

sqltr;

cmd.CommandType=

CommandType.Text;

SqlDataAdapterda=

newSqlDataAdapter(cmd);

DataSetds=new

DataSet();

da.Fill(ds);

this.dataGridViewl.DataSource=

ds.Tables[0];

intc=

this.scoreBindingSource.Count;

资料仅供参考

this.dataGridViewl.Refresh();

}

}

privatevoid

button2_Click(objectsenderz

EventArgse)

(

this.scoreTableAdapter.Update(this

.studentManagerDataSet3.Score);

}

privatevoid

toolstripl_ItemClicked(object

sender,

ToolstripItemClickedEventArgse)

(

}

privatevoid

button4_Click(objectsenderz

EventArgse)

资料仅供参考

FormScoreManagefsm=new

FormScoreManage();

fsm.ShowDialog();

}

privatevoid

button5_Click(objectsenderz

EventArgse)

(

try

(

if

(this.dataGridViewl.SelectedRows.C

ount>0)

(

DataGridViewRow

drw=dataGridViewl.SelectedRows[0];

DataGridViewCell

cell=

drw.Cells[HidDataGridViewTextBoxCo

lumn"];

stringsql

资料仅供参考

"DELETE[Score]Where[id]=H+

cell.Value.ToString();

new

SqlHelper().ExecuteNonQuery(sql,

CommandType.Text);

dataGridViewl.Rows.Remove(drw);

}

MessageBox.Show("删除

数据成功!”);

}

catch

(

}

}

privatevoid关于

AToolStripMenuItem_Click(object

sender,EventArgse)

(

FormAboutfa=new

FormAbout();

资料仅供参考

fa.ShowDialog();

}

privatevoid退出

XToolStripMenuItem^Click(object

senderzEventArgse)

(

this.Close();

}}}

5.1.4学生信息管理

图5-4学生信息界面

代码实现:

namespaceStudent_MI

(

publicpartial

FormStudents:Form

资料仅供参考

publicFormStudents()

(

InitializeComponent();

}

privatevoid

FormStudents_FormClosing(object

senderrFormClosingEventArgse)

(

}

privatevoid

FormStudents_Load(objectsender,

EventArgse)

(

//UserHelper.userType=

UserType.Student;

if

(UserHelper.userType!=

UserType.Admin)

资料仅供参考

for(inti=0;i<

this.Controls.Count;i++)

(

if

(this.Controls[i].GetType().Equals

(typeof(Button)))

(

this.Controls[i].Enabled=false;

}

}

}

this.buttons.Enabled=

true;

//TODO:这行代码将数据加载

至!I表astudentManagerDataSet.Student”

中。您能够根据需要移动或移除它。

this.studentTableAdapterl.Fill(thi

s.studentManagerDataSet.Student);

资料仅供参考

this.studentTableAdapter.Fill(this

.studentManagerDataSetl.Student);

this.Iblnfo.Text="登录

人:”+UserHelper.user;

}

privatevoid

buttonl_Click(objectsenderz

EventArgse)

(

FormAddStudentfas=new

FormAddStudent();

if(fas.ShowDialog()==

DialogResult.OK)

(

//刷新

stringsqltr=

"select*FromStudent";

SqlCommandcmd=

DBHelper.con.CreateCommand();

cmd.CommandText=

资料仅供参考

sqltr;

cmd.CommandType=

CommandType.Text;

SqlDataAdapterda=

newSqlDataAdapter(cmd);

DataSetds=new

DataSet();

da.Fill(ds);

this.studentBindingSource.DataSour

ce=ds.Tables[0];

intc=

this.studentBindingSource.Count;

this.dataGridViewl.Refresh();

}

}

privatevoid

button4_Click(objectsender,

EventArgse)

资料仅供参考

this.studentTableAdapter.Update(th

is.studentManagerDataSetl.Student);

}

privatevoid

button2_Click(objectsenderz

EventArgse)

(

try

(

if

(this.dataGridViewl.SelectedRows.C

ount>0)

(

DataGridViewRow

drw=dataGridViewl.SelectedRows[0];

DataGridViewCell

cell=

drw.Cells["sNumberDataGridViewText

BoxColumn"];

stringsql=

"DELETE[Student]Where[SNumber]=H

资料仅供参考

+cell.Value.ToString();

new

SqlHelper().ExecuteNonQuery(sql,

CommandType.Text);

dataGridViewl.Rows.Remove(drw);

)

MessageBox.Show("删除

数据成功!”);

}

catch

}

}

privatevoid

button5_Click(objectsenderz

EventArgse)

(

FormStudentSearchfas=

newFormStudentSearch();

fas.ShowDialog();

资料仅供参考

}

privatevoid关于

AToolStripMenuItem_Click(object

sender,EventArgse)

(

FormAboutfa=new

FormAbout();

fa.ShowDialog();

}

privatevoid退出

XToolStripMenuItem_Click(object

sender,EventArgse)

(

this.Close();

}}}

5.2数据库操作

namespaceStudent_MI

(

publicclassSqlHelper

privateSqlConnectionconn=

资料仅供参考

null;

privateSqlCommandcmd=

null;

privateSqlDataReadersdr=

null;

//下载于.net

publicSqlHelper()

(

stringconnStr="Data

Source=.\\SQL;Initial

Catalog=StudentManager;uid=sa;pwd=

sa";

conn=new

SqlConnection(connStr);

}

privateSqlConnection

GetConn()

(

if(conn.State==

Connectionstate.Closed)

conn.Open();

资料仅供参考

}

returnconn;

}

III<summary>

III执行不带参数的增删改SQL语句

或存储过程

III</summary>

III<paramname=HcmdTextH>i§

删改SQL语句或存储过程</param>

III<paramname=”ct”>命令类型

</param>

III<returnsX/returns>

publicint

ExecuteNonQuery(sbringcmdText,

CommandTypect)

(

intres;

try

(

cmd=new

SqlCommand(cmdText,GetConn());

cmd.CommandType=ct;

资料仅供参考

res=

cmd.ExecuteNonQuery();

}

catch(Exceptionex)

(

throwex;

}

finally

(

if(conn.State==

Connectionstate.Open)

(

conn.Close();

}

}

returnres;

}

III<summary>

///执行带参数的增删改SQL语句

或存储过程

III</summary>

III<paramname="cmdText"

资料仅供参考

删改SQL语句或存储过程</param>

III<paramname=”ct”>命令类型

</param>

III<returnsX/returns>

publicint

ExecuteNonQuery(sbringcmdText,

SqlParameter[]paras,CommandType

ct)

(

intres;

try

(

using(cmd=new

SqlCommand(cmdText,GetConn()))

(

cmd.CommandType=

ct;

cmd.Parameters.AddRange(paras);

res=

cmd.ExecuteNonQuery();

}

资料仅供参考

}

catch(Exceptionex)

(

throwex;

}

returnres;

}

III<summary>

///执行查询SQL语句或存储过程

III

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论