数据库课程设计论文.docx

上传人:小飞机 文档编号:4226610 上传时间:2023-04-10 格式:DOCX 页数:26 大小:163.97KB
返回 下载 相关 举报
数据库课程设计论文.docx_第1页
第1页 / 共26页
数据库课程设计论文.docx_第2页
第2页 / 共26页
数据库课程设计论文.docx_第3页
第3页 / 共26页
数据库课程设计论文.docx_第4页
第4页 / 共26页
数据库课程设计论文.docx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据库课程设计论文.docx》由会员分享,可在线阅读,更多相关《数据库课程设计论文.docx(26页珍藏版)》请在三一办公上搜索。

1、目录一 绪论11.1 课题配景及现状11.2 开发东西介绍1二 需求阐发2三 提要设计5四 逻辑设计7五 详细设计9六 测试结果21七 小结21参考文献25一 绪论1.1 课题配景及现状软件界说:堆栈治理系统在当今时代,随着社会,技能,尤其是盘算机的生长,人工智能已经成为时代的需求,而纯人工已经成为已往。在这样一个配景下!堆栈的存储作为一个时代的产物,信息化,智能化也成为必须了。同时开发一个堆栈治理系统也变得紧迫的需要。堆栈治理系统用于对企业收支库的日常治理,是一套高效的信息治理系统。它能够为企业提供先进的业务信息治理解决方案,革新传统的事情方法,提高企业所经营物品的供、销、存的运转效率,缩短

2、治理周期,淘汰因为重复操纵而带来的人为不对,减轻治理人员的事情强度、低落治理本钱。软件界说:从客户的需求开始,从对客户的需求的阐发,到数据流程图完成,然后,观点设计,E-R图的设计,接下来,将E-R图转换成干系模型,固然这个干系模型要满足一定的范式地 要求,这样要是凭据实际的情况决定的!再接下来,设计数据库,进行详细的设计,凭据客户的需求选择是做成c/s,照旧b/s形式!最后是软件的测试和维护。这个整个的历程是一个完整的流程,这个历程被称为软件开发。制品为软件。1.2 开发东西介绍 这次项目主要是使用Eclipse和Microsoft SQL Server2000。Sqlsever2000 数

3、据开发东西! Sqlsever2000是微软公司开发的智能的,大型的实用型的数据库设计东西!目前在市场上大部门公司用的是oracle,bb2等数据开发东西。因为我们课堂上介绍的是Sqlsever2000,我就选用了它。Eclipse是开放源代码的项目,其自己是用Java语言编写。Eclipse是我们在学习Java中使用过的东西,它的功效比力完整!乍一看起来,Eclipse的界面有点象JBuilder,但实际操纵进程中会发明它更象IVJ,究竟开发Eclipse的主导用量是开发IVJ的原班人马。Eclipse开发情况和IVJ一样,Eclipse开发情况被称为Workbench,它主要由三个部门组成

4、:视图(Perspective),编辑窗口(Editor)和视察窗口(View)。在下面的介绍中,希望读者能知道Java视图,Java包浏览窗口,资源视图,资源浏览窗口等区别(其实最主要的也就是要区别视图和窗口)。Asp运行在装有Microsoft的IIs操纵系统中,所以创建Asp应用步伐之前,需要安装相关的操纵系统和Web办事器。二 需求阐发2.1目标设计:堆栈治理系统需要实现的功效相对来说比力简朴,最重要的是物品的入库操纵、出库操纵和提货单的治理,对供给商、提货单元的治理功效,以及对库存中物品数目的治理功效。另外,作为一个完整的系统,为了包管系统的宁静,另有须要对使用本系统的用户进行身份的

5、验证以及权限的治理等。堆栈治理系统实现的功效如下:1.系统的用户登录以及身份验证系统用户进入系统需要经过身份验证。系统用户在登录系统以后,在差别页面跳转浏览时的身份验证。2.库存治理功效库存信息的治理,包罗添加堆栈、检察堆栈、删除堆栈。提货单为信息的添加。货品类别信息的添加。物品信息的添加。提货单的治理。3.权限的治理功效在本系统中,将权限分为俩种,一种为超等治理员权限,该权限可以治理系统中界说的所有堆栈;而另一种为普通治理员权限,该权限只能治理分派给他的某个堆栈。2.2数据流图:商品入库数据流图:商品入库登记产生入库表更新数据库处置惩罚事务堆栈治理员入库单供给商 事务事务库存清单商品出货数据

6、流图: 商品出库登记更新数据库处置惩罚事务 采购员产生出库表出库单堆栈治理员 事务事务库存清单商品订货数据流图: 订货信息产生订货表处置惩罚事务更新数据库采购员堆栈治理员 事务 事务 订货单库存清单2.3数据字典:1:名字: 用户表 描述: 记载所有可以登录该系统的用户名、密码和其他相关数据; 界说: 用户名+密码+备注+IP地点; 位置: 输出到打印机;2:名字: 供给商信息表 描述: 此表记载所有供给商的信息。; 界说: 供给商名称+供给商编号+备注; 位置: 输出到打印机;3:名字: 提货单元信息表 描述: 该表是指某物在出库时提货者的信息;、 界说: 使用编号+名称+备注; 位置: 输

7、出到打印机;4: 名字: 堆栈信息表 描述: 一个企业可能会有许多堆栈,就存放在这个表中; 界说: 堆栈编号+堆栈名称+备注; 位置: 输出到打印机;5:名字: 物品类别信息表 描述: 该表记载堆栈中具体的物件名称和其他相关的信息; 界说: 类别名称+类型编号+所属堆栈名 位置: 输出到打印机;6. 名字: 物品信息表 描述: 此表记载堆栈中具体的物件名称和其他相关的信息; 界说: 堆栈编号+类型编号+品名编号+品名物品的名称+计量单元+当前库存数+当前库存总金额+最大储存量+最小储存量+储存所在+规格+货号+货名; 位置: 输出到打印机;7. 名字:入库/出库明细表 描述: 该表记载所有各个

8、堆栈的入库、出库的记载,每当进行出库大概入库操纵是,就会有一条记载插入该表; 界说: 编号+记载日期+种类+号数+收入数量+收入单价+收入金额+发出数量+发出单价+发出金额+结存数量+结存单价+结存金额+品名编号+堆栈编号+供给商编号+担当这编号+剩余数量 位置: 输出到打印机;三 提要设计这一设计阶段是在需求阐发的底子上,设计出能够满足需求的种种实体,以及它们之间的干系,为背面的逻辑结构设计打下底子。本实例凭据上面的设计计划出的实体有员工实体、供给商实体、提货单元实体、堆栈实体、物品类别实体、物品信息实体、出库/入库实体。各个实体的E-R图及其干系描述如下。1.员工实体E-R图(用户编号,用

9、户名,密码,是否在线,备注,IP地点)UserUser-idusernamepasswordisonliememoip2.供给商实体E-R图(供给号,供给商名称,备注)ProvideProvider-idProvider-namememo3.提货单元实体E-R图(使用编号,使用名称,备注)UsesUses-idUses-namememo4.堆栈实体实体E-R图(堆栈编号,堆栈名称,备注)StorageStorage-idStorage-namememo5.物品类别实体E-R图(类型名称,类型编号,该类别所属堆栈)Typetype-nameType-idin-storage6.物品实体E-R图(

10、堆栈编号,类型编号,品名编号,物品名称,记量单元,当前库存数,当前库存总金额,最大储存量,最小储存量,储存所在,规格,货号,货名)StockStorage-idnoType-idName-idunitNow-stocnow-stocmaxrulehmaddressmin7.入库/出库实体E-R图(编号,记载日期,种类,号数,收入数量,收入单价,收入金额,发出数量,发出单价,发出金额,结存数量,结存单价,结存金额,品名编号,堆栈编号,供给商编号,用户编号,剩余数量)DetailIn-pricerqzlhsIn-numIn-sumidOut-sumOut-priceOut-sumNow-price

11、Now-sumName-idProvider-idStorage-idLeft-numUses-id四 逻辑设计 4.1根本表干系:1.员工 (用户编号,用户名,密码,是否在线,备注,IP地点)2.供给商(供给编号,供给商名称,备注)3.提货单元(使用编号,使用名称,备注)4.堆栈(堆栈编号,堆栈名称,备注)5.物品类别(类型名称,类型编号,该类别所属堆栈)6.物品(堆栈编号,类型编号,品名编号,物品名称,记量单元,当前库存数,当前库存总金额,最大储存量,最小储存量,储存所在,规格,货号,货名)7.入库/出库(编号,记载日期,种类,号数,收入数量,收入单价,收入金额,发出数量,发出单价,发出金

12、额,结存数量,结存单价,结存金额,品名编号,堆栈编号,供给商编号,用户编号,剩余数量)4.2 数据库截图员工:供给商:提货单元堆栈信息:物品类别信息:物品信息:入库/出库:前5个干系到达了BC范式,后俩个到达3范式。4.3界说权限:治理:用户表user中的字段in_storage意思是所属堆栈,在表storage中存放着堆栈,且表中字段storage_id就是堆栈的编号,in_storage与之对应,而storage_id是自动编号产生的,所以不会有小于即是0的数字的,凭据这样,当in_storage值为0时,即不属于任何堆栈的用户,即他们可以治理任何堆栈,也即可以称之治理员了!检察:用户表u

13、ser中的字段viewother是检察其他的堆栈,一个用户是否可以检察全部的堆栈首先看他是否可以治理全部堆栈,如果可以就可以检察其他的堆栈,如果不可以,即只能治理一个堆栈,那么就要看字段viewother的值为什么,如果为“是”那么可以检察其他的堆栈,如果为“否”则不能看其他堆栈。五 详细设计在该系统中主要由根本信息维护模块、库存治理模块和宁静治理模块3大模块组成。 库存治理系统根本信息维护模块库存治理模块宁静治理模块 1 系统功效模块图根本信息维护模块员工信息堆栈信息治理 2 根本信息模块图库存治理模块入库治理出库治理提货单治理 3 库存治理模块宁静治理模块权限治理用户治理 4 宁静治理51

14、功效说明:1.登录:登录模块在文件default.asp中,即堆栈的首页中,在登录时需要填写“用户名、密码、选择堆栈”三项,如果用户名和密码有至少一个不正确时,就提示“用户名或密码错误”。2、分类检察库存 - type.asp因为该界面使用一种目录树的结构观点,进入时显示总分类的类别,总分类下也可直接创建物品,但一般都不会有。3、浏览库存(治理库存) - brow.asp他适合于范围小,分类简朴的堆栈,并且在上面将该堆栈的所有分类名称列出来,可以很方便的选择哪个分类来检察该类别下的所有库存。4、今日库存报表 - report.asp日报表是将今日所有堆栈中的物品凭据出、入库情况进行填充报表表格

15、,他可以自动盘算某样物品今日的所有出库数量、出库金额、入库数量、入库金额、当前库存数、当前库存金额。5、检察全部库存 - all.asp 只有在这里才可以一览全部堆栈的情况,可以很方便的选择某个堆栈再选择其下的某个类别进行检察,或查找时,是针对全部堆栈来找的,要进入此页面,必须该用户具有可以检察其他堆栈的权限。6、修改密码 - chkpass.asp 修改密码是让用户在线时的进行修改自己的密码,要先以自己的用户名和密码登录进去,新密码和校验密码一致时才可以正确修改密码。7、检察在线人数online.asp可以检察当前在线的人数,以及他们的用户名,登录时间和其IP地 址。8、新增用户 - new

16、user.asp 在线式的进行增加用户名,这种方法具有权限继承性,即只有可以治理全部堆栈的才可以分派给新用户这种权限,只有可以检察全部堆栈的才可以分派给新用户这种权限。9、新增分类 typemanage.asp只是新增总分类下的类别。 Newtype.asp是在树型结构中进行的动态分类,是增加当前类别下的 新类别。10、新增堆栈 - storagemanage.asp 对表storage进行增加堆栈名称,该步伐一个很大的优点就在于此,只要新参加一个堆栈,这个堆栈在使用时与其他堆栈的使用没有任何干系,只是他们可以放在一起进行检察,是他们唯一的联系。11、新增供给商 - providermanag

17、e.asp 对每一个进库的物品,都需要指明供给商是谁,不然不就搞出了三无产物嘛?对供给商的治理另有待完善。12、新增用处 - usesmanage.asp 用处是相对供给商的,既然货有源,那么使用也得有个东西,要从这里反响出,某物品从哪里来,又走象哪里了。13、新增品名 - newname.asp 对当前堆栈当前类别下新增物品,用来描述物品信息。当新增某物品时还需对他进行入库、出库等操纵,该物品才算有意思。14、入库操纵 - in.asp 即收入,对堆栈的一个进的历程,需要输入物品的数量、单价、摘要、供给商等信息。当数据全正确确定可以生存时,步伐先将全部的已有库存记载逐个重新誊写一遍至当前日,

18、然后再新增一个记载表现现在入库的数据,并重新统计现在的库存数量,并写到stock中表现现有的库存情况,并且重新改写“记帐记载标记jz_log”,用来标记最后一个操纵,置全部记载为0,并将刚誊写的及新增的记载为1,只在list.asp显示明细中用颜色块显示时使用,清楚的表现当前的库存情况。15、出库操纵 - out.asp 出库与入库相反,在出库时先将出库请求的数量与现有库存数量比力,如果小于即是库存数,则可以出库,如果大于库存了,则提示不能出库,以save_out.asp来检测数据。当可以出库也是将全部已有库存记载逐个重新誊写一遍至当前日,产生新的数据,然后凭据具体出库的数量凭据“先入先出”原

19、则从最早一批开始出库,如果第一批数量不敷,再继承出第二批,第二批不敷,再继承出第三批,依次类推,直到全部到达出库请求的数量。16、退出 - logout.asp 在使用完后,一定要使用退出来结束事情,一来是注册表user使自己的名称已经下线,并记载下线时间,二来为了宁静起见。5.2功效实现:首页一 根本信息维护模块:1. 新增员工:页面设计:本系统添加员工页面如图所示,在该页面上治理员需要输入用户、员工登录密码和分派给该员工治理的堆栈并且需要给该员工赋予一定的权限。实现要领:当用户填写表单后,首先把填写的结果交给指定的步伐查抄,这里接纳在办事器端查抄填写结果的正当性。如果填写结果正当,则将表单

20、内容交给newuser.asp页面,卖力将用户信息写入数据库中。newuser.asp文件的焦点代码如下:if request(name)= then msg=msg+请输入用户名!end ifif request(password)= then msg=msg+请输入密码!end ifif request(confirm)= then msg=msg+请输入确认密码!end ifif request(password)request(confirm) then msg=msg+密码和确认密码不一致!end ifif request(selstorage)=0 and request(mana

21、ge)= then msg=msg+隶属堆栈和是否可以治理其他堆栈至少选择一样!end ifsql=select * from user where username=&session(username)&rs.open sql,connif rs(in_storage)0 and request(manage) then msg=msg&rs(username)&自己就没有治理其他堆栈的权限,所以这里就不能选!end ifif rs(viewother)=False and request(view_other) then msg=msg&rs(username)&自己就没有检察其他堆栈的权

22、限,所以这里就不能选!end ifrs.closeif msg then showerror(msg)end ifsql=select * from user where username=&request.form(name)&rs.open sql,conn,3,2if not rs.eof then showerror(该用户名已经存在,请重新选用另一个试试!)else rs.addnew rs(username)=request.form(name) rs(password)=request.form(password) rs(memo)=request.form(memo)if re

23、quest.form(manage)= then if request.form(selstorage)0 then rs(in_storage)=request.form(selstorage) else rs(in_storage)=session(storage) end ifelse rs(in_storage)=0end if if request.form(view_other)= then rs(viewother)=Falseelse rs(viewother)=Trueend if rs.update ShowSuccess(数据已经乐成生存!)end ifrs.closee

24、lse%2.检察/删除员工信息页面设计:若治理员单击了“检察用户信息”超链接,将会进入如图所示的页面,在该页面上列出了所有使用该系统的用户名称、所治理的堆栈、最近登录时间等信息、实现要领:检察用户信息页面使用的是用户信息表,应用该表的username用户名、in-storage所在堆栈、login-time登录时间、memo备注等信息。实现文件viewuser.asp的代码段如下: 用户信息 姓名 所属堆栈代码 最近登录时间 备注操纵 a href=deluser.asp?id=删除该用户二 堆栈信息治理(本模块实现堆栈信息的新增和查询处置惩罚)1. 新增堆栈对付实际的应用,企业大概是单元的堆

25、栈肯定不止一个,因此这就要求系统必须具有增加堆栈的功效。这个堆栈在使用时与其他堆栈的使用没有任何干系,只是可以把它们放在一起进行检察,这是他们唯一的干系。效果图如下: 实现代码: %if Request.ServerVariables(REQUEST_METHOD)=POST thenif request.form(storagename) thensql=selec* from storage where storage_name=&request.form(storagename)&rs.open sql,conn,3,2if rs.eof then rs.addnew rs(storag

26、e_name)=request.form(storagename) rs(memo)=request.form(memo) rs.update ShowSuccess(数据已经乐成生存!)else showerror(该堆栈已经存在,请重新输入)end ifrs.closeelse showerror(请输入堆栈名称)end ifelse%2. 检察堆栈信息 三 库存治理1. 入库治理入库即操纵,是对堆栈的一个进的历程。需要输入商品的数量、单价、摘要、供给商等信息。故该页面的主要功效是显示该物品的一些根本信息如物品名称、当前的库存数目和单元等信息,并且收集客户端输入的待入库物品的数量、单价、供

27、给商等信息。%当用户填写完所需的信息后,单击“添加”,办事器将会把用户信息传给save-in.asp文件,其焦点代码: if msg then showerror(msg)end ifsession(selprovider)=request(selprovider)sql= update detail set jz_log=0 where name_id=&session(name_id)& and storage_id=&session(storage)rs.open sql,connsql=select * from detail where name_id=&session(name_i

28、d)& and storage_id=&session(storage) & and left_num0 order by idrs.open sql,conn,3,2if not rs.eof then sql=select * from detail rs3.open sql,conn,3,2do while not rs.eof rs3.addnew rs3(jz_log)=0 rs3(storage_id)=session(storage) rs3(provider_id)=request(selprovider) rs3(name_id)=session(name_id) rs3(r

29、q)=date() rs3(zl)=request(zl) rs3(hs)=request(hs) rs3(zy)=request(zy) rs3(now_num)=rs(now_num) rs3(now_price)=rs(now_price) rs3(now_sum)=rs(now_sum) rs3(left_num)=rs(left_num) rs3(jz_log)=1 rs3.updaters(left_num)=0 rs(jz_log)=0 rs.update rs.movenextlooprs3.closeend ifrs.closesql=select * from detail

30、rs.open sql,conn,3,2rs.addnewrs(jz_log)=1 rs(storage_id)=session(storage)rs(provider_id)=request(selprovider)rs(name_id)=session(name_id)rs(rq)=date()rs(zl)=request(zl)rs(hs)=request(hs)rs(zy)=request(zy)rs(in_num)=request(in_num)rs(in_price)=request(in_price)rs(in_sum)=rs(in_num)*rs(in_price)rs(out

31、_num)=0rs(out_price)=0rs(out_sum)=0rs(now_num)=rs(in_num)rs(now_price)=rs(in_price)rs(now_sum)=rs(in_sum)rs(left_num)=rs(in_num)rs.updaters.closeupdate_stockresponse.redirect list.asp?id=&session(name_id)2. 出库治理如果用户通过了验证,登录到治理页面,并且库存富足就可以进行出库操纵了。该页面表单的主要作用是收集出库物品的数量、提货单元等根本的信息。其焦点代码为:%CheckLogingetS

32、torage(session(storage)if request(id) thensession(name_id)=request(id)sql=select * from stock where name_id=&request(id)rs.open sql,conn,3,2if not rs.eof then session(name)=rs(name) session(now_stock)=&rs(now_stock)& &rs(unit) rs.close gettypepath response.write - &session(name)& else showerror(没有找到

33、记载!)end if%3.提货单治理四 用户治理1. 用户登录出于对系统的宁静考虑,需要给系统使用者提供一个登录系统的入口。该系统有一个登录系统的入口,要求系统使用者输入相应的用户名和密码,并凭据需求阐发分派出俩种权限-堆栈治理员权限和系统治理员权限。在该登录页面,用户输入完自己的用户名和密码,并在下拉列表中选择登录的堆栈,单价OK按钮后,表单将会被提交到loginchk.asp进行用户名和密码的验证。其部门处置惩罚代码如下:0 and rs(in_storage)-selstorage=0) or rs(in_storage)=0 then session(userlogin)=true s

34、ession(storage)=selstorage session(username)=user response.cookies(adminok)=true2. 用户修改密码%if Request.ServerVariables(REQUEST_METHOD)=POST thensql=select * from user where username=&session(username)& and password=&request.form(old_pass)&rs.open sql,conn,3,2if not rs.eof then if request.form(new_pass

35、)=request.form(confirm_pass) then rs(password)=request.form(new_pass) rs.update showsuccess 修改乐成! else showerror 错误! end if六 测试结果1.新增用户:2.新增物品类别:3.新增供给商类别4.新增堆栈5.新添物品6.货品清单7.供货商信息8.货品清单七 小结 完成这个超小型的堆栈治理系统之后,简直有许多的感触。 最深的感慨就是:学习软件专业,必须去实践,不然一切学习只能是纸上谈兵。 首先:开始的时候,我总是在想我的学习照旧不敷,这个堆栈治理系统该怎么弄呢?总是徘徊之中,不知道

36、从那边下手。 然后:我去图书馆找到一本关于数据库开发的书,我开始学习VBScript编程,虽然我们没有学过,但是因为有了学习语言的底子,另有足够的时间,我开始凭据那本书上教的一步步做,并且开始了对这个堆栈治理系统的思考,首先我对这个系统的界面进行了一定的思考。也查询了许多的学习资料。 与此同时,软件工程,数据库理论的学习,已经有了一定的火侯了,软件工程,从软件工程的角度更深度的考虑了,整个软件的流程!和软件开发的思路,这使得我的思路一下子就被买通了。数据库的理论学习中,我学到了E-R图,数据库的设计历程:需求阐发,提要设计,逻辑设计,详细设计,数据库的维护。这与我在软件工程当中学习的十分的吻合

37、! 最后:我开始我的制作,我是一边制作,一边思考,在制作的历程当中,我碰到了相当多的问题,我通过internet,通过其他同学,通过老师,将问题一个一个吃掉。那种快乐真的难以忘怀!当我解决了一个重要的问题的时候我们的心里久久难以平静!到了最终我照旧有了小小的结果。 在期间,我碰到的许多的问题,例如:1;将数据库的表的数据取出体现在系统界面上。我花了好长的时间。2;在配置IIs时也出了问题,凭据书上的做,总是有问题,厥后找了妙手帮我解决了。3; 满足种种需求的查询,我也考虑了许多的查询需求。最后照旧较满意。 我的这个软件只是小小的试试,学习的一个历程,如果要真正的完善这个软件另有许多的事情要去做。在Web应用中“回话状态”对付跟踪生存用户的操纵有着至关重要的作用。在本堆栈治理系统的开发中,由于用户登录系统以后需要在差别的页面 切换,而在这些页面中都需要显示该用户登录的堆栈,因此,把堆栈的编号生存到Session范畴中,就可以方便地在差别的页面中引用它。但是在带来方便的同时,也支付了性能上的代价。当大量用户访问时,将会占用大量名贵的办事器内存。在实际应用中照旧应该尽量少用Session东西来生存变量。例如:1;我还没有时间进行当客户使用时候,输入破坏了数据库完整性,给客户与提示。2;另有临时表的创建。3;数据存储历程的创建,索引得 创建,4;种种完善的,凭据

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号