数据库课程实训报告题目:高校设备管理系统高校设备管理目录1课题内容和要求 (1)1.1课题描述 (1)1.2 课题要求 (1)2需求分析 (1)2.1 功能需求分析 (1)2.2 数据需求分析 (1)3系统设计 (1)3.1 功能模块设计 (1)3.2 数据库概念设计 (2)3.3 数据库逻辑设计 (4)3.4 数据库物理设计 (4)3.5 数据库表间联系 (5)4系统实现 (6)4.1 登陆模块实现 (6)4.2 显示模块实现 (6)4.3 管理模块实现 (8)5代码调试与功能测试 (8)5.1 测试方案 (8)5.2 测试结果 (9)6收获与体会 (15)参考文献 (17)附录 (18)附录1源程序部分清单 (18)附录1.1登陆 (18)附录1.2 显示 (19)附录1.3 管理 (20)数据库课程实训(2017)高校设备管理系统设计1 课题内容和要求1.1课题描述鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理的工作水平和信息化水平。
系统分析阶段开展的主要工作包括:收集和分析系统需求、提供系统说明书等。
系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼出系统需求。
1.2 课题要求1)可以实现高校部门、学院基本信息的增加、删除、修改2)可以实现设备基本信息的增加、删除、修改3)可以查询设备基本信息4)可以汇总输出各单位所属设备清单以及总金额2 需求分析2.1 功能需求分析本次设备管理系统主要完成任务的登陆数据库、数据查询(实现简单的对数据库的增删改查)模块分析设计与实现,通过设备属性字段查询每一件产品设备零件信息。
实体:采购员、供应商、设备、设备管理员、部门、购物清单、维修人员。
2.2 数据需求分析通常信息管理系统按照对信息的操作,将系统划分为:数据采集、数据处理、数据传输以及系统维护等功能组成部分。
所以,通过综合分析,本系统主要需求有:1.设备基本信息的收集与处理;2.设备基本信息的存储与维护;3.方便、快捷地上报设备信息;4.能进行查询统计并形成各种有价值的信息;5.具有一定的报表处理功能;6.将共享的设备信息对外发布,实现浏览查询;7.有辅助系统进行系统的管理与维护。
3 系统设计3.1 功能模块设计1高校设备管理图1-1 功能模块图(数据流程图)次设备管理系统主要完成任务的登陆数据库、数据查询(实现简单的对数据库的增删改查)模块分析设计与实现,通过设备属性字段查询每一件产品设备零件信息。
实体:采购员、供应商、设备、设备管理员、部门、购物清单、维修人员。
3.2 数据库概念设计概念结构是将需求分析抽象为信息结构即概念模型的过程,这样才能更好地、更准确的实现这些需求,是整个数据库设计的关键,它主要特点是能真实、充分地反映现实社会,包括事物和事物之间的联系,能满足用户对数据的处理需求,是对现实世界的一个真实模型,而且还易于理解,也方便用户的操作,对数据的修改和各种模型的转换。
从以上的数据流程图中,我们选择了第二层数据流程图作为设计E-R图的出发点,从分析数据流图和数字字典中可以看出,整个系统功能是围绕“设备管理系统”题进行处理。
ER图如下2数据库课程实训(2017)3高校设备管理3.3 数据库逻辑设计以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
3.4 数据库物理设计4数据库课程实训(2017)3.5 数据库表间联系5高校设备管理4系统实现4.1 登陆模块实现4.2 注册模块实现6数据库课程实训(2017)7高校设备管理4.3 管理模块实现5 代码调试与功能测试5.1 测试方案通过程序登陆窗口登陆进入界面对司机信息、客户信息、车辆信息、租金信息进行修改、删除等操作85.2 测试结果6 收获与体会通过这次课程设计,使我更进一步地掌握了数据库SQL Server2012 语句,对它的功能以及应用有了更深一步的了解,对它的操纵更熟练了。
但是同时也让我了解了到自身的许多不足,也发现了以前对这门语言学得不透彻,没有很好地重视它,掌握它。
通过这次数据库课程设计,虽然比起以前有了很大的进步,但还是了解得不够,学习得不够,今后要更加努力学习好一些基础的知识,以备在需要的时候发挥自身的才能。
也有也有一部分原因是一开始对数据库SQL Server2012不熟悉,跟同学一起开发时候能力显得有些不足,开发过程中幸亏跟一组的同学讨论和学习,一段时间后才慢慢开始掌握数据库SQL Server2012,在这过程中,让自己学到了很多东西。
经过这次数据库课程作品的开发,了解到一个系统好不好,要经过反复的使用才能知道,不光光是理论中分析和设计得出来的。
这次设计的设备管理系统也有不少的不足之处:系统的功能不够完善,只能说是一个简单的设备信息管理系统。
经过这次课程设计,引发了我的很多思考和兴趣,首先是做程序要勤,手勤,眼勤,心勤;其次要有韧性,不怕麻烦,不怕失败,反复调试,反复练习,这样才能找到最佳的程序设计。
在这次课程设计中,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中最大的收获有以下几个方面:一、领略到了数据库设计在计算机领域的重要性。
数据库作为一个永久存储形式在应用中发挥着重要的作用。
在数据库设计中,我明白了数据库设计中不是范式越高越好的。
我们要根据我们的应用来决定,一切应该以需求为首要选择。
二、对变成环境、一些控件的使用和界面的美化方面更加熟悉。
因为《高校设备管理系统》中涉及到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户的面前。
这样更有利于数据库和用户之间的交流。
总之,经过这次课程设计,我懂得了很多之前不了解的全新概念,让我受益匪浅。
参考文献[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:清华大学出版社,2011.[2] 钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:清华大学出版社,2014.[3]《数据库原理及应用——SQL Server2012》清华大学出版社附录附录1源程序部分清单附录1.1登陆代码private void button1_Click(object sender, EventArgs e){string str1 = textBox1.Text;string str2 = textBox2.Text;if (str1 == "sa"){if (str2 == "123456789"){try{SqlConnection myConnection = new SqlConnection(); myConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database =device";myConnection.Open();MessageBox.Show("登录成功");myConnection.Close();Form6 obj = new Form6();obj.Show();this.Hide();}catch (SqlException ee){MessageBox.Show(ee.Message);}}else{MessageBox.Show("密码不正确,请重新输入");textBox2.Focus();}}else{MessageBox.Show("用户名不正确,请重新输入");textBox1.Focus();}}private void button2_Click(object sender, EventArgs e){this.Close();}附录1.2 显示模块private void Form1_Load(object sender, EventArgs e){SqlConnection myConnection = new SqlConnection(); myConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database =device";SqlCommand sqlCommand = new SqlCommand();sqlCommand.Connection = myConnection;mandType = CommandType.Text;mandText = "select * from devicelist";sqlDataAdapter = new SqlDataAdapter();sqlDataAdapter.SelectCommand = sqlCommand;SqlCommandBuilder builder = newSqlCommandBuilder(sqlDataAdapter);dsdevicelist = new DataSet();sqlDataAdapter.Fill(dsdevicelist,"devicelist";this.BindingContext[dsdevicelist, "devicelist"].PositionChanged += new EventHandler(BindManagerBase_PositionChanged);textBox1.DataBindings.Add(newBinding("Text",dsdevicelist,"devicelist.number"));textBox2.DataBindings.Add(new Binding("Text", dsdevicelist, ""));textBox3.DataBindings.Add(new Binding("Text", dsdevicelist, "devicelist.price"));textBox4.DataBindings.Add(new Binding("Text", dsdevicelist, "erno"));dataGridView1.DataSource = dsdevicelist;dataGridView1.DataMember = "devicelist";ShowPosition();setState(true);}附录1.3 管理模块用户可使用四个翻页按钮对数据进行快速浏览private void button1_Click(object sender, EventArgs e){this.BindingContext[dsdevicelist, "devicelist"].Position -= 1;}private void button2_Click(object sender, EventArgs e){this.BindingContext[dsdevicelist, "devicelist"].Position += 1;}private void button3_Click(object sender, EventArgs e){this.BindingContext[dsdevicelist, "devicelist"].Position = 0;}private void button4_Click(object sender, EventArgs e){this.BindingContext[dsdevicelist,"devicelist"].Position=this.BindingContext[dsdevicel ist, "devicelist"].Count-1; }用户可点击修改按钮,在对应的文本框上输入要修改的信息private void button6_Click(object sender, EventArgs e){cur = this.BindingContext[dsdevicelist, "devicelist"].Position;setState(false);textBox2.Focus();}用户可点击添加按钮,在对应的文本框上输入要添加的信息private void button5_Click(object sender, EventArgs e){cur = this.BindingContext[dsdevicelist, "devicelist"].Position;textBox1.Text = ""; textBox2.Text = "";textBox3.Text = ""; textBox4.Text = "";textBox1.Focus(); setState(false);}用户可点击保存按钮,系统将自动文本框的信息保存private void button7_Click(object sender, EventArgs e){try{DataRow dr = dsdevicelist.Tables["devicelist"].NewRow();dr["number"] = Convert.ToInt32(textBox1.Text);dr["name"] = Convert.ToString(textBox2.Text);dr["price"] = Convert.ToInt32(textBox3.Text);dr["userno"] = Convert.ToInt32(textBox4.Text);dsdevicelist.Tables["devicelist"].Rows.Add(dr);sqlDataAdapter.Update(dsdevicelist,"devicelist");this.BindingContext[dsdevicelist,"devicelist"].Position=this.BindingContext[dsdevi celist,"devicelist"].Count-1;MessageBox.Show("数据保存成功");}catch(Exception ee){MessageBox.Show("保存数据失败;"+ee.Message);}}用户可点击删除按钮,系统将选定的数据删除private void button9_Click(object sender, EventArgs e){dsdevicelist.Tables["devicelist"].Rows[this.BindingContext[dsdevicelist,"devicelis t"]. Position].Delete();sqlDataAdapter.Update(dsdevicelist,"devicelist");}用户可点击查询按钮,在弹出的对话框中输入关键字对信息进行查询private void Form2_Load(object sender, EventArgs e){try{mySqlConnection = new SqlConnection();mySqlConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;d atabase=device";DataSet myDataSet = new DataSet();mySqlDataAdapter = new SqlDataAdapter("select * from devicelist",mySqlConnection);mySqlDataAdapter.Fill(myDataSet,"devicelist");myDataView = myDataSet.Tables["devicelist"].DefaultView;dataGridView1.DataSource = myDataView;}catch(Exception ee){MessageBox.Show(ee.Message);}}private void button1_Click(object sender, EventArgs e){myDataView.RowFilter = textBox1.Text;。