数据库开发实习报告模板-09.doc_第1页
数据库开发实习报告模板-09.doc_第2页
数据库开发实习报告模板-09.doc_第3页
数据库开发实习报告模板-09.doc_第4页
数据库开发实习报告模板-09.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

家电信息管理系统数据库开发技术-教学实习报告专 业: 计算机科学与技术 班 级: 09级计本3班 小组成员: 李明洋 宣召龙 邹宏亮 窦红涛 指导教师: 谢艳新 、许 薇 二一二年六月十日19目录1家电信息管理系统当前的研究现状12目前存在的主要问题13提出解决各种问题的路线及方法14采用工具是哪些25运行的环境26数据库设计阶段36.1需求分析36.2登录界面46.3 概念设计56.4逻辑结构设计66.5物理逻辑设计66.6数据库实施67.程序代码87.1 login 窗体87.2 From1 窗体97.2 From2 窗体14总结19参考资料19指导教师评语:191家电信息管理系统当前的研究现状数据仓库(Data Warehouse)被企业所采用已有十多年的时间,其中的成功或失败都为许多企业提供了宝贵经验。随着数据仓库使用者日益成熟,他们对数据仓库的期望也不断提高。随着许多企业以运用业界最佳实例与先进的技术,开始重整其数据仓库,我们也逐渐迈入第二代的数据仓库。数据仓库已从后端的策略性决策支持系统,变为整个企业运营的一个关键组件。家电信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。介绍了家电信息管理系统的制作过程。当前市场上对家电信息管理系统都有很大的需求,然而目前市场上的家电信息管理系统都系实存在这样或那样的缺陷,因此我们想通过调查设计个具有特色的家电信息管理系统,达到实用和尽量减少烦琐的作的目的。本系统采用 9.0编写,数据库SQL sever 2008。家电信息管理系统实现自动化以后可以使工作人员减少70%的工作,有限的经费发挥最大的使用价值;极大地提高资源的标准性和信息的使用效率。家电信息自动化管理是当今信息化发展的必然趋势。2目前存在的主要问题目前很多家电信息还在使用来管理家电信息里的商品,用户少的时候,人工记录方法能满足当前的需要,问题并不突出,但随着社会的进步,人们的生活越来越丰富,人工记录方法来维数量众多商品,既效率低又错误过多,根本不能满足人们的需要,大大影响了家电信息的正常管理工作。同时,即使已经用上家电信息管理系统的商品,因为对系统的不了解或系统本身存在问题,使销售效率没有达到理想的效果。同时,数据库技术发展快速,目前分布式查询已经广泛应用,新技术如异构和数据仓库,数据挖掘技术的成熟,很多行业都在应用,要想在竞争中取胜必需有更高的效益,只有不断应用新技术才能满足用户对效率的追求。因此家电信息中应用信息管理系统,是对产品资源、销售资源、货物信息、用户信息进行管理和及时了解各个环节中信息的变更,有利于管理效率的提高。3提出解决各种问题的路线及方法第一代“数据仓库”通常是部门级的数据集市,仅能支持来自特定部门的有限查询,容易导致信息重复、各数据集市的信息不一致、无法解答企业层的问题,更不用提支持所有分散系统所需的高额成本。然而,那些已将数据集市整合至集中数据仓库的公司,则已开始体验到整合数据集市所带来的优势,以及以前不可能达到的业务成果。整合数据集市的趋势反映于2002年3月的 Gartner Research 所发表的一篇文章,文中阐明:“在低迷的经济状况下,企业可将数据集市整合为单一的数据仓库,以降低成本并提高业务价值。”Gartner接着预测:“在2002年运用数据仓库实施方法开始致力于数据集市整合的企业,将可在2004年之前缩减至少50%的费用,并至少提高500%的业务价值。”解决办法:(1)增加更多的分析,有利于提高查询速度。五大数据挖掘趋势研究报告中,企业数据挖掘解决方案将因其拥有更具预测性的模式、更佳的数据挖掘模型、更具成本效益的模型、逐步形成的数据挖掘标准,以及整合于RDBMS服务器中而被企业加速采用。(2)动态数据仓库的应用。要具备真正的竞争力,使用者必须预测将会发生的事,而且更要有正确的信息,来驱动想要让它发生的事。动态数据仓库包含了操作系统的整合分析,以制定最佳的战术和策略性决策。动态数据仓库能支持下列功能:在信用卡交易期间进行欺诈监测;从呼叫中心自动产生直效营销;根据客户对公司的价值,在与客户接触时能弹性地制定价格。4采用工具是哪些本项目采用SQL2008作为后台数据库,Microsoft SQL Server 2008 扩展了 Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性。Microsoft SQL Server 2008 增加了几种新的功能,由此成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台,采用vb与数据库的连接。在开发阶段主要用企业管理器作为开发工具,主要使用触发器和存储过程对系统中的数据的完整性和一至性的约束。在测试阶段用查询分析器来检验设计是否达到设计的功能。5运行的环境l 应用于Windows 局域网和远程服务器.l 数据库服务器采用SQL Server 2008,运行于Windows NT 或Windows 2000 Server 操作系统.l 后台程序运行于vb环境中.6数据库设计阶段6.1需求分析在本阶段任务是对家电信息的工作流程进行调查和了解,分析,确定用户的需求是什么。在熟悉业务活动的基础上,协助用户明确新系统的各种需求,包括用户的信息需求,处理需求,安全性,和完整性的需求等。在收集各种需求数据的,对前面调查的结果进行初步的分析,确定新系统的边界,确定哪些功能由计算机完成或将来准备让计算机完成,哪些由人工完成。由计算机完成的功能就是新系统应该实现的功能。系统分析的最后阶段是编写系统分析报告,即需求规范说明书,需求规范说明书是对需求分析阶段的一个总结。系统分析报告经有关技术专家评审后,由项目方与开发方签字确认。家电信息库存管理是以订单为核心,而行为管理主要集中于发单,入库,出库的查询,统计.在此信息基础上,向各个不同的供应商发送供求信息,使家电信息销售供应正常。方便各部门进行工作的总结和分析,并为经理层提供月度报表或季度报表,使这一层的领导能总体把握整个家电信息库存的运行状况,经营情况和存在的问题,更有利于采取相应的决策,进行总体协调。家电信息库存的优点:1适用性:功能齐全,模块式可拆卸2易用性:作简单,容易维护3稳定性:系统成熟,稳定,安全性能好4合理性:价格合理,售后服务有保障家电信息库存的缺点: 1 单一性:其主要依赖订单,订单不及时时,系统难以维持。系统设计目的(1) 大大提高家电信息的运作效率。(2) 通过全面的信息采集和处理,辅助提高家电信息的决策水平。(3) 使用本系统,可以迅速提升家电信息的管理水平,为降低经营成本, 提高效益,增强家电信息扩张能力, 提供有效的技术保障。产品销售产品销售商 图6-1 整体数据流图添加修改查询家电信息管理系统删除购物售出交税商品客户查询查询管员安全 图6-2整体功能图6.2登录界面图6-3 登录界面6.3 概念设计本阶段的主要任务是对需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型作为概念设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。本次开发使用混合的策略来设计概念结构的ER模型。从需求分析中抽象出系统的实体,属性,联系,并通过全局模型设计得出图书管理系统的基本E-R图,如下图:字段名字段类型约束控制字段说明商品名称varChar(50)主键编号价格Float()Not null价格商品数量Float()Not null商品数量商品产地Varchar(30)Not null商品产地单位Char(10)Not null单位制造商Varchar(30)Not null制造商种类Varchar(30) Not null标志图6-5 建立数据库表6.4逻辑结构设计概念结构设计阶段得到的E-R模型是用户模型,它独立于任何一种数据模型,独立于任何一个DBMS。为了建立用户所要求的数据库,需要把上述概念模型转换成某个具体的DBMS所支持的数据模型。数据库逻辑设计的任务是将概念结构转换成特定的DBMS所支持的数据模型的过程。经过初始关系模式设计,关系模式规范化,模式的评价与改进,得出以下几个关系模式:商品(商品名称,商品数量,商品价格,商品产地,商品种类,单位,生产厂商)6.5物理逻辑设计数据库最终要存储在物理设备上,对于给定的逻辑数据模型,选取一个最适合的应用环境的物理结构的过程,称为数据库物理设计。物理设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结果作为输入,结合具体的DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。以下为存取记录的结构设计:读者表6-1:6.6数据库实施数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构,装入数据,进行测试和试运行的过程。数据库实施主要包括,建立实际数据库结构,装入数据,应用程序编码与调试,数据库运行和整理文档。在项目是用Microsoft SQL Server 2000作为后台数据库,主要用了企业管理器作为设计工具,用查询分析器作为功能的检验。以下为开发中的主要代码和在查询分析器检验的代码:添加记录:Stringexe=insertinto CommBiao(commName,commJiage,commDanwei,commChangjia,commShuliang,commChandi,commZhonglei) values(+new String(db.getCommName().getBytes(8859_1),gbk)+,+db.getCommJiage()+,+new String(db.getCommDanwei().getBytes(8859_1),gbk)+,+new String(db.getCommChangjia().getBytes(8859_1),gbk)+,+db.getCommShuliang()+,+new String(db.getCommChandi().getBytes(8859_1),gbk)+,+new String(db.getCommZhonglei().getBytes(8859_1),gbk)+) 图6-6 添加登录页面删除记录:String exe=delete from CommBiao where id=+id;修改记录:String exe=update CommBiao set commName=+new String(db.getCommName().getBytes(8859_1),gbk)+,commJiage=+db.getCommJiage()+,commDanwei=+new String(db.getCommDanwei().getBytes(8859_1),gbk)+,commChangjia=+new String(db.getCommChangjia().getBytes(8859_1),gbk)+,commShuliang=+db.getCommShuliang()+,commChandi=+new String(db.getCommChandi().getBytes(8859_1),gbk)+,commZhonglei=+new String(db.getCommZhonglei().getBytes(8859_1),gbk)+where id=+db.getId();查询记录:String exe = select * from CommBiao where id=+id;ResultSet rs = stm.executeQuery(sql); int count = 0; if(rs.next()count = rs.getInt(1)stm.execute(sql);close();return count; 7.程序代码7.1 login 窗体Private Declare Function GetUserName Lib advapi32.dll Alias getusernamea (ByVal lpBuffer As String, nSize As Long) As LongPrivate Declare Function GetUserName Lib advapi32.dll Alias GetUserNameA (ByVal lpBuffer As String, nSize As Long) As LongPrivate Sub cmdcancel_Click()Unload MeEnd SubPrivate Sub cmdok_Click()Dim txtsql As Stringtxtsql = select* from users where userid= & Trim(username.Text) & & and password= & Trim(password.Text) & Set mrc = executesql(txtsql)If mrc.EOF = False Thenmrc.Closeflag = 1Unload MeElseMsgBox 密码不正确,请重新输入!, , loginusername.SetFocusEnd IfEnd SubPrivate Sub Form_Load()Dim sbuffer As StringDim lsize As Longsbuffer = Space$(255)lsize = Len(sbuffer)Call GetUserName(sbuffer, lsize)If lsize 0 Thenusername.Text = Left$(sbuffer, lsize)Elseusername.Text = vbNullStringEnd IfEnd Sub7.2 From1 窗体Option ExplicitPublic mrc As ADODB.RecordsetPublic cpbh As StringPublic txtsql As StringPrivate Sub cmd_Click()Dim count As IntegerDim smeg As StringDim mrcc As ADODB.RecordsetDim msgtext As StringDim cpbh, cpmc As StringDim jg As DoubleDim kcl As IntegerDim cnn As ADODB.ConnectionDim cmdupdate As New ADODB.CommandDim cmddele As New ADODB.CommandSelect Case flagaddCase 1 添加操作的实现 If Trim(Combo1.Text & ) = Then smeg = 产品编号 End If For count = 1 To 3 If Trim(txtitem(count) & ) = Then Select Case count Case 1 smeg = 产品名称 Case 2 smeg = 产品价格 Case 3 smeg = 产品库存量 End Select smeg = smeg & 不能为空! MsgBox smeg, vbOKOnly + vbExclamation, 警告 txtitem(count).SetFocus Exit Sub End If Next count cpbh = Combo1.Text Combo1.AddItem Trim(cpbh) cpmc = txtitem(2).Text jg = CDbl(txtitem(1).Text) kcl = CInt(txtitem(3).Text) txtsql = select * from cp where cpbh= & Trim(Combo1.Text) & Set mrcc = executesql(txtsql) If mrcc.EOF = False Then MsgBox 此产品编号已存在!, vbOKOnly + vbExclamation, 警告 Combo1.SetFocus mrcc.Close Else Set cnn = New ADODB.Connection cnn.Open connectstring cnn.Execute exec cp_insert & cpbh & , & cpmc & , & jg & , & kcl cnn.Close MsgBox 数据已保存!, vbOKOnly + vbExclamation, 提示 Combo1.Text = For count = 1 To 3 txtitem(count).Text = Next count End If Case 2 cpbh = Combo1.Text cpmc = txtitem(1).Text jg = CDbl(txtitem(2).Text) kcl = CInt(txtitem(3).Text) Set cnn = New ADODB.Connection cnn.Open connectstring Set cmdupdate.ActiveConnection = cnn mandtext = cp_update cmdupdate.CommandType = adCmdStoredProc cmdupdate.Parameters.append cmdupdate.createparameter(cpbh0, adchar, adparaminput, 6, cpbh) cmdupdate.Parameters.append cmdupdate.createparameter(cpmc0, adchar, adparaminput, 12, cpmc) cmdupdate.Parameters.append cmdupdate.createparameter(jg0, addouble, adparaminput, jg) cmdupdate.Parameters.append cmdupdate.createparameter(kcl0, adinteger, adparaminput, kcl) cmdupdate.Parameters.append cmdupdate.createparameter(flag, adinteger, adparamoutput) cmdupdate.Execute cmdupdate.Execute Set cnn = New ADODB.Connection cnn.Open connectstring cnn.Execute exec cp1_update & cpbh & , & cpmc & , & jg & , & kcl cnn.Close If cmdupdate(flag) = 1 Then MsgBox 数据已更新!, vbOKOnly + vbExclamation, 提示 Else MsgBox 数据更新不成功!, vbOKOnly + vbExclamation, 提示 cnn.Close End If Case 3 cpbh = Combo1.Text Set cnn = New ADODB.Connection cnn.Open connectstring Set cmddele.ActiveConnection = cnn cmddele.CommandText = cp1_delete cmddele.CommandType = adCmdStoredProc cmddele.Parameters.Append cmdupdate.CreateParameter(cpbh0, adChar, adParamInput, 6, cpbh) cmddele.Parameters.Append cmddele.CreateParameter(flag, adInteger, adParamOutput) cmddele.Exectute cmddele.Execute If cmddele(flag) = 1 Then MsgBox 记录已被删除!, vbOKOnly + vbExclamation, 提示 For count = 0 To Combo1.ListCount - 1 If Combo1.List(count) = Combo1.Text And Combo1.Text Then Combo1.RemoveItem count Combo1.Text = End If Next count For count = 1 To 3 txtitem(count).Text = Next count End If cnn.Close End Select End SubPrivate Sub combo1_click()Dim strText, msgtext As StringDim cpbh As StringstrText = Combo1.Textcpbh = Combo1.Texttxtsql = select * from cp where cpbh= & strText & Set mrc = executesql(txtsql) If Not mrc.EOF Then txtitem(1).Text = mrc.Fields(1) txtitem(2).Text = mrc.Fields(2) txtitem(3).Text = mrc.Fields(3) End If mrc.Close Combo1.SetFocus End SubPrivate Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case Index Case 0 If KeyCode = 13 Then txtitem(1).SetFocus End If Case 1 If KeyCode = 13 Then txtitem(2).SetFocus End If Case 2 If KeyCode = 13 Then txtitem(3).SetFocus End If End Select End SubPrivate Sub Combo1_KeyPress(KeyAscii As Integer)Dim msgtext As StringIf KeyAscii = 13 And flagadd = 1 Thentxtsql = select*from cp where cpbh= & Trim(Combo1.Text) & Set mrc = executesql(txtsql)If mrc.EOF = False ThenMsgBox 此产品编号已存在!, vbOKOnly + vbExclamation, 警告Combo1.SetFocusmrc.Close Else txtitem(1).SetFocus End If End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Activate() Dim msgtext As String Dim flag As Integer If flagadd = 2 Or flagadd = 3 Then flag = 0 txtsql = select * from cp Set mrc = executesql(txtsql) If Not mrc.EOF Then Do While Not mrc.EOF Combo1.AddItem Trim(mrc.Fields(0) If flag = 0 Then flag = 1 End If Combo1.Text = mrc.Fields(0) cpbh = Combo1.Text txtitem(1).Text = mrc.Fields(1) txtitem(2).Text = mrc.Fields(2) txtitem(3).Text = mrc.Fields(3) mrc.MoveNext Loop End If mrc.Close Combo1.SetFocus End IfEnd SubPrivate Sub Form_Load()Me.Caption = 产品信息Select Case flagadd Case 1 Me.Caption = Me.Caption & 添加 cmd.Caption = 保存(&S) Case 2 Me.Caption = Me.Caption & 修改 cmd.Caption = 更新(&U) Case 3 Me.Caption = Me.Caption & 删除 cmd.Caption = 删除(&D) End SelectEnd SubPrivate Sub Text1_Change()End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)End Sub7.2 From2 窗体Private Sub cmd_Click()Dim icount As IntegerDim smeg As StringDim mrcc As ADODB.RecordsetDim msgtext As StringDim xsbh, xsmc, dq, fzr, dh, mz As StringDim cnn As ADODB.ConnectionDim cmdupdata As New ADODB.CommandDim cmddele As New ADODB.CommandSelect Case flagadd Case 1 If Trim(Combo1.Text & ) = Thensmeg = 销售赏编号 End IfFor icount = 0 To 4If Trim(txtitem(icount) & ) = Then Select Case icount Case 0 smeg = 销售商名称Case 1 smeg = 地区Case 2 smeg = 负责人Case 3 smeg = 电话Case 4 smeg = 备注End Selectsmeg = smeg & 不能为空!MsgBox smeg, vbOKOnly + vbExclamation, 警告txtitem(icount).SetFocusExit SubEnd IfNext icountxsbh = Combo1.TextCombo1.AddItem Trim(xsbh)xsmc = txtitem(0).Textdq = txtitem(1).Textfzr = txtitem(2).Textdh = txtitem(3).Textmz = txtitem(4).Texttxtsql = select * from xss where xsbh = & Trim(Combo1.Text) & Set mrcc = executesql(txtsql)If mrcc.EOF = False ThenMsgBox 此销售商的编号已存在!, vbOKOnly + vbExclamation, 警告Combo1.SetFocusmrcc.CloseElseSet cnn = New ADODB.Connectioncnn.Open connectstringcnn.Execute exec xss1_insert & xsbh & , & xsmc & , & dq & , & fzr & , & dh & , & mz & cnn.CloseMsgBox 数据已保存!, vbOKOnly + vbExclamation, 提示Combo1.Text = For icount = 0 To 4txtitem(icount).Text = Next icountEnd IfCase 2xsbh = Combo1.Textxsmc = txtitem(0).Textdq = txtitem(1).Textfzr = txtitem(2).Textdh = txtitem(3).Textmz = txtitem(4).TextSet cnn = New ADODB.Connectioncnn.Open connectstringcnn.Execute exec xss_update & xsbh & , & xsmc & , & dq & , & fzr & , & dh & , & mz & , & flagcnn.CloseIf flag = 1 ThenMsgBox 数据已更新!, vbOKOnly + vbExclamation, 提示ElseMsgBox 数据更新不成功, vbOKOnly + vbExclamation, 提示cnn.CloseEnd IfCase 3xsbh = Combo1.TextSet cnn = New ADODB.Connectioncnn.Open connectstringSet cmddele.ActiveConnection = cnncmddele.CommandText = xss_deletecmddele.CommandType = adCmdStoredProccmddele.Parameters.Append cmddele.CreateParameter(xsb0, adChar, adParamInput, 16, xsbh)cmddele.Parameters.Append cmddele.CreateParameter(flag, adInteger, adParamOutput)cmddele.ExecuteIf cmddele(flag) = 1 ThenMsgBox 记录已被删除!, vbOKOnly + vbExclamation, 提示For icount = 0 To Combo1.ListCount - 1If Combo1.List(icount) = Combo1.Text And Combo1.Text ThenCombo1.RemoveItem icountCombo1.Text = End IfNext icountFor icoun = 0 To 4txtitem(icoun).Text = Next icounEnd Ifcnn.CloseEnd SelectEnd SubPrivate Sub cmdexit_Click()Unload MeEnd SubPrivate Sub combo1_click()Dim xsbh, msgtext As StringDim i As Integerxsbh = Combo1.Texttxtsql = select * from xss where xsbh = & xsbh & Set mrc = executesql(txtsql)If Not mrc.EOF ThenFor i = 0 To 4If Not IsNull(mrc.Fields(i + 1) Then txtitem(i).Text = mrc.Fields(i + 1)Elsetxtitem(i).Text = End IfNext iEnd Ifmrc.CloseEnd SubPrivate Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case IndexCase 0If KeyCode = 13 Thentxtitem(1).SetFocusEnd IfCase 1If KeyCode = 13 Thentxtitem(2).SetFocusEnd IfCase 2If KeyCode = 13 Thentxtitem(3).SetFocusEnd IfCase 3If KeyCode = 13 Thentxtitem(4).SetFocusEnd IfEnd SelectEnd SubPrivate Sub Combo1_KeyPress(KeyAscii As Integer)Dim msgtext As StringIf KeyAscii = 13 And flagadd = 1 Thentxtsql = select * from xss where xsbh =&trim(combo1.text)&Set mrc = executesql(txtsql)If mrc.EOF = False ThenMsgBox 销售商的编号已存在!, vbOKOnly + vbExclamation, 警告Combo1.SetFocus

温馨提示

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

评论

0/150

提交评论