资源描述
郑州轻工业学院本科
数据库课程设计总结汇报
设计题目:设备管理系统
学生姓名:xx 、xx
系 别:计算机和通信工程学院
专 业:计算机科学和技术
班 级:计算机科学和技术10~01
学 号:xx
指导老师:张保威 金松河
年 12月 30 日
郑州轻工业学院
课 程 设 计 任 务 书
题目 设备管理系统
专业、班级 计算机科学和技术10-1
学号 xx 姓名 xx
学号 xx 姓名 xx
关键内容:
了解设备管理基础步骤,依据构思活出E---R图。依据所化E---R图,对对应试题和关系建立表格,实现数据初始化。用SQL建立数据库表,然后再用其它软件建立界面(如此设备管理系统用是C#实现界面),将建立好界面同数据库进行链接,实现对数据库简单增删改查。
E-R图思绪:
部门向设备处申请所需设备数量及类型,设备处产生采购清单递交给采购员。
采购员从供给商取得设备存放在设备存放处,设备管理员将设备分配到需要设备各个部门,部门将设备分给职员进行使用。
在使用设备过程中,假如设备在保修期限内出现质量问题部门向设备处申请,设备退回供给商;假如设备损坏,由部门向维修人员报修;若无维修价值,则申请报废。
基础要求:
立足于科技日益发达,自动化组不占据关键市场,要求学生依据自己所学数据库知识,建立简单数据库实现对设备管理机械化,自动化。
1:能够数量掌握SQL;
2:能够利用其它辅助工具做图形界面。
3:能够实现对C#和数据库链接。
4:作出系统能够对数据库进行简单增删改查。
5:经过机械化,自动化工具使用,提升工作效率、正确率。
关键参考资料等:
《数据库系统概论》 作者:王珊 萨师煊 出版社:高等教育出版社
《数据库系统概论》课堂课件。
完 成 期 限: 两周
指导老师署名:
课程责任人署名:
12月 30 日
汇报前半部分结构能够参考以下内容
目录
课 程 设 计 任 务 书 2
一、 需求分析 5
1、 系统功效分析 5
2、 系统功效模块设计 5
二、 数据库设计 6
1、E—R图 6
3、 数据字典 8
4、 关系模式 11
5、 关系图 12
三、 具体设计 13
1、 设计总综述思想 13
2、建数据库表 16
3、界面设计 19
4、关键代码 22
四、 总结 24
设计任务:
本设备管理系统关键是建立基础数据库,然后做一个可视化界面连接数据库,经过界面操作指示,控制数据库,实现对数据库简单增删改查。
要求:
1:熟练掌握数据库基础操作
2:具体正确地对系统进行分析
3:经过分析,画出合理、明了ER图
4:建立数据库
5:设计简单图形界面,并能够和数据库进行连接
6:实现对数据库增删改查等功效
7:结合所做作业,写出完整试验汇报
分工:
一、 需求分析
1、 系统功效分析
伴随计算机技术迅猛发展和Internet进入商业和社会应用阶段,设备种类、数量越来越多,在现代化大型研究所信息化管理体系建设中,设备管理系统被看作是重中之重。因为设备是工厂生产中主体,伴随科学技术不停发展,生产设备日益机械化、自动化、大型化、高速化和复杂化,设备在现代工业生产中作用和影响也随之增大,在整个工业生产过程中对设备依靠程度也越来越高。设备管理各项制度、步骤包含点多面广。
设备管理系统则是一个以人为主导,利用计算机硬件、软件、网络设备通信设备和其它办公设备,进行信息搜集、传输、加工、储存、更新和维护,以战略竟优、提升效率为目标,支持高层决议、中层控制、基层运作集成化人机系统。而设备管理是管理系统一个子系统,它含有管理信息系统共性,同时也含有其特殊性。设备是生产生命线,对研究所正常生产起着决定性作用。信息安全设备管理已成为现代研究所管理一个关键组成部分。把信息安全设备管理纳入研究所管理关键组成部分己经成为一个趋势。
设备管理系统背景分析 : 设备管理系统是企业内部信息管理系统,是连接企业内部各生产部门桥梁和纽带,起着关键作用。现在企业设备自动化管理水平不是很高。大多数设备管理措施是设备采购进来以后,将设备基础情况和相关信息登记存档,然后将档案存档。以后档案基础就没人维护,如设备修改、删除情况、设备目前运行状态等信息本不会展现在管理工作人员面前,因为散乱、复杂、查找和整理不便,即设备跟踪信息不能立即表现在设备档案上。一些企业采取专门人工整点,对设备跟踪信息即使能统计在案,但无形中增加了繁重手工劳动,整个设备管理水平还是较低。 本系统会提升办公效率和设备可靠性,降低工作人员劳动强度,降低办公耗材,提升现代化管理水平。企业面对市场竞争巨大压力,要求企业发明新利润源,这为企业怎样配置有限资源,利用优异计算机技术不停开发出操作简便、界面友好、灵活、实用、安全,更具时效性设备信息管理系统有着更高要求。
此次设备管理系统关键完成任务登陆数据库、数据查询(实现简单对数据库增删改查)模块分析设计和实现,经过设备属性字段查询每一件产品设备零件信息,使管理人员随时掌握设备现实状况及企业雇员领用设备、消耗设备情况。
本系统设计实体:采购员(属性略,图表中有),供给商,设备,设备管理人员,职员,部门,购物清单,维修人员
被系统关系有:申报,递交,采购,供给,分配,报修,分发,报废,退货
2、 系统功效模块设计
设备管理系统
退出系统
报废管理
报废时间记
报废数量
报修管
理
故障时间
故障维修
分发管理
分发给部门登记
职员使用
部门分发给职员还登记
采购管理
采购设备
增删改管理
增加
查询、修改
删除
二、 数据库设计
1、E—R图
总体ER图
子ER图
E-R图思绪:
部门向设备处申请所需设备数量及类型,设备处产生采购清单递交给采购员。
采购员从供给商取得设备存放在设备存放处,设备管理员将设备分配到需要设备各个部门,部门将设备分给职员进行使用。
在使用设备过程中,假如设备在保修期限内出现质量问题部门向设备处申请,设备退回供给商;假如设备损坏,由部门向维修人员报修;若无维修价值,则申请报废。
3、 数据字典
实体表:
1. 采购信息(purchase)
字符类型
长度
约束
说明
Pu.name
Char
20
不能为空,不能反复
姓名
Pu.no
Char
20
不能为空,不能反复
工号
Pu.age
Smallint
4
大于0且小于100
年纪
Pu.sex
Char
2
男或女
性别
Pu.tel
Char
11
联络方法
Pu.date
Datetime
》1900且《
入厂日期
2. 供给商信息(provider)
字符类型
长度
约束
说明
Pr.name
Char
20
不能为空,不能反复
姓名
Pr.Id
Char
20
不能为空,不能反复
帐号
Pr.address
Char
20
不能为空,不能反复
地址
Pr.tel
Char
11
联络方法
Pr.no
Char
20
不能为空,不能反复
供给商号
3. 设备信息(device)
字符类型
长度
约束
说明
De.type
Char
20
不能为空,不能反复
型号
De.no
Char
20
不能为空,不能反复
设备编号
De.name
Char
20
不能为空,不能反复
设备名称
De.date
Datetime
生产日期
De.bdate
Datetime
购置日期
F.no
Char
20
不能为空,不能反复
设备处号
4. 设备管理人员信息(tool keeper)
字符类型
长度
约束
说明
To.name
Char
20
不能为空,不能反复
姓名
To.no
Char
200
不能为空,不能反复
工号
To.age
Smallint
4
大于0且小于100
年纪
To.sex
Char
2
男或女
性别
To.tel
Char
11
联络方法
To.date
Datetime
》1900且《
入厂日期
5. 职员信息(staff)
字符类型
长度
约束
说明
St.name
Char
20
不能为空,不能反复
姓名
St.no
Char
20
不能为空,不能反复
工号
St.age
Smallint
4
大于0且小于100
年纪
St.sex
Char
2
男或女
性别
St.tel
Char
11
联络方法
St.date
Datetime
》1900且《
入厂日期
6. 部门信息(department)
字符类型
长度
约束
说明
D.name
Char
20
不能为空,不能反复
名称
D.no
Char
20
不能为空,不能反复
部门号
D.tel
Char
11
联络方法
F.no
Char
20
不能为空,不能反复
设备处号
7. 购物清单信息(buylist)
字符类型
长度
约束
说明
B.no
Char
20
不能为空,不能反复
清单编号
B.num
Char
10
不能为空,不能反复
设备型号
B.date
Datetime
确定日期
F.no
Char
20
不能为空,不能反复
设备处号
8. 维修员(mantenance)
字符类型
长度
约束
说明
M.name
Char
20
不能为空,不能反复
姓名
M.no
Char
20
不能为空,不能反复
工号
M.age
Smallint
4
大于0且小于100
年纪
M.sex
Char
2
男或女
性别
M.tel
Char
11
联络方法
M.date
Datetime
》1900且《
入厂日期
关系表:
9. 申报关系(declare)
字符类型
长度
约束
说明
F.no
Char
20
不能为空,不能反复
设备处号
Dec.num
Char
10
不能为空,不能反复
设备型号
Dec.date
Datetime
申报日期
D.no
Char
20
不能为空,不能反复
部门号
10. 递交关系(submit)
字符类型
长度
约束
说明
Pu.no
Char
20
不能为空,不能反复
采购职员号
Dec.num
Char
10
不能为空,不能反复
数量
Dec.date
Datetime
递交日期
B.no
Char
20
不能为空,不能反复
清单编号
11. 采购关系(purchase)
字符类型
长度
约束
说明
Pu.no
Char
20
不能为空,不能反复
采购职员号
Dec.num
Char
10
不能为空,不能反复
数量
Dec.date
Datetime
采购日期
De.no
Char
20
不能为空,不能反复
设备编号
12. 供给关系(povider)
字符类型
长度
约束
说明
Pr.no
Char
20
不能为空,不能反复
供给商号
Pro.num
Char
10
不能为空,不能反复
数量
Pro.date
Datetime
供给日期
De.no
Char
20
不能为空,不能反复
设备编号
13. 分配关系(allot)
字符类型
长度
约束
说明
To.no
Char
20
不能为空,不能反复
设备管理职员号
A.num
Char
10
不能为空,不能反复
数量
A.date
Datetime
分配日期
De.no
Char
20
不能为空,不能反复
设备编号
D.no
Char
20
不能为空,不能反复
部门号
14. 报修关系(repair)
字符类型
长度
约束
说明
M.no
Char
20
不能为空,不能反复
维修人职员号
R.num
Char
10
不能为空,不能反复
数量
R.date
Datetime
报修日期
De.no
Char
20
不能为空,不能反复
设备编号
D.no
Char
20
不能为空,不能反复
部门号
15. 分发关系(hand out)
字符类型
长度
约束
说明
D.no
Char
20
不能为空,不能反复
部门号
H.num
Char
10
不能为空,不能反复
数量
H.date
Datetime
分发日期
St.no
Char
20
不能为空,不能反复
职员工号
16. 报废关系(scrap)
字符类型
长度
约束
说明
D.no
Char
20
不能为空,不能反复
部门号
H.num
Char
10
不能为空,不能反复
数量
H.date
Datetime
报废日期
F.no
Char
20
不能为空,不能反复
设备处号
17. 退货关系(cancel)
字符类型
长度
约束
说明
Pr.no
Char
20
不能为空,不能反复
供给商号
C.num
Char
10
不能为空,不能反复
数量
C.date
Datetime
退货日期
De.no
Char
20
不能为空,不能反复
设备编号
F.no
Char
20
不能为空,不能反复
设备处号
4、 关系模式
采购员(工号,姓名,年纪,性别,联络方法,入厂日期)
供给商(姓名,供给商号,地址,联络方法,账号)
设备(设备编号,型号,设备名称,生产日期,购置日期,设备处号)
设备管理员(工号,姓名,年纪,性别,联络方法,入场日期)
职员(工号,姓名,年纪,性别,联络方法,入场日期)
部门(部门号,名称,联络方法,设备处号)
购物清单(清单编号,设备型号,确定日期,设备处号)
维修人员(工号,姓名,年纪,性别,联络方法,入场日期)
申报(部门号,申报日期,设备型号,设备处号)
采购(采购员职员号,数量,递交日期,清单编号)
递交(设备处,数量,清单编号,递交日期)
供给(供给商号,数量,供给日期,设备编号)
分配(设备管理职员号,数量,分配日期,设备编号,部门号)
保修(维修职员号,数量,报修日期,设备编号,部门号)
分发(部门号,数量,分发日期,职员工号)
报废(部门号,数量,报废日期,设备处号)
退货(部门号,设备处,供给商号,日期,数量)
5、 关系图
说明:关系图表现是各个表之间联络和本表总所固有属性,它表现着数据库结构,能够是大家愈加清楚,明了直到数据库各表之间关系,帮助我们了解整个系统。
三、 具体设计
1、 设计总综述思想
在需求分析基础上,画出明了ER图,然后对建立纸质数据库表(包裹属性合约束条件)。用VC建立数据库,在数据库中建立已经设计好数据库表,并对表添加约束(如:性别只能是男或女,年两在1~100之间,姓名不能为空等),对表建立主键和外键,然后录入表数据。
图形界面:设计一个登陆窗口,包含账号和密码,登陆后条状到主界面,经过查询下拉菜单能够对各个表信息进行查询(如:点设备,则跳出设备表,能够看到设备表中信息),经过增加下拉菜单能够对各个表信息添加信息(如:点设备,则跳出设备表,能够增加设备表中信息),修改和删除等类似。
2、建数据库表
图—部门表图
图—采购员表
图—登陆表
图—供给商表
图—购物清单表
图—设备表
图—设备管理表
图—维修人员表
图—职员表
3、界面设计
图—调试登陆界面
图—输入账号和密码登陆
图—登陆后进入main主界面
图—增删改页面
4、关键代码
连接代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序主入口点。
/// </summary>
[STAThread]
static void Main()
{
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDiretory", dataDir);
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
}
}
}
登陆代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication1
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection connn = new SqlConnection(@"Data Source =.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security = True;User Instance = True"))
//注意换行断点处!!!不然可能出项错误!!!!
{
connn.Open();
using (SqlCommand cmd = connn.CreateCommand())//此处是创建command命令,而非connection!!!
{
cmd.CommandText = "select * from denglu where zhanghao = @Name and mima = @Password";
cmd.Parameters.Add(new SqlParameter("Name", textBox1.Text));
cmd.Parameters.Add(new SqlParameter("Password", textBox2.Text));
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
MessageBox.Show("登陆成功!");
this.Hide();
new main().ShowDialog();
this.Close();//return仍不能将窗口关闭。。
}
else
{
MessageBox.Show("账号或密码输入错误!请重新输入!");
textBox1.Text = null;
textBox2.Text = null;
}
}
}
}
}
}
}
四、 总结
心得体会:
在我们看来,数据库是一门比较繁琐课程,其内容复杂琐碎,经过半个学期学习,我们对数据库了解并不是太多,学习以后我们更多是迷茫,数据库知识仅仅臣服于理论,在这次小组试验给我们这群常常在纸上谈兵学生一个动手操作机会。经过这次试验,我们更深体会到一定要将书本上知识吃透,因为这是做试验基础(只有打好坚实理论基础,才能付诸于实践),不然,在老师讲解时就会听不懂,这将使你在做试验时难度加大,浪费做试验宝贵时间。在这次大试验之前,我们把书本看了一遍。这么方便在做试验时更熟练,不至于在过程中才去探索,在做试验时,一定要亲力亲为,务必将每个步骤,每个细节搞清楚,试验后,还要复习,思索,这么,印象能够愈加清楚深刻。
这次试验,使我们学到了不少实用动手知识,更关键是,做试验过程,思索问题方法,还有大家相互协作默契。在一个知识不懂时候,团体伙伴们就相互提起书上知识还提供思绪,还和其它小组组员们一起讨论,直到把疑问解开位置,这种碰到问题处理问题过程让我们受益匪浅。很期待下一次经过机器把试验完成机会。
这次试验,在考试周前一周,一开始就感觉到了时间压力,数据库表面上是以中很好做学科,但假如深究其细节,不得不让我们深思。
从刚开始构思,到画出正确具体ER图,我们一边一边咨询教导老师,本认为自己想已经很完美了,被老师点评了以后才发觉自己总是眼高手低,思索问题不够全方面细致……在建立数据库表时候,刚开始建立到最终连接以后也可能是不适宜,还需要深入修改,理想和现实总是存在这么大差距,实际操作可能会遇见多种多样问题,不过也就是在不停遇见为题和处理问题过程中我们才会有不停提升,才会不停进步。
展开阅读全文