《森林经理学实验报告D139748.docx》由会员分享,可在线阅读,更多相关《森林经理学实验报告D139748.docx(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、56森林资源二类调查数据库系统分析设计说明书森林资源二二类调查数数据库系统统分析设计说说明书目录1系统概述21.1背景21.2目标21.3环境22.系统分析与设计32.1 系统功能需求32.2 系统总体设计42.2.1 功能结构42.2.2 数据描述103. 系统实现123.1 开发工具123.2 数据库的建立123.2.1建立并连接SqlServer或ODBC数据源133.2.2向数据库导入Excel数据163.3 Powerbuilder连接数据库193.4 用户登录模块实现263.5. 主界面与菜单实现273.6. 修改模块实现323.7. 录入模块实现433.8. 查询模块实现483.
2、9. 统计输出模块实现49森林资源二二类调查数数据库系统统设计说明书书1系统概概述1.1背景景森林资源信信息是指反反映林木生生长状况、生生长环境及及其生长紧紧密相关的的营林技术术措施、方针政政策等信息息。森林具具有生长、消消亡和再生生长的能力力,随着森森林的自然然生长、枯枯损和人为生产活活动的开展展,森林资资源时刻都都在变化着着;再加上上森林资源源分布广,生生长周期长长、信息量大等特特点,使得得传统的森森林资源信信息管理难难度很大,效效率也十分分低下,难难以满足现现代林业发展的需需要。利用用现代信息息管理技术术则可以很很好地解决决这些问题题。森林资源二二类调查的的任务是了了解森林资资源的状况况
3、,而其目目的是:掌掌握森林资资源的动态态变化规律律,为制定定下一阶段段林业发展展规划,编编制森林采采伐限额,建建立和完善善地方森林林资源监测测体系,考考核“造林绿化化”和保护森森林资源目目标完成结结果等提供供科学依据据。1.2目标标根据森林林资源保护护与利用需需要,利用用关系数据据模型,可可视化技术术, 面向对对象的方法法以 GIS 技术,对对系统进行行了数据设设计及功能能设计,建建立系统框框架,完成成了结构设设计。并选选择二类调调查数据进进行了系统统的实际建建立工作,最最终Powwerbuuildeer 程序设计计语言和qqlSerrver22008完完成了计算算机森林资资源管理地地理信息系
4、系统的界面面设计和程程序设计,实实现系统主主要的空间间信息管理理和属性信信息管理功功能。1.3环境境硬件环境境:多媒体体计算机 Inttel PPentiium 44 或 1000%的兼容容处理器(CPU) 1GBB 以上的的内存(RRAM) 3200GB 以以上的硬盘盘可用空间间 2566 色或更更高的显示示适配器及及兼容监视视器 DVDD-RW 驱动器 Miccrosooft WWindoows 77 与Micrrosofft Viideo for Winddows 或 Appple QQuickkTimee 兼容的的视频采集集卡(可选选)软件环境:Winddows77、PoweerBui
5、ilderr 12.1,SqlSServeer20008 R22素材资料:实验指导导书、图书书馆书籍、网网络搜索2.系统分分析与设计计2.1 系系统功能需需求1、数据的的采集和输输入:把分分散在各处处的数据进进行收集并并将整理好好的数据通通过一定的的设备输入入到信息系系统中。这这一步工作作的质量是是整个信息息系统是否否正确发挥挥作用的关关键。2、数据的的存储:管管理中的大大量数据处处理通过共共享并且需需要多次使使用。这就就要求将大大量的数据据存储起来来,通常这这些数据被被保存在外外部存储介介质中,以以便需要随随时进行存存取和更新新。3、数据的的加工处理理:数据的的加工处理理是信息系系统的一项项
6、重要功能能。进入信信息系统的的数据,都都需要经过过加工处理理,才能产产生有用的的信息。4、数据传传输:为了了把数据或或信息从一一个子系统统传送到另另一个子系系统,或者者在信息系系统内部进进行数据的的处理都涉涉及数据的的传输问题题。5、数据传传输:包括括计算机系系统内和系系统外的传传输,计算算机传输即即以计算机机为中心,通通过通信线线路与其它它近、远程程终端连接接、形成联联机系统或或通过通信信线路将微微小型等计计算机联网网。除计算算机传输外外还有人工工和盘片传传输。人工工传输是 以各种单单据、报表表、计划等等文字形式式传输。盘盘片传输是是将要传输输的数据录录入到磁盘盘或其它外外存进行传传输。数据
7、据的传输速速度和准确确程度是数数据传输的的主要性能能指标。6、信息输输出:信息息系统输出出功能的完完善与否,输输出与格式式直观方便便与否,直直接关系到到信息的使用用效果和信信息系统效效能发挥。因因而对系统统输出的信信息,又尽尽量使其易易读易懂,符符合信息使用者者的习惯和和要求。7、 信息息维护:信信息的维护护就是保护护信息处于于适用状态态。2.2 系系统总体设设计2.2.11 功能结结构(1)模块块划分本系统有以以下功能模模块:1) 用用户登录 模块 2) 主主界面 模块 3) 数数据插入 模块 4) 数数据检索修修改 模块 5) 数数据查询 模块6) 数数据统计导导出 模块 7)帮助模模块(
8、2)模块块功能描述述1)用户登登录:用户只需要要在用户名名密码中输输入自己相相应的帐号号密码按登登录按钮既既可登录系系统,弹出出主界面,若若用户名密密码错误,则则会提示登登录错误。单单击取消按按钮可以退退出程序。2)主界面面菜单功能能在主界面用用户将鼠标标移到菜单单上的项,会会弹出该项项的子项,单单击一项,便便可以弹出出相应窗口口执行相应应操作。,就就如单击打打印输出按按钮,就弹弹出“森林林资源二类类调查系统统打印输出出”界面。3)数据录录入功能用户可以自自己输入东东南县20011表中中的所有字字段,也可可以填写部部分。关键键字为必填填,应为是是该表的主主键。其它它的字段也也有约束,程程序已经
9、实实现表单验验证功能,一一旦用户输输入不符合合预定的要要求,系统统将向用户户发出警告告,并把光光标跳转到到错误行,提提示用户再再修改。然然后,用户户可以单击击添加按钮钮将该表单单中的临时时输入内容容写入Daatawiindoww,然后单单击确认按按钮便提交交到数据库库,完成数数据的插入入。如果还还想再看下下刚刚填写写的数据是是否真正插插入到了数数据库,可可以单击检检索按钮,程程序便会向向数据库中中读取刚刚刚插入的数数据,以便便用户核对对。要是用用户觉得插插入错误,想想删除刚刚刚插入的数数据,只要要单击删除除按钮既可可。4)数据检检索与修改改功能在检索数数据页面,单单击检索按按钮,便可可以显示数
10、数据库中“东东南县20001”表表的所有行行,关键字字设定为不不可修改,应应为它作为为主键,根根据它才可可以实现其其它字段的的修改。当当用户选择择关键字右右边的任何何一行所对对应的列时时,光标都都会变为可可编辑状态态。用户可可以根据需需要修改其其中的数值值。(各数数值代表的的意义可以以参考森林林资源代码码 如:林种:用材林2210,经经济林2330,薪炭炭林2200,防护林林120,(商商品林)特特种用途林林110, 1100有林地1220疏林 1330灌木林林地1400无立木林林地1500苗圃地2110乔内荒荒地2200乔外荒地等等等)修改改完的数据据只是存储储在Dattawinndow中中
11、,所以必必须单击提提交按钮完完成修改。5)查询功功能上图所示的的查询结果果是由如图图提示框中中的语句产产生的,用用户在查询询条件栏中中需要通过过下拉框需需要查询的的列,查询询操作符,再再在后面的的文本框中中输入一个个值,程序序便会自动动合成一个个查询表达达式,并通通过这个查查询表达式式从数据库库中检索那那一部分数数据显示在在DataaWinddow中。6)统计输输出功能打开此模块块,左侧将将会有七张张导出表供供选择,用用户可以选选择其中一一条,点击击插入数据据,下面的的文本条中中显示查询询语句,并并会以MeessaggeBoxx提示数据据库中插入入表和录入入数据的成成功与否。如如果提示成成功,
12、用户户可以点击击转换输出出按钮,数数据库中相相应表的数数据会以文文本文件形形式导出,并并以DattaWinndow形形式在右侧侧显示,以以方便用户户查阅。用用户可以任任选一张表表,重复上上述操作。2.2.22 数据描述述(1)数据据库表结构构建立打开PowwerDeesignner单击菜单SSybasse-新建模模型-cconceept mmodell(概念模模型)在右侧栏点点选Entitty ,新新建两个表表,并双击打打开,coode最好好用英文,m强制输入,p主码其中一张表表是小班表表,另一张张是林种表表。建立它它们的字段段如下图所所示。点选右侧工工具栏的RReleaationnshipp
13、 从树种表表到小班表表拖出一条条直线。转换数据库库:Toolss phyysicaal daatamoodel.在dbmss里选择sqql 20000数据库-updaatamoode ffrom dataabasee选择 seleecionn里的dattasouurce (2)基本本查询语句句Selecct suum(面积积) frrom 小小班 whhere 地类=纯林 andd 权属=国有 andd 森林类类别=公益林Selecct 权属属,森林类类别,suum(面积积) frrom 小小班 whhere 地类=纯林grouup byy 权属,森森林类别(3)数据据分类:森林类别:生态公益
14、益林,商品品林林地所有权权:国有,集集体,人工工林地所有权权,林木所所有权,起起源,林种种,优势树树木,地类类,森林类类别起源:飞播播,天然,人人工(4)类别别代号100-2200生态态公益林2200以上上商品林林种:用材材林2100,经济林林230,薪薪炭林2220,防护护林1200,(商品品林)特种种用途林1110,110有林林地1200疏林 1330灌木林林地1400无立木林林地1500苗圃地2110乔内荒荒地2200乔外荒地3. 系统统实现3.1 开开发工具PowerrBuillder美美国Sybbase公公司研制的的一种新型型、快速开开发工具,是是客户机/服务器结结构下,基基于Win
15、ndowss3.x、WWindoows955和WinndowssNT的一一个集成化化开发工具具。它包含含一个直观观的图形界界面和可扩扩展的面向向对象的编编程语言PPowerrScriipt,提提供与当前前流行的大大型数据库库的接口,并并通过ODDBC与单单机数据库库相连。SQL SServeer 20008是一一个重大的的产品版本本,它推出出了许多新新的特性和和关键的改改进,使得得它成为至至今为止的的最强大和和最全面的的SQL Servver版本本。这篇文文章详细介介绍了Miicrossoft SQL Servver 22008中中的新的特特性、优点点和功能 在现现今数据的的世界里,公公司要获
16、得得成功和不不断发展,他他们需要定定位主要的的数据趋势势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。3.2 数数据库的建建立3.2.11建立并连连接SQLLSERVVER或OODBC数数据源在控制面板板里性能维维护-管理工工具选择: 数数据源-创建新数数据源,选选择exccel ddriveer(*.xls)数据源名名自己设置置myexxcel997-20000点确确定后双击击myexxcel997-20000,选选择数据源源,点击工工作簿,
17、选选择东南县县.exccel选择upddata modeel frrom ddatabbase 选择sellecioon 的usinng a dataa souurce-ODBBCmacchinee下拉框里里选exccle点击击modiify,再再选择工作作簿,最后单击确确定-CConneect既可可自动的创创建数据库库并建表。3.2.22向数据库库导入EXXCEL数数据首先,通过过SqlSServeer的企业业管理器,右右键点击数数据库-新建数据据库,设置置数据库名名MyFoorestt打开SqllServver自带带的“导入入导出数据据”,数据据源选择eexcell97-22000,选择文
18、件件名为东南南县: 下一步使用用sql身份份验证,填入相应应的用户名名密码数据库选择择刚刚新建建的为MyyForeest或者者新建一个个数据库名名为TreeeMannagemment导入完成后后,测试导导入的数据据库,结果果如下:3.3 POWEERBUIILDERR连接数据据库(1)在PPowerrbuillder工工具栏中点点击db prrofille,进入入(2)双击击ODB ODBCC下Utiilitiies下的的Creaate OODBC Dataa Souurce,进进入(3)选择择文件数据据源(F),点点击下一步步,进入(4)选择择SQL Servver, 点击下一一步,进入入(
19、5)填写写数据源名名称(自己己随意给定定,这里给给fmsyys),如如果需要,单单击浏览按按钮,选择择保存数据据源的位置置;点击下下一步,在在新界面中中点击完成成,进入(6)在上上面填入描描述(描述述也可以空空着)和服服务器名称称(必须填填,就是你你目前登录录的SQLL Serrver服服务器,就就是你的机机器名);点击下一一步,进入入(7)选择择“实用用用户输入登登录ID和和密码的SSQL SServeer验证(S)”,输输入正确的的登陆IDD和密码,这这里均为ffmsyss;然后点点击下一步步,进入(8)在以以上界面中中,确认默默认数据库库名为fmmsys,否否则应选中中“更改默默认数据库
20、库名为(DD)”,更更改数据库库名;点击击下一步,进进入(9)在此此不修改其其他内容,点点击完成,进进入(10)点点击测试数数据源,弹弹出测试结结果(11)点点击确定,返返回以上界界面(ODDBC MMicroosoftt SQLL Serrver安安装);点击界面中中的确定。至至此,数据据源创建完完毕。(12)选选择ODBBODBCC,单击右右侧的Neew建立自自己的数据据库首选项项(12)在在弹出的对对话框中DDataSSourcce选择刚刚刚建立的的fmsyys名称填填Foreest(13)选选择Preevieww选项卡,保保存链接字字符串以备备后用。(14)点点选DBPProfiile
21、s中中的Forrest右右侧Connnectt。3.4 用户登录录模块实现现(1)用户户界面如图图所示:(2)在SSQL SServeer中的MMyForrest数数据库中建建立Useers这张张表,用来来管理登录录的用户的的基本信息息。代码如如下:creatte tablle userrs(userrid int primmary key,userrnamee varcchar(20),userrleveel int,passswd varcchar(50) not nulll);goinserrt intoo userrs valuues(1,张,1,张);inserrt intoo us
22、errs valuues(2,王,1,王);inserrt intoo userrs valuues(3,zhaang1,1,zhaang1); (3)PoowerBBuildder的界界面设计中中插入静态态字段、文文本框以及及按钮等,做做一个基本本的登录的的界面:(4)在登登录按钮的的单击事件件中:首先先定义字符符串类型的的in_uuseriid,inn_passsws,db_uuseriid,dbb_passsws,用用来读取这这两个文本本框中的用用户名和密密码字段,然然后通过查查询数据库库中已有的的userrid和passswd,若若在数据库库中出现说说明用户名名密码输入入正确,用用户即
23、可点点击登录按按钮直接登登录,若输输入错误,则则不能进入入系统。3.5. 主界面与与菜单实现现(1)在ppowerrbuillder工工具栏中点点击neww,进入(2)选择择workkspacce,单击击OK(3)填写写文件名ffmsyss,然后保保存,即完完成worrkspaace的建建立。然后后重新点击击poweerbuiilderr工具栏中中点击neew,进入入(4)选择择targget标签签,在该界界面中选中中第一个图图标(Apppliccatioon),即即建立应用用,点击OOK,进入入(5)在以以上界面中中,先输入入应用名(AAppliicatiion NName),然然后点击库库
24、名(Liibrarry),应应用程序文文件名(LLibraary)以以及路径会会自动生成成,同时生生成的还有有Targget(目目标)文件件名及其路路径,这里里不作修改改,点击FFinissh。(6)以上上界面为一一个应用程程序框架,其其程序入口口为fmssys.ppbl下的的应用(aappliicatiion)。在appplicaationn的事件中中可以编写写应用程序序要执行的的代码,这这是程序运运行最开始始要执行的的代码。一一般在这里里写连接数数据库和打打开主窗口口的代码。双击myeexerccise11,右边的的事件oppen下面面的scrriptss窗口中写写入从前面面临时文本本保存
25、的数数据库链接接参数。/ Prrofille FooresttSQLCAA.DBMMS = ODBBCSQLCAA.AuttoCommmit = FaalseSQLCAA.DBPParm = CConneectSttringg=DSSN=fmmsys;UID=sa;PPWD=00000000Conneect UUsingg SQLLCA;IF SQQLCA.SQLCCODE 00 THEENMesssageBBox(,数数据库链接接错误,错错误是:+SQLLCA.SSQLERRRTEXXT)END IIF(7)创建建一个新窗窗体,在新新窗口中插插入标题:点击Innserttconttrolss
26、tatiictexxt,再在在窗口上点点击鼠标,即即在窗口上上插入了静静态文本对对象。编辑辑字体、字字号、位置置,结果如如下:(8)新建建标题选择择Menuu,单击OKK,得以下下界面(即即菜单)(9)在菜菜单项根部部点右键在在弹出菜单单中选择IInserrt SuubMennu Ittem可以以增加子菜菜单。重复复此过程,添添加“查询询”、“统统计”、“帮帮助”三个个菜单项。最最后结果如如。(10)在在窗口对象象属性中,选选择右边按按钮或直接接输入菜单单名。按选选择,则有有(11)从从已有菜单单中选择,按按OK至此,菜单单m_maain已经经添加于窗窗口w_mmain之之上。3.6. 修改模
27、块块实现(1)新建建一个Grrid的数数据窗口(2)在快快速选择对对话框中选选择东南县县20011表中的所所有字段。(3)设置置Dataawinddow的字字体颜色及及行背景颜颜色。(4)调整整字体和位位置:鼠标标单击数据据窗口对象象中的“关关键字”,再再按ctll-a,选选择数据窗窗口对象中中所有的对对象,选中中者四角有有小黑点。然然后在属性性中选择FFont,将将12号字字改为8号号字。用鼠鼠标拖动网网格线,调调整行距。(5)调整整完毕,按按保存。保保存数据窗窗口对象名名为d_iinputt。(6)通过过数据窗口口空间将数数据窗口对对象加入窗窗口对象(7)在窗窗口上插入入数据窗口口控件点击
28、菜单IInserrtConntrollDataaWinddow,然然后在窗口口空白处点点击,得数数据窗口控控件。通过过鼠标适当当调整其大大小,位置置(8)插入入静态文本本作标题输输入“森林林资源二类类调查数据据录入”,调调整字体、颜颜色、字号号等,最后后得。检索数据双击myeexerccise11,打开窗窗口命令修改代码为为/ Prrofille FooresttSQLCAA.DBMMS = ODBBCSQLCAA.AuttoCommmit = FaalseSQLCAA.DBPParm = CConneectSttringg=DSSN=fmmsys;UID=sa;PPWD=00000000Co
29、nneect UUsingg SQLLCA;IF SQQLCA.SQLCCODE 00 THEENMesssageBBox(,数数据库链接接错误,错错误是:+SQLLCA.SSQLERRRTEXXT)elseOpenn(w_mmain)END IIFelseOpenn(w_mmain)在w_innput打打开事件中中输入/把最开开始用的数数据库连接接参数SQQLCA接接过来Dw_1.SetTTranssObjeect(SSQLCAA);插入一个命命令按钮双击按钮进进入代码模模式输入代码/检索按按钮代码Dw_1.retrrievee();(9)设置置菜单代码码(10)修修改数据窗窗口对象的的更新
30、属性性101双双击左边列列表中的dd_inpput10.2在在菜单中选选择RowwsUpddate proppertiies在界界面中选中中“Alllow UUpdattes”,选选择tabble tto uppdatee(要更新新的表名),在在Updaateblle coolumnns中选中中除关键字字以外的所所有列,选选择uniique key coluumn为关关键字字段段。(11)点点击tabb ordder 按按钮,设置置tab ordeer如下(12).在数据窗窗口对象中中设置域检检查,满足足最基本的的检查要求求12.1在在固定小班班号的Vaalidaationn Exppress
31、sion中中双击,弹弹出编辑框框12.2输输入isNNumbeer(getttext(),意意为检查输输入的是否否为数字。然然后用右边边的Verrify按按钮检查语语法是否正正确。如果果正确,单单击OK,回回到上面的的编辑界面面。12.3在在同一行的的Valiidatiion MMessaage列中中双击,在在弹出对话话框中输入入出错提示示信息“输输入错误,必必须为数字字,请重新新输入!”12.4字字符型域检检查字符串串长度是否否符合要求求,这里以以关键字为为例;仍然在数据据窗口对象象d_innput的的编辑状态态,双击窗窗口下部“关关键字”行行的Vallidattion Exprressii
32、on列,出出现对话框框。在对话话框中输入入:Lenn(getttextt()=9 在同一行的的Valiidatiion MMessaage中输输入“长度度必须为99位,请重重新输入!”数值型域设设置取值的的上下限或或范围,这这里以坡向向为例(坡坡向代码为为1-9);12.5仍仍然在数据据窗口对象象d_innput的的编辑状态态,双击窗窗口下部“坡坡向”行的的Valiidatiion EExpreessioon列,出出现对话框框。在对话话框中输入入:nummber(getttext()00 andd nummber(getttext() 4然后后用dw_11.settSQLSSeleccted(
33、s1)执执行查询,将将查询结果果在dw_1中显示示dw_11.rettrievve(),然然后将记录录数目填入入sle_recoords.textt,用户可可以看见查查到了几条条记录。3.9. 统计输出出模块实现现(1)设计计用户界面面如下图所所示(2)定义义全局变量量Striing ccolnaame_ttab0xx表示示每一张输输到数据库库的表中的的字段名Strinng cooltyppe_taab0x为其字字段的变量量类型Innt collnum_tab00x表示字段段个数,这这些全局变变量的定义义,都是为为了下面的的函数中的的调用提供供方便。(3)就以以tablle03为为例,首先先设
34、定建表表函数crreatee_tabb03(),sttringg ss这里先定义义一个建表表语句sss,引用全全局变量中中的字段名名,字段类类型,组合合起来执行行,便实现现了往数据据库中插入入表的操作作。ss = creeate tablle Taable003(+ collnamee_tabb0311+ + colttype_tab0031。Execuute IImmeddiatee :sss;returrn SQQLCA.SQLCCODE(4)然后后是往建好好的表中插插入原始数数据1.定义游游标C1 执行查询询seleect 林林种,地类, 龄组,suum(小班班面积),sum(活立木蓄蓄
35、积) ffrom 东南县20001 ggroupp by 林种,地类,龄组定义游标CC2 执行查询询seleect ddistiinct 林种 frrom 东东南县20001 oorderr by 林种2.Fettch CC1 Innto :foreesttyype(林林种)ii,:llandttype(用用地类型)i,:agegroup(龄组)i,:area(面积)i,:volume(蓄积)i;Fetchh C2 Intoo :ftt(林种)i;得得到所有的的林种3.将获得得林种按顺顺序填入输输出的表第第三列taab2ii,4=fti;4.根据林林种遍历ffor iii =11 to (林种
36、行行数 - 1) FFor ii = 11 To 数据库中中tablle03行行数更具乔木木林、竹林、红树林、疏林、国家特别别规定灌木木林、其它灌木木林进行统统计其中乔木木林再按龄龄组分类统统计5. sss = deleete ffrom Tablle03生成删除除语句,删删除表中所所有行6.遍历inseert iinto Tablle03 valuues( + ss;创建插入入语句,并并执行,可可将程序中中的tabble033这个表转转存到数据据库中。7. 执行行查询Exxecutte Immmediiate :inss_strr;并关闭游游标Cloose C2;CClosee C11;(5
37、)最后后将数据库库中表写入入文件1.定义进进度条长度度hpb_1.SeetRannge(00,1000)设定进度条条初始位置置hpb_1.offfsettpos(0);慢慢的滚动动for j=1 to 1100hpb_1.Sttepitt() sleeep(0.3) nexxt2.建立查查询表的语语句 s22 = seleect * froom Taable00+ sstrinng(iii_sellecteed_taablennum)3.定义游游标C1PREPPARE SQLSSA FRROM :s2;后后打开OPPEN DDYNAMMIC CC1;然后遍历历读取数据据到数组ddata :ddo whhile sqlcca.sqqlcodde=0FETCCH C11 INTTO :ddata1,:dataa2,:datta3,:daata44,:ddata5。将读取的的那一行写写成一个插插入语句lls_naame= colnname_tab002iii +=+ddataii+ ;然后插入入dw_11.moddify(ls_nname),使dw_1显示插插入的数据据4.最后判判断返回的的数确定语语句执行状状态st_2.teext=表+sttringg(ii_seleectedd_tabblenuum)+输出成功功!
限制150内