1、SQL Server数据库管理与开发学生信息管理系统(后台数据库) 院 系: 信息控制工程学院 姓 名: 杨劲龙 班 级: 计算0702班 学 号: 07520217 指导教师: 胡艳菊 一、目的为了开发学生信息管理系统,采用SQL数据库连接方法,为方便学生信息的数据存放,配合学生信息管理系统的应用。同时SQL数据库有很多好处:安全,有访问控制快,比一般的较差算法快,数据库的查询做了很多优化事务,数据库一般会支持事务,这样可以方便的检查数据的完整性。 也可以用文件存,但数据库提供了数据管理功能,包括权限的管理、数据物理存储的管理等等二、意义数据库(Database,即DB)是存储在一起的相关数
2、据的集合,是存储数据的“仓库”。因此,要理解数据库就需要先了解在数据处理领域中常遇到的两个基本概念:“信息”(information)和“数据”(data)。数据库系统就是实现有组织地、动态地存储大量相关数据,方便用户访问的计算机软、硬资源组成的系统。而数据库技术是研究数据库的结构、存储、设计和使用的一门软件学科。因此,数据库技术主要是研究如何存储、使用和管理数据。在计算机应用中,数据处理占的比重最大,而数据库系统是数据处理的核心机构,所以它的效能往往决定了整个计算机应用的经济效益。学生信息管理系统意义在于为学生、教师提供方便的信息管理方法。同时连接数据库存放相关数据,为以后的管理也提供方便的
3、环境。 三、数据库一、用户管理模块 在用户管理模块中又把此模块分为三个小的模块分别为:1输入 在输入模块中通过在表单中的一个确定按钮使得用户在界面中通过键盘或通过标输入的数据插入到数据库中的学生基本信息表中,通过退出按钮结束学生信息的输入。2编辑当用户进入编辑窗口时,编辑窗口中的数据绑定型控件都与学生基本信息表中的字段进行绑定。并设计一个类,类的基类为命令按钮组,组中包含六个命令按钮分别为:第一个,上一个,下一个,最后一个,删除,退出。把此类作为控件添加到表单中,以此来对记录进行移动与删除。3查询 当用户进入查询窗口时,在查询窗口的文本框中输入要查询的关键字如性名或学号时,并点确定按钮,按钮中
4、的SQL查询语句就会执行,使得结果显示在此表单的下方的表格中。二、学生基本信息管理模块、考试管理模块和成绩管理模块这三个模块的每一个模块都包含以上的三个小模块在此不在重复。数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,可以用实体-关系模型来描述.实体-关系模型(Entity-relationship Mode,简称E-R模型)是数据库设计常用的方法.E-R图中的矩形表示实体,菱形表示实体之间的联系,联系的类型可以用1:1或1:M或M:N表示,圆角矩形表示实体的有关属性,椭圆表示实体的具体属性。下图是学生信
5、息管理系统各个实体以及数据库系统的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图数据库逻辑设计下面需要将数据库概念结构转化为SQL Sever数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。设计4个数据表来保存学生的信息:学生个人基本信息表,学生所选课程信息表,学生奖励信息
6、表,学生职务信息表。为了数据记录实例的完整,系统中包括了应用程序中所需的一个外部数据表:学校班级信息表。为了优化数据表的结构,有的字段采用字段形式,因此附加了一个代码表:课程设置代码表。另外学要一个计数数据表来保存其他表格所需的记录号:记录号数据表。总共需要7个表,其结构如表3-1到表3-7所示。设计一个项目,项目名为学生管理信息系统并在此项目中创建一个数据库,数据库名为xsxj此数据库中包含学生、课程、成绩、班级、系部、考试、专业、用户等表。表结构如下:学生表(xs)字段名xhxmxbJgmzzzmabzzpcsrq类型ccccccmgd宽度1082624448标题学号姓名性别籍贯民族政治面
7、貌备注照片出生日期字段名xdhzydhbjdh类型ccc宽度223标题系代号专业代号班级代号课程表(kc)字段名kcdhkcmxfkclxkcxzkss类型ccnccn宽度4163,1883标题课程代号课程名学分课程类型课程性质课时数成绩表(cj)字段名xhkcdhcj类型ccn宽度1043标题学号课程代号成绩考试表(ks)字段名ksdhkskmkssjjklsksddqkrsskrsksqk类型ccdccnnm宽度51681816334标题考试代号考试课名考试日期监考老师考试地点缺考人数实考人数考试情况用户表(user1)字段名yfmyfmm类型cc宽度108标题用户名用户密码系表(xi)字
8、段名xdhximing类型cc宽度218标题系代号系名专业表(zy)字段名zydhzymcxz类型ccc宽度2161标题专业代号专业名称学制班级表(bj)字段名bjdhbjmcbzrjsdd类型cccc宽度312812标题班级代号班级名称班主任教室地点1、Student_Info数据库中的表表表名作用备注管理员登录表teacherlogin存储注册的管理员信息用户注册后才能进入信息查询管理员才能修改相关信息普通用户登录表login存储注册的用户信息学生信息表student_In_fo存储学生的基本信息学生信息内容,可增、删、查、改2、库的名称是student_Info表名:teacherlog
9、in注释:管理员登录表字段名数据类型长度主键否描述studentIDint4主键管理员编号passwordvarchar50管理员密码Keysvarchar50管理员口令 3、表名:login注释:普通用户登录表字段名数据类型长度主键否描述StudentIDint4主键学生学号passwordvarchar50学生密码 4、表名: student_In_fo注释:学生信息表 字段名数据类型长度主键否描述stuIDint4主键学生学号namevarchar50学生姓名sexvarchar50学生性别agevarchar50学生年龄yuanvarchar50所在院系classvarchar50所在
10、班级photovarchar50学生电话emalvarchar50学生邮箱四、学生信息基本算法说明1. 录入过程1) 用户录入数据。2) 系统检查用户输入的学生基本信息的合法性,如学生的学号的宽度与学生的出生日期的合法性等。3) 检查错误时,弹出一个错误的对话框并提示用户如何操作。4) 当检查正确后将在录入表单的数据插入到学生基本信息数据库表文件中。5) 结束。2. 查询过程1) 用户输入要查询的学生的学号或姓名等其它信息。2) 系统根据用户输入的学生的学号先从学生基本信息数据库表文件中读出该记录。3) 若找不到,弹出一个对话框并提示用户是何种原因。4) 结束。3. 修改过程1) 用户输入要修
11、改的学生的学号。2) 系统根据用户输入的学号先从学生基本信息数据库表文件中读出该记录。3) 如找不到,弹出一个对话框并提示用户是何种原因。否则继续。4) 用户输入修改数据。5) 检查输入数据合法性,如错误转3,正确则修改主文件该记录。6) 结束。4. 删除记录1) 用户输入要删除的学生的学号。2) 系统根据用户输入的学生的学号先从学生基本信息数据库表文件中读出该记录。如找不到,转1。否则继续。3) 用户确定删除数据。4) 从主文件中删除该记录。5) 结束。学生成绩管理算法说明、考试管理算法说明与学生基本信息管理的算法说明基本相同五、表关系如图为学生信息表登录表关系图。六、流程图管理员数据库流程
12、图:普通用户数据库流程图: 七、建库建表流程(1) 启动SQL Server企业管理器。在“开始”菜单中,启动SQL Server企业管理器,如图1.1所示。图1.1 启动SQL Server企业管理器正常启动后,将进入企业管理器窗口。(2) 打开SQL Server的配置窗口。在企业管理器上方的“工具”菜单中,选择“SQL Server配置属性”命令,如图1.2所示:图1.2 “SQL Server配置属性”菜单项之后将打开“SQL Server属性(配置)”对话框,如图1.3所示。(3) 配置SQL Server的优先级。在“SQL Server属性(配置)”对话框中,选择“处理器”选项卡
13、,如图1.3所示。图1.3 配置SQL Server的优先级此时,选中“在Windows上提升SQL Server的优先级”复选框,表示确认。(4) 配置连接特性。在“SQL Server属性(配置)”对话框中,选择“连接”选项卡,如图1.4所示。图1.4 配置连接属性取消选中“允许其他SQL Server使用RPC远程连接到本SQL Server”复选框,表示否认。单击“确定”按钮关闭该对话框。(5) 重新启动SQL Server服务。选择并右击SQL Server服务器的节点,然后在右键菜单中选择“停止”命令停止服务,如图1.5所示。图1.5 停止SQL Server服务 ( 6 ) 创建
14、数据库 确定数据库名称。在企业管理器中选择“数据库”,然后在右键菜单中选择“新建数据库”项,如图1.6所示。图1.6 新建数据库此时,将出现新建数据库的对话框。此时,按照需要:更改事务日志文件的位置例如为D:dangyuanDatabase。数据的初始大小为1M设置文件属性,文件增长是按照每次10%增长,并且将文件增长限制为20MB。单击“确定”按钮,将正确创建数据库dangyuan。( 7 ) 设置数据库的选项创建dangyuan数据库之后,选择该数据库,在其右健菜单中选择“属性”命令,将可以更改该数据库地设置。在“dangyuan属性”对话框中选择“选项”选项卡,可以设置数据库的辅助特性,
15、如图1.10所示。图1.10 设置数据库的选项此时,需要:选中“自动收缩”复选框取消选中“自动更新统计信息”复选框取消选中“自动创建统计信息”复选框单击“确定”按钮使其生效。( 8 ) 学生信息设计表:(9 ) 管理员注册表显示管理员密码和账号-设计表(10) 普通用户注册表显示普通用户密码和账号-设计表 八、程序连接-数据库-相关代码 1登录页面代码-用数据库连接 private void button1_Click(object sender, EventArgs e) if (textBox3.Text != ) SqlConnection mycon = new SqlConnecti
16、on(); mycon.ConnectionString = Initial Catalog=student_Info;Data Source=localhost;integrated Security=SSPI; mycon.Open(); string str = select * from teacherlogin where studentID= + textBox1.Text.Trim() + and password= + textBox2.Text.Trim() + and Keys= + textBox3.Text.Trim() + ; SqlCommand mycom = n
17、ew SqlCommand(str, mycon); SqlDataReader read = mycom.ExecuteReader(); read.Read(); if (read.HasRows) string M_str_name; string M_str_pwd; M_str_name = textBox1.Text; M_str_pwd = textBox2.Text.Trim(); tmain tm = new tmain(); this.Hide(); tm.ShowDialog(); else MessageBox.Show(用户名或密码错误!, 提示, MessageBo
18、xButtons.OK, MessageBoxIcon.Information); textBox2.Text = ; textBox3.Text = ; textBox1.Focus(); read.Close(); else MessageBox.Show(口令错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); 2. 连接数据库及其添加代码:SqlConnection conn = new SqlConnection(); /con.ConnectionString = server=localhost;database=
19、lei;uid =sa; pwd=sa ; conn.ConnectionString = Initial Catalog=student_Info;Data Source=localhost;integrated Security=SSPI;try conn.Open(); MessageBox.Show(添加成功); catch (SqlException) MessageBox.Show(添加失败); return; string strsql = insert into student_In_fo values( + textBox1.Text + ,+ textBox2.Text +
20、 , +comboBox3.Text.TrimEnd () +,+ textBox3.Text + , + comboBox1.Text.TrimEnd ()+ , + comboBox2.Text.TrimEnd () + ,+ textBox6.Text + ,+ textBox7.Text + ); SqlCommand comm = new SqlCommand(strsql, conn); comm.CommandType = CommandType.Text; comm.ExecuteNonQuery();3.界面转换代码:例如:tableInfo tab = new tableI
21、nfo(); this.Hide(); tab.ShowDialog();4.数据库删除信息代码: SqlConnection connnn = new SqlConnection(); connnn.ConnectionString = Initial Catalog=student_Info;Data Source=localhost;Integrated Security =SSPI; try connnn.Open(); MessageBox.Show(删除成功); catch (SqlException) MessageBox.Show(删除失败); return; SqlComma
22、nd commm = new SqlCommand(delete from student_In_fo where stuID= + textBox1.Text + , connnn); commm.CommandType = CommandType.Text; commm.ExecuteNonQuery(); 5.数据库修改信息代码: private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(请先输入要修改学生的学号); else SqlConnection con
23、nnnn = new SqlConnection(); connnnn.ConnectionString = Initial Catalog=student_Info;Data Source=localhost;Integrated Security=SSPI; try connnnn.Open(); MessageBox.Show(修改成功); catch (SqlException) MessageBox.Show(修改失败); SqlCommand commmmm = new SqlCommand(update student_In_fo set name= + textBox2.Tex
24、t.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() + where stuID= + textBox1.Text.Trim() + , connnnn); / SqlCommand commmmm = new SqlCommand( update stu
25、dent_In_fo set stuID= + 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.CommandTy
26、pe = CommandType.Text; commmmm.ExecuteNonQuery(); 九、总结优缺点 通过本次数据库的实战,可以用SQL语言实现学生基本信息的增、删、查、改等一般操作。进而方便了学生信息管理系统的编写。同时加深了数据库语言的认识,对,添加删除,修改的语法格式,主键约束,外键约束,事物等都有了一定的了解和记忆。但是,在数据库的操作中,还遇到很多困难,比如,在修改时,其它信息都能修改,但是不能修改学生的ID 信息,经过努力研究和实战,和相关资料的查询也解决了此问题,但是还存在着很多的不足支出还需要进一步的改善,和学习。十、参考文献1.SQL Server2000数据库管理与开发实用教程。机械工业出版社。2.数据库原理与应用 赵杰,李铸,王皓全,编著。人民邮电出版社。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1