数据库课设报告Word格式文档下载.docx
《数据库课设报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库课设报告Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有具有着手工管理无法比拟的优点。
例如:
检索迅速,、方便查找、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
学生学籍管理系统数据库设计
一、课题总体介绍
1.1课程介绍
高校学生学籍管理是一项即重要又繁琐的的工作。
为了更好的做好这项工作,提高工作效率,更好的为学校的发展和一线教育服务,决定:
结合我校实际情况,自行研制一套学生学籍管理系统。
1.2课题目的与意义
计算机已经成为我们学习和工作的得里助手:
今天,计算机的价格已经十分低廉,性能有了长足的进步。
它已经应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以替代人工进行许多繁琐的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以是文档更加安全,等等。
为了解决传统学生学籍管理面临着的这些问题,我所设计的学生学籍管理系统软件也就应运而生了。
本课程设计的目的是让学生掌握关系数据库的基本概念与原理,关系模型以及关系代数的理论,关系数据库的设计原理,数据库表的创建,表数据的输入、修改、删除与查询技术。
通过学习能应用关系数据库开发基本的数据库应用系统。
1.3主要涉及功能
学生学籍管理系统的功能是收集学生的个人信息,以便向老师提供每个学生在校或毕业生学籍的情况,还可以让学生用自己的学号去查看自己在校期间的相关信息。
本程序具备以下功能:
Ø
新生入学的学籍注册;
学生所在班级学员信息查询;
学生学籍信息的添加;
学生学籍信息的修改;
学生学籍信息的删除;
1.4原始资料
由于本系统管理的对象单一,都是在校学生。
且每个数据具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于用采用数据库管理。
且学校用于学生管理的计算机在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,参考其他程序的功能,因此完全可以实现。
二、需求可行性分析
2.1技术可行性分析
本系统是以SQLServer为应用开发工具,Microsoftaccess为数据库管理系统的信息管理系统。
SQLServer是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发windows环境下的种类应用程序。
MisrosoftAccess是微软公司推出的给予windows的桌面关系数据库管理系统(RDBMS),是office系列应用软件之一。
它是一个功能强大而且使用方便的数据库管理系统,为中小型数据库提供了良好的创建环境。
另外,如数管理系统越来越多地被应用,便于开发时的借鉴。
因此,本系统具有技术上得可行性。
2.2经济可行性分析
从成本的角度考虑,包括系统的初始成本(各种软、硬件级辅助设备的购置和机房及附属设施费用),日常维护费用(系统维护,人员费用,运行费用等),但由于系统较简单,面向对象单一,只有管理员和学生,较好管理,中间费用消耗少;
从收益角度考虑,主要考虑无形效益,通过系统的运行,使学生更好更多滴学到知识,使管理员的工作更加高效轻松,提高了整个图书馆的使用价值。
因此,本系统具有经济上的可行性。
2.3环境可行性分析
现在社会是信息的时代,而信息的各种特点决定了需要有专门的信息系统对它加以管理才能更好地发挥作用,各种技术水平也发展到相应程度,作为高等学府的西安财经学院更是有必要和实力建立一个完善高效的图书管理信息系统。
因此,本系统具有环境可信性。
2.4运营的可靠性
1.本系统操作简单,易于理解,只需要简单培训,上手较快,学校学籍管理的教职员以及相关教师均能进行操作,营运环境要求低。
2.面对于系统设计还应该一“标准低、安全性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的发展,升级留有余地。
软件的开发应能在较长时间内满足学校的发展需求。
标准性:
系统编写与运行必须符合标准,既可以保证系统又可以在此标准上每一项功能运行。
可靠性:
由于学籍信息的重要性,系统必须稳定可靠,从而避免或减少数据损失。
安全性:
通过系统权限控制使用者,从而确保使用者无法操作与其无关的数据。
高效性:
由于学生处信息每次处理信息量大,系统对信息处理能力响应能力都应该是快捷有效的。
可维护性:
采用结构化模块设计,便于开发与维护,也有利于情况随时进行
2.5数据需求分析
学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。
学生的信息包含1:
所在班级;
2:
学生姓名;
3:
学生性别;
4:
学生学号;
5:
学生联系方式。
综合分析对信息管理系统分以下个表:
1,用户表table:
用户名称,用户密码。
2,学生信息表xinxi:
所在班级、姓名、性别、学号、联系方式
三、学生学籍管理系统设计
3.1系统设计的任务及原则
管理信息系统处理的合理选择,就是一个处理过程的设计问题,选择处理方式实际上时根据系统的任务、目标和环境条件,合理地选择信息活动的形态及其方法。
程序流程图又称程序框图,表示方法简单,是用来描述程序执行的逻辑过程。
他把程序执行的步骤归纳为:
处理、判断、输入、输出、起始和终结等几个基本功能,并用不同的记号加以表示,从而描述程序的执行过程。
3.2学生学籍信息系统分析
“学生学籍信息管理信息系统”的主要功能有:
用户登录、用户查询、添加用户、修改用户和删除用户。
系统功能如下图1.2.1:
学生学籍信息管理
用户登录
查询信息
信息使用
返回信息
用户管理
添加
修改
删除
系统组织结构图
用户信息
用户账号
用户密码
创建日期
用户登录结构图
3.3学生基本信息的查询和更新模块
将完成对学生基本信息的查询和插入、删除、修改等更新操作,具体的功能模块如下所示:
4、系统设计
系统设计是管理系统开发的第二个阶段。
在这一阶段中我们将根据系统调查与分析阶段的结果,进行新系统的设计工作。
系统设计包括概念结构设计及系统的总体结构的设计,即把系统的功能分解成许多基本的功能模块,取得他们之间的联系,规定他们的功能和处理流程。
4.1数据库概念结构设计
1.概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
2.数据字典
数据字典是各类数据描述的集合,它是惊醒详细的数据收集和数据分析后获得的主要结果。
数据字典通常包括一下几个部分:
1)数据项:
数据项是不可再分的数据单位。
2)数据结构:
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据结构组成,或是由若干数据项和数据结构混合组成。
3)数据流:
数据流是数据结构在系统内传输的路径。
4)数据存储:
数据存储是数据及结构停留或是保存的地方,也是数据流的来源和去向之一。
5)处理过程:
处理过程的具体处理逻辑一般用判定表或是判定树来描述。
6)数据字典:
是关于数据库中数据的描述,即对原数据的描述。
4.2创建数据库
“学生学籍信息管理系统”作为一个完整的数据库管理系统,在创建阶段利用项目管理器可以更好组织管理各种格式的文件,因此首先需要创建一个项目,然后在项目管理器创建其他格式的文件。
在主窗口中选择“文件”菜单下“新建”子菜单,在打开的“新建”对话框的“文件类型“区域中选中”项目”,然后单击右侧的”新建文件”按钮,打开”创建“对话框中的”项目文件“文本框中输入项目名称,在此输入"
LINTAO”,单击“保存”按钮即创建了一个项目。
在项目管理器的“数据”选项卡中选中“数据库”单击右侧的“新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”,在弹出的“创建”对话框的“数据库名”文本框中输入数据库的名称,在此输入“lintao”作为数据库名,单击“保存“按钮即创建了一个空的数据库。
在项目管理器的“数据”选项卡中打开刚才创建的“lintao”数据库的目录树,选中“数据表”,单击右侧的“新建”按钮即可开始数据表的创建。
“学生信息”数据表字段属性设置
字段名
数据类型
说明
学号
字符型
字段宽度6,
姓名
字段宽度10
性别
字段宽度2
联系方式
班级
“用户信息”数据表字段属性设置
字段宽度10,
4.3数据库物理设计
物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。
输入:
系统关系数据结构
输出:
系统数据库物理结构
1.物理结构设计的主要内容:
2.物理存储介质类型的选择
3.数据库物理位置的选择
4.索引类型的选择
教学信息管理系统的核心任务是对学生的学籍信息和考试信息进行有效的管理。
其中,数据量最大且访问频率较高的是学生选课信息表。
为了提高系统的查询效率,降低系统的查询成本,需要为学生信息表和学生选课信息表建立聚簇索引
5、运行截图
5.1登录界面
5.2查询界面
5.3添加界面
5.4修改界面
5.5删除界面
6、源代码
6.1登录
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
using作业;
namespace山西大学校园信息门户
{
publicpartialclassForm1:
Form
{
publicForm1()
InitializeComponent();
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
stringname=textBox1.Text.Trim();
stringpwd=textBox2.Text.Trim();
stringConnectionString="
server=localhost;
database=lintao;
UserID=sa;
Password=123456"
;
//创建连接
SqlConnectionconn=newSqlConnection(ConnectionString);
conn.Open();
stringsql="
select*from[Table]whereid='
"
+name+"
'
andpwd='
+pwd+"
//账户信息
SqlCommands=newSqlCommand(sql,conn);
SqlDataReaderreader=s.ExecuteReader();
if(reader.Read())
MessageBox.Show("
登陆成功"
);
Form2f2=newForm2();
this.Hide();
f2.Show();
else{MessageBox.Show("
失败"
conn.Close();
privatevoidbutton2_Click(objectsender,EventArgse)
textBox1.Clear();
textBox2.Clear();
textBox1.Focus();
}
6.2查询
publicpartialclassForm2:
publicForm2()
toolStripComboBox1.Items.Add("
计本1323"
计本1324"
toolStripComboBox2.Items.Add("
男"
女"
privatevoidtoolStripComboBox1_Click(objectsender,EventArgse)
///<
summary>
///查询信息
/summary>
paramname="
sender"
>
<
/param>
e"
publicvoidbutton1_Click(objectsender,EventArgse)
stringname=toolStripTextBox1.Text.Trim();
//姓名
stringsno=toolStripTextBox2.Text.Trim();
//学号
stringgrade=toolStripComboBox1.Text;
//班级
stringgender=toolStripComboBox2.Text;
//性别
stringtel=toolStripTextBox3.Text.Trim();
//联系方式
//创建链接
select*from[xinxi]whereClass='
+grade+"
orName='
+name+"
orGender='
+gender+"
orSno='
+sno+"
orTel='
+tel+"
//查询命令
if(conn.State==ConnectionState.Closed)
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataAdaptersda=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
sda.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
conn.Dispose();
privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)
///添加
Form3f3=newForm3();
f3.Show();
///删除
privatevoidbutton4_Click(objectsender,EventArgse)
Form5f5=newForm5();
f5.Show();
///修改
privatevoidbutton3_Click(objectsender,EventArgse)
Form4f4=newForm4();
f4.Show();
6.3添加
publicpartialclassForm3:
publicForm3()
privatevoidForm3_Load(objectsender,EventArgse)
privatevoidbutton1_Click(objectsender,EventArgse)
stringconnStr="
stringsql=string.Format("
insertintoxinxi(Class,Name,Gender,Sno,Tel)values('
{0}'
'
{1}'
{2}'
{3}'
{4}'
)"
grade,name,gender,sno,tel);
SqlConnectionconn=newSqlConnection(connStr);
cmd.ExecuteNonQuery();
stringsqlse="
select*fromxinxiwhereSno='
+sno+"
SqlCommandcmd1=newSqlCommand(sqlse,conn);
cmd1.ExecuteNonQuery();
SqlDataAdaptersda