天津理工大学数据库课程设计.doc_第1页
天津理工大学数据库课程设计.doc_第2页
天津理工大学数据库课程设计.doc_第3页
天津理工大学数据库课程设计.doc_第4页
天津理工大学数据库课程设计.doc_第5页
已阅读5页,还剩22页未读, 继续免费阅读

下载本文档

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

文档简介

目录仓库管理系统设计.I引言.2系统分析.3系统需求分析.3数据库概念结构设计.5数据库物理结构设计.6数据库创建.9 系统总体结构设计.13系统开发及实现.12总结与体会.16参考文献16附录17 第一章 引言1. 1设计开发的意义。 在我们现实的学习中遇到了现有借实验室设备的人工系统的不便,为了使学生借设备方便和老师便于管理,于是我使用计算机对物联网设备信息进行管理,计算机管理有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高仓库管理的效率。1.2所设计应用系统的任务及目标。任务:仓库管理系统管理的对象如下: 管理员信息:工号、姓名、电话等。 学生信息:学号、姓名、年级、班级等。 设备信息:设备号、设备名、库存数量等。目标:界面设计要求尽量友好、美观,应提供登录界面,管理操作简单方便; 对各种信息应提供录入、修改、删除和查询功能; 能够新增、修改和删除设备信息; 具有对设备、学生、管理员、库房的基本信息进行统计的功能。1.3设计开发及运行的软硬件环境。开发工具:sql server C#开发环境:软件平台: Windows 8,Visual Studio 2013,sql server2014硬件平台; inter处理器,8G内存,500G硬盘 第二章 系统分析与设计2.1系统需求分析: 2.1.1由于采用数据库技术并且用户的领域对数据精确度的要求不是 太高,所以这点在系统中表现的比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。本系统数据库较小,所以程序在响应时间、数据更新处理时间上性能是 比较突出的。而且也正由于数据量的相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。 (1)系统功能包括:(2)系统管理员功能:添加学生和设备、删除学生和设备、查询库内信息,用户管理,人员权限区分。(3)用户功能包括:查询库内信息、查询自己借出信息、查询归还信息、修改本用户密码。 2.1.2根据用户需求,该系统应该实现以下功能:(1)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。(2)实验室根据现有的设备判断是否可以借出,如果可以就根据出库申请核对发放设备,并填写好出库单作好登记。设备使用完毕后需要及时还库登记填写好还库单,如有超期或损坏现象就要如实交罚金并登记。 (3)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。2.2数据字典: 1对图中检验,在数据字典中可对其作如下描述:处理过程:核对物品信息后生成入库单说明:送货员将物品送到后,管理员以预订单为准核对物品信息,确定无误后,登记入库单.输入:预订单编号输出:入库单程序提要: A在预订单中查找物品(例如:M)信息进行核对 B如若无误,则在入库单中添加一条物品(M)记录 C核对完后,形成入库单2对图中入库,在数据字典中可对其作如下描述:处理过程:入库后修改(增加)现有库存表说明:入库后增加现有库存表输入:入库单编号输出:现有库存表程序提要: A在入库单中查找到每一种物品的数量,在现有库存表中相应增加 B处理完后,形成现有库存表3对图中出库,在数据字典中可对其作如下描述:处理过程:出库后登记入库单并修改(减少)现有库存表说明:提货员提交出库申请,由管理员批准后,登记出库单并修改(减少)现有库存表输入:出库申请编号输出:出库单 现有库存表程序提要:A在出库申请单中查找物品(例如:M)信息进行核对,出库数量是否超过库存或出库后数量小于最小库存 B如若无误,则在出库单中添加一条物品(M)记录 C核对完后,形成出库单 D在出库单中查找到每一种物品的数量,在现有库存表中相应加减少 E处理完后,形成现有库存表 4对图中“对比”,在数据字典中可对其作如下描述: 处理过程:核对归还物品信息后生成还库单 说明:将物品归还时,管理员以出库单为准核对物品信息,确定无误后,登记还库单,如若有误,登记惩 罚表. 输入:出库单编号 输出:还库单 惩罚表 程序提要: A管理员在出库单中查找物品(例如:M)信息进行核对 B如若无误,则在还库单中添加一条物品(M)记 C核对完后,形成入库单 D如若有误,则登记惩罚表 E处理完后,形成惩罚表 5对图中“归还入库”,在数据字典中可对其作如下描述: 处理过程:还库后修改(增加)现有库存表 说明:还库后增加现有库存表 输入:还库单编号 输出:现有库存表 程序提要: A在还库单中查找到每一种物品的数量,在现有库存表中相应增加 B处理完后,形成现有库存表 2.3数据库概念结构设计 图1-1 局部e-r图 图1-2 局部e-r图2.4数据库逻辑结构设计 1.登陆表 图2-1 登录表 2.管理员表 图2-1 管理员表2. 借出表 图2-3 借出表 4.设备表 图2-4 设备表 5.学生表 图2-5 学生表2.6数据库创建 1.登陆表 图3-1 登陆表 2.管理员表 图3-2 管理员表 3.借出表 图3-3 借出表 4.设备表 图3-4 设备表 5.学生表 图3-5 学生表2.8系统总体结构设计物联网设备管理系统学生信息录入设备信息录入设备查询管理信息修改系统管理学生系统登录验证部门信息修改设备统计个人资料设备查询 第三章 系统开发及实现1.运行登陆界面截图 图1-1 登录界面2.管理员主界面截图 图1-2 管理员主界面3.管理员设备表截图: 图1-3 管理员设备表4.管理员学生表截图: 图1-4 管理员学生表5.管理员借出表截图: 图1-5 管理员借出表6.学生主界面截图: 图1-6 学生主界面7.学生设备表截图: 图1-7 学生设备表8.学生借出表截图: 图1-8 学生借出表 第四章 总结4.1对设计开发过程作一个小结通过本次的课程设计,让我更熟练地掌握了C#程序设计,数据库,以及它们之间如何连接等知识,熟悉了一个管理系统的运用和操作,熟悉如何采用sql server作为编译环境,使程序成功的编译和运行,能够用SQL语言创建基本表和增加信息,删除信息,修改信息,查询信息。此次我们所设计的物联网实验室设备管理系统可应用于实验室设备的简单管理,对物联网实验室的设备借出、还入、信息修改、进行增加、删除、修改、查询。在这次课程设计中,我根据自己对专业知识的掌握程度进行了如下工作:界面的设计、各功能模块的设计编程以及与数据库的连接,进行需求分析,设计数据流图、ER图、数据字典及其他有关文档的部分,在数据库中创建基本表等相关操作。我也曾在设计过程中有过意见的问题,但并没有使我没有放弃,更多的是能更投入专注的做出更好的管理系统,而在此过程中我发挥了很大的作用,认真地组织和安排工作,并充分地展示了在该学科上的学习成功。我面对编程过程中出现错误的程序没有退缩和放弃,而是更加努力地寻找解决方法,虚心请教老师和同学,这也给了我很大的动力。这次我们加深入地学习了数据库和C#语言这些课程,增强了我求知的欲望和学习的兴趣。其次,我还体会了虚心请教的好处,为做出更好的成果而不断地努力。总之,这次课程设计为我们提供了一个相互学习的平台,为更好地学习这门课程提供了环境和基础,使我们更加全身心的投入了一次设计,能学以致用,对我们来说是意义非凡的。4.2参考文献1. 张海藩,软件工程导论(第五版)北京:清华大学出版社,20082. 张白一,崔尚森 面向对象程序设计java(第二版)20063. 王珊,萨师煊 数据库系统概论(第四版)20064. 王国辉,吕海涛,李钟尉 java数据库系统开发案例精选20075. 李一军. 管理信息系统M. 北京:高等教育出版,2008: 1752006. 李纲. 信息资源管理M. 武汉:武汉大学出版,20087. 申时凯,戴祖诚等 数据库原理与技术(SQLserver2005)清华大学出版社,2010 8. 郑阿奇等 SQLserver实用教程M 电子工业出版社,2011 4.3附录源代码 :登录界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication3 public partial class Form5 : Form public Form5() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string s1 = this.textBox1.Text; string select = Select * from 登陆表 where 学或工号= + this.textBox1.Text + ; string select1 = Select * from 登陆表 where 密码= + this.textBox2.Text + ; SqlConnection conn = new SqlConnection(server=TJZHAOPENG;uid=sa;Password=localhost;database=shujuku); SqlCommand cmd = new SqlCommand(select, conn); SqlCommand cmd1 = new SqlCommand(select1, conn); conn.Open();/打开连接 SqlDataReader reader = cmd.ExecuteReader();/执行查询 if (reader.Read() conn.Close(); conn.Open(); SqlDataReader reader1 = cmd1.ExecuteReader(); if (reader1.Read() /密码正确 this.Hide(); Form6 form6 = new Form6(); form6.Show(); conn.Close(); else MessageBox.Show(您输入的密码错误,请检查后重新输入!); else if (this.textBox1.Text = 6266) if (this.textBox2.Text = 123) this.Hide(); Form4 form4 = new Form4(); form4.Show(); else MessageBox.Show(您输入的密码错误,请检查后重新输入!); else MessageBox.Show(该工作人员不存在或用户名输入错误,请检查后重新输入!); private void textBox1_TextChanged(object sender, EventArgs e) private void textBox2_TextChanged(object sender, EventArgs e) 管理员界面代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication3 public partial class Form4 : Form public Form4() InitializeComponent(); private void button1_Click(object sender, EventArgs e) Form form1 = new Form1(); form1.Show(); private void button2_Click(object sender, EventArgs e) Form form2 = new Form2(); form2.Show(); private void button3_Click(object sender, EventArgs e) Form form3 = new Form3(); form3.Show(); private void Form4_Load(object sender, EventArgs e) 学生界面代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication3 public partial class Form6 : Form public Form6() InitializeComponent(); private void button1_Click(object sender, EventArgs e) Form form7 = new Form7(); form7.Show(); private void Form6_Load(object sender, EventArgs e) private void button2_Click_1(object sender, EventArgs e) Form form8 = new Form8(); form8.Show(); 接触表界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsFormsApplication3 public partial class Form7 : Form public Form7() InitializeComponent(); DataSet ds; SqlDataAdapter da; private void Form7_Load(object sender, EventArgs e) SqlConnection conn = new SqlConnection(server=TJZHAOPENG;user id=sa;Password=localhost;database=shujuku); conn.Open(); da = new SqlDataAdapter(select * from 借出表 , conn); ds = new DataSet(); /创建数据集 da.Fill(ds, 借出表); /填充数据集 dataGridView1.DataSource = ds.Tables0; SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(da); private void 提交ToolStripMenuItem_Click(object sender, EventArgs e) 设备表界面:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication3 public partial class Form1 : Form public Form1() InitializeComponent(); DataSet ds; SqlDataAdapter da; private void Form1_Load(object sender, EventArgs e) SqlConnection conn = new SqlConnection(server=TJZHAOPENG;user id=sa;Password=localhost;database=shujuku); conn.Open(); da = new SqlDataAdapter(select * from 设备表, conn); ds = new DataSet(); /创建数据集 da.Fill(ds, 设备); /填充数据集 dataGridView1.DataSource = ds.Tables0; SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(da); private void 提交ToolStripMenuItem_Click(object sender, EventArgs e) try da.Update(ds.Tables设备); ds.Tables设备.AcceptChanges(); catch MessageBox.Show(无法更改); finally MessageBox.Show(保存成功, 提醒); private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) if (e.Button = MouseButtons.Right) if (e.RowIndex = 0) contextMenuStrip1.Show(MousePosition.X, MousePosition.Y); private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) int n = dataGridView1.Rows.Count; for(int i=0;i= 0) contextMenuStrip1.Show(MousePosition.X, MousePosition.Y); private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) int n = dataGridView1.Rows.Count; for (int i = 0; i n - 1; i+) if (dataGridView1.Rowsi.Selected = true) string tmp = dataGridView1.Rowsi.Cells0.ToString(); string sql = delete

温馨提示

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

评论

0/150

提交评论