SQL Server数据库管理与开发.docx

上传人:b****6 文档编号:5283997 上传时间:2022-12-14 格式:DOCX 页数:22 大小:498.48KB
下载 相关 举报
SQL Server数据库管理与开发.docx_第1页
第1页 / 共22页
SQL Server数据库管理与开发.docx_第2页
第2页 / 共22页
SQL Server数据库管理与开发.docx_第3页
第3页 / 共22页
SQL Server数据库管理与开发.docx_第4页
第4页 / 共22页
SQL Server数据库管理与开发.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

SQL Server数据库管理与开发.docx

《SQL Server数据库管理与开发.docx》由会员分享,可在线阅读,更多相关《SQL Server数据库管理与开发.docx(22页珍藏版)》请在冰豆网上搜索。

SQL Server数据库管理与开发.docx

SQLServer数据库管理与开发

 

学生信息管理系统(后台数据库)

 

院系:

信息控制工程学院

姓名:

杨劲龙

班级:

计算0702班

学号:

07520217

指导教师:

胡艳菊

 

一、目的

为了开发学生信息管理系统,采用SQL数据库连接方法,为方便学生信息的数据存放,配合学生信息管理系统的应用。

同时SQL数据库有很多好处:

安全,有访问控制快,比一般的较差算法快,数据库的查询做了很多优化事务,数据库一般会支持事务,这样可以方便的检查数据的完整性。

也可以用文件存,但数据库提供了数据管理功能,包括权限的管理、数据物理存储的管理等等

二、意义

数据库(Database,即DB)是存储在一起的相关数据的集合,是存储数据的“仓库”。

因此,要理解数据库就需要先了解在数据处理领域中常遇到的两个基本概念:

“信息”(information)和“数据”(data)。

数据库系统就是实现有组织地、动态地存储大量相关数据,方便用户访问的计算机软、硬资源组成的系统。

而数据库技术是研究数据库的结构、存储、设计和使用的一门软件学科。

因此,数据库技术主要是研究如何存储、使用和管理数据。

在计算机应用中,数据处理占的比重最大,而数据库系统是数据处理的核心机构,所以它的效能往往决定了整个计算机应用的经济效益。

学生信息管理系统意义在于为学生、教师提供方便的信息管理方法。

同时连接数据库存放相关数据,为以后的管理也提供方便的环境。

 

 

三、数据库

一、用户管理模块

在用户管理模块中又把此模块分为三个小的模块分别为:

1.输入

在输入模块中通过在表单中的一个确定按钮使得用户在界面中通过键盘或通过标输入的数据插入到数据库中的学生基本信息表中,通过退出按钮结束学生信息的输入。

2.编辑

当用户进入编辑窗口时,编辑窗口中的数据绑定型控件都与学生基本信息表中的字段进行绑定。

并设计一个类,类的基类为命令按钮组,组中包含六个命令按钮分别为:

第一个,上一个,下一个,最后一个,删除,退出。

把此类作为控件添加到表单中,以此来对记录进行移动与删除。

3.查询

当用户进入查询窗口时,在查询窗口的文本框中输入要查询的关键字如性名或学号时,并点确定按钮,按钮中的SQL查询语句就会执行,使得结果显示在此表单的下方的表格中。

二、学生基本信息管理模块、考试管理模块和成绩管理模块这三个模块的每一个模块都包含以上的三个小模块在此不在重复。

数据库概念结构设计

这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,可以用实体-关系模型来描述.

实体-关系模型(Entity-relationshipMode,简称E-R模型)是数据库设计常用的方法.E-R图中的矩形表示实体,菱形表示实体之间的联系,联系的类型可以用1:

1或1:

M或M:

N表示,圆角矩形表示实体的有关属性,椭圆表示实体的具体属性。

下图是学生信息管理系统各个实体以及数据库系统的E-R图。

图3-2学生实体E-R图

图3-3班级信息实体E-R图

图3-4课程信息实体E-R图

图3-5奖励信息实体E-R图

图3-5职务信息实体E-R图

在得到了各个实体的E-R图之后,我们就可以对它们进行化简,得到整个系统数据库的E-R图。

图3-6学生信息管理系统数据库E-R图

数据库逻辑设计

下面需要将数据库概念结构转化为SQLSever数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。

设计4个数据表来保存学生的信息:

学生个人基本信息表,学生所选课程信息表,学生奖励信息表,学生职务信息表。

为了数据记录实例的完整,系统中包括了应用程序中所需的一个外部数据表:

学校班级信息表。

为了优化数据表的结构,有的字段采用字段形式,因此附加了一个代码表:

课程设置代码表。

另外学要一个计数数据表来保存其他表格所需的记录号:

记录号数据表。

总共需要7个表,其结构如表3-1到表3-7所示。

设计一个项目,项目名为学生管理信息系统并在此项目中创建一个数据库,数据库名为xsxj此数据库中包含学生、课程、成绩、班级、系部、考试、专业、用户等表。

表结构如下:

学生表(xs)

字段名

xh

xm

xb

Jg

mz

zzma

bz

zp

csrq

类型

c

c

c

c

c

c

m

g

d

宽度

10

8

2

6

2

4

4

4

8

标题

学号

姓名

性别

籍贯

民族

政治面貌

备注

照片

出生日期

字段名

xdh

zydh

bjdh

类型

c

c

c

宽度

2

2

3

标题

系代号

专业代号

班级代号

课程表(kc)

字段名

kcdh

kcm

xf

kclx

kcxz

kss

类型

c

c

n

c

c

n

宽度

4

16

3,1

8

8

3

标题

课程代号

课程名

学分

课程类型

课程性质

课时数

成绩表(cj)

字段名

xh

kcdh

cj

类型

c

c

n

宽度

10

4

3

标题

学号

课程代号

成绩

考试表(ks)

字段名

ksdh

kskm

kssj

jkls

ksdd

qkrs

skrs

ksqk

类型

c

c

d

c

c

n

n

m

宽度

5

16

8

18

16

3

3

4

标题

考试代号

考试课名

考试日期

监考老师

考试地点

缺考人数

实考人数

考试情况

用户表(user1)

字段名

yfm

yfmm

类型

c

c

宽度

10

8

标题

用户名

用户密码

系表(xi)

字段名

xdh

ximing

类型

c

c

宽度

2

18

标题

系代号

系名

专业表(zy)

字段名

zydh

zymc

xz

类型

c

c

c

宽度

2

16

1

标题

专业代号

专业名称

学制

班级表(bj)

字段名

bjdh

bjmc

bzr

jsdd

类型

c

c

c

c

宽度

3

12

8

12

标题

班级代号

班级名称

班主任

教室地点

1、Student_Info数据库中的表

表名

作用

备注

管理员登录表

teacherlogin

存储注册的管理员信息

用户注册后才能进入信息查询

管理员才能修改相关信息

普通用户登录表

login

存储注册的用户信息

学生信息表

student_In_fo

存储学生的基本信息

学生信息内容,可增、删、查、改

2、库的名称是student_Info

表名:

teacherlogin

注释:

管理员登录表

字段名

数据类型

长度

主键否

描述

studentID

int

4

主键

管理员编号

password

varchar

50

管理员密码

Keys

varchar

50

管理员口令

3、表名:

login

注释:

普通用户登录表

字段名

数据类型

长度

主键否

描述

StudentID

int

4

主键

学生学号

password

varchar

50

学生密码

4、表名:

student_In_fo

注释:

学生信息表

字段名

数据类型

长度

主键否

描述

stuID

int

4

主键

学生学号

name

varchar

50

学生姓名

sex

varchar

50

学生性别

age

varchar

50

学生年龄

yuan

varchar

50

所在院系

class

varchar

50

所在班级

photo

varchar

50

学生电话

emal

varchar

50

学生邮箱

四、学生信息基本算法说明

1.录入过程

1)用户录入数据。

2)系统检查用户输入的学生基本信息的合法性,如学生的学号的宽度与学生的出生日期的合法性等。

3)检查错误时,弹出一个错误的对话框并提示用户如何操作。

4)当检查正确后将在录入表单的数据插入到学生基本信息数据库表文件中。

5)结束。

2.查询过程

1)用户输入要查询的学生的学号或姓名等其它信息。

2)系统根据用户输入的学生的学号先从学生基本信息数据库表文件中读出该记录。

3)若找不到,弹出一个对话框并提示用户是何种原因。

4)结束。

3.修改过程

1)用户输入要修改的学生的学号。

2)系统根据用户输入的学号先从学生基本信息数据库表文件中读出该记录。

3)如找不到,弹出一个对话框并提示用户是何种原因。

否则继续。

4)用户输入修改数据。

5)检查输入数据合法性,如错误转3,正确则修改主文件该记录。

6)结束。

4.删除记录

1)用户输入要删除的学生的学号。

2)系统根据用户输入的学生的学号先从学生基本信息数据库表文件中读出该记录。

如找不到,转1。

否则继续。

3)用户确定删除数据。

4)从主文件中删除该记录。

5)结束。

学生成绩管理算法说明、考试管理算法说明与学生基本信息管理的算法说明基本相同

五、表关系

如图为学生信息表登录表关系图。

六、流程图

管理员数据库流程图:

普通用户数据库流程图:

 

七、建库建表流程

(1)启动SQLServer企业管理器。

在“开始”菜单中,启动SQLServer企业管理器,如图1.1所示。

图1.1启动SQLServer企业管理器

正常启动后,将进入企业管理器窗口。

(2)打开SQLServer的配置窗口。

在企业管理器上方的“工具”菜单中,选择“SQLServer配置属性”命令,如图1.2所示:

图1.2“SQLServer配置属性”菜单项

之后将打开“SQLServer属性(配置)”对话框,如图1.3所示。

(3)配置SQLServer的优先级。

在“SQLServer属性(配置)”对话框中,选择“处理器”选项卡,如图1.3所示。

图1.3配置SQLServer的优先级

此时,选中“在Windows上提升SQLServer的优先级”复选框,表示确认。

(4)配置连接特性。

在“SQLServer属性(配置)”对话框中,选择“连接”选项卡,如图1.4所示。

图1.4配置连接属性

取消选中“允许其他SQLServer使用RPC远程连接到本SQLServer”复选框,表示否认。

单击“确定”按钮关闭该对话框。

(5)重新启动SQLServer服务。

选择并右击SQLServer服务器的节点,然后在右键菜单中选择“停止”命令停止服务,如图1.5所示。

图1.5停止SQLServer服务

(6)创建数据库确定数据库名称。

在企业管理器中选择“数据库”,然后在右键菜单中选择“新建数据库”项,如图1.6所示。

图1.6新建数据库

此时,将出现新建数据库的对话框。

此时,按照需要:

更改事务日志文件的位置例如为D:

\dangyuanDatabase。

数据的初始大小为1M

设置文件属性,文件增长是按照每次10%增长,并且将文件增长限制为20MB。

单击“确定”按钮,将正确创建数据库dangyuan。

(7)设置数据库的选项

创建dangyuan数据库之后,选择该数据库,在其右健菜单中选择“属性”命令,将可以更改该数据库地设置。

在“dangyuan属性”对话框中选择“选项”选项卡,可以设置数据库的辅助特性,如图1.10所示。

图1.10设置数据库的选项

此时,需要:

选中“自动收缩”复选框

取消选中“自动更新统计信息”复选框

取消选中“自动创建统计信息”复选框

单击“确定”按钮使其生效。

(8)学生信息设计表:

(9)管理员注册表显示管理员密码和账号-设计表

(10)普通用户注册表显示普通用户密码和账号-设计表

 

八、程序连接--数据库--相关代码

1登录页面代码----用数据库连接

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox3.Text!

="")

{

SqlConnectionmycon=newSqlConnection();

mycon.ConnectionString="InitialCatalog=student_Info;DataSource=localhost;integratedSecurity=SSPI";

mycon.Open();

stringstr="select*fromteacherloginwherestudentID='"+textBox1.Text.Trim()+"'andpassword='"+textBox2.Text.Trim()+"'andKeys='"+textBox3.Text.Trim()+"'";

SqlCommandmycom=newSqlCommand(str,mycon);

SqlDataReaderread=mycom.ExecuteReader();

read.Read();

if(read.HasRows)

{

stringM_str_name;

stringM_str_pwd;

M_str_name=textBox1.Text;

M_str_pwd=textBox2.Text.Trim();

tmaintm=newtmain();

this.Hide();

tm.ShowDialog();

}

else

{

MessageBox.Show("用户名或密码错误!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

textBox2.Text="";

textBox3.Text="";

textBox1.Focus();

}

read.Close();

}

else

{

MessageBox.Show("口令错误!

","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

2.连接数据库及其添加代码:

SqlConnectionconn=newSqlConnection();

//con.ConnectionString="server=localhost;database=lei;uid=sa;pwd=sa";

conn.ConnectionString="InitialCatalog=student_Info;DataSource=localhost;integratedSecurity=SSPI";

try

{

conn.Open();

MessageBox.Show("添加成功");

}

catch(SqlException)

{

MessageBox.Show("添加失败");

return;

}

stringstrsql="insertintostudent_In_fovalues

('"+textBox1.Text+"','"

+textBox2.Text+"','"

+comboBox3.Text.TrimEnd()+"','"

+textBox3.Text+"','"

+comboBox1.Text.TrimEnd()+"','"

+comboBox2.Text.TrimEnd()+"','"

+textBox6.Text+"','"

+textBox7.Text+"')";

SqlCommandcomm=newSqlCommand(strsql,conn);

comm.CommandType=CommandType.Text;

comm.ExecuteNonQuery();

3.界面转换代码:

例如:

tableInfotab=newtableInfo();

this.Hide();

tab.ShowDialog();

4.数据库删除信息代码:

SqlConnectionconnnn=newSqlConnection();

connnn.ConnectionString="InitialCatalog=student_Info;DataSource=localhost;IntegratedSecurity=SSPI";

try

{

connnn.Open();

MessageBox.Show("删除成功");

}

catch(SqlException)

{

MessageBox.Show("删除失败");

return;

}

SqlCommandcommm=newSqlCommand("deletefromstudent_In_fowherestuID="+textBox1.Text+"",connnn);

commm.CommandType=CommandType.Text;

commm.ExecuteNonQuery();

}

}

5.数据库修改信息代码:

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox1.Text=="")

{

MessageBox.Show("请先输入要修改学生的学号");

}

else

{

SqlConnectionconnnnn=newSqlConnection();

connnnn.ConnectionString="InitialCatalog=student_Info;DataSource=localhost;IntegratedSecurity=SSPI";

try

{

connnnn.Open();

MessageBox.Show("修改成功");

}

catch(SqlException)

{

MessageBox.Show("修改失败");

}

SqlCommandcommmmm=newSqlCommand("updatestudent_In_fosetname='"

+textBox2.Text.Trim()+"',sex='"

+textBox3.Text.Trim()+"',age='"

+textBox4.Text.Trim()+"',yuan='"

+textBox5.Text.Trim()+"',class='"

+textBox6.Text.Trim()+"',photo='"

+textBox7.Text.Trim()+"',emal='"

+textBox8.Text.Trim()+"'

wherestuID='"+textBox1.Text.Trim()+"'",connnnn);

//SqlCommandcommmmm=newSqlCommand("updatestudent_In_fosetstuID='"+textBox1.Text.Trim()+"',name='"+textBox2.Text.Trim()+"',sex='"+textBox3.Text.Trim()+"',age='"+textBox4.Text.Trim()+"',yuan='"+textBox5.Text.Trim()+"',class='"+textBox6.Text.Trim()+"',photo='"+textBox7.Text.Trim()+"',emal='"+textBox8.Text.Trim()+"'",connnnn);

commmmm.CommandType=CommandType.Text;

commmmm.ExecuteNonQuery();

}

}

}

}

九、总结优缺点

通过本次数据库的实战,可以用SQL语言实现学生基本信息的增、删、查、改等一般操作。

进而方便了学生信息管理系统的编写。

同时加深了数据库语言的认识,对,添加删除,修改的语法格式,主键约束,外键约束,事物等都有了一定的了解和记忆。

但是,在数据库的操作中,还遇到很多困难,比如,在修改时,其它信息都能修改,但是不能修改学生的ID信息,经过努力研究和实战,和相关资料的查询也解决了此问题,但是还存在着很多的不足支出还需要进一步的改善,和学习。

十、参考文献

1.SQLServer2000数据库管理与开发实用教程。

机械工业出版社。

2.数据库原理与应用赵杰,李铸,王皓全,编著。

人民邮电出版社。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1