牯牛降野生观赏植物数据库的构建

2014-08-15 00:55文萍芳
山东农业工程学院学报 2014年4期

文萍芳

(池州职业技术学院,安徽池州247000)

1 引言

作为一个国家级的自然保护区,牯牛降自然保护区拥有丰富的野生观赏植物,区内野生植物群落结构较为丰富,资源充沛。据统计,牯牛降自然保护区内高等植物大约有176科,共计1209种,其中野生观赏植物大概140科,共计491属944种。在观赏植物中,尤其以菊科植物种类最多,其次是乔木类壳斗植物,其次是灌木种类的蔷薇科。并且,牯牛降自然保护区内存在许多其特有的品种,比如白穗花、安徽报春、安徽槭、紫荛花、永瓣藤等,以及许多古老孑遗种,比如香榧、银鹊树、银杏。在区内,存在多种观赏植物,其中观果植物131种,观型植物96种,草本类273种,乔木类59种,灌木类119种,观叶植物129种,适合做岩生绿化植物31种,合做藤本的植物84种,适合做保健植物或药用价值的300余种,水生或湿生植物27种左右[1]。

2 牯牛降野生观赏植物基础资料收集

建立野生观赏植物数据库之前,首先要收集基本的资料,确认观赏植物归属种类,科属等信息[2]。本文开发设计的数据库系统共收集了野生观赏植物大概140科,共计491属944种,具体包括灌木、乔木、藤本植物、丛生植物、水生事务、草坪植物和草本花卉等。包括所有植物的文字性资料和图片资料,包括形态图片和应用图片等多种形式。根据野生植物的实际应用对其进行了定义,包括中文名称、俗名、分类、科别、地域分布、温度习性、土壤习性、光习性、抗污染习性、生长周期、生长速度、观赏特性、植物图片等。

3 牯牛降野生观赏植物数据库开发与设计

3.1 数据库服务器平台。目前,数据库发展经历了网状数据库、层次数据库和关系数据库,其对应的数据库模型也是网状模型、层次模型和关系模型,尤其是关系数据库,其逻辑信息结构是一张表[3]。因此,只需要维护一张表即可,其优点是数据结构简单,表达能力强,能够更好的处理复杂数据,并且数学基础支撑较为完善,当前先进的数据库均为关系数据库,比如SQLserver系列数据库、FoxBASE系列数据库和DEBASE系列数据库。本文选用关系数据库作为数据库模型。

本文在开发设计观赏植物数据库的过程中,使用微软开发的Access数据库,该数据库系统易学、易于使用,在任何一台电脑上配置Office2007系统软件即可[4]。作为一种关系数据库,Access数据库是一种基于Windows桌面开发的关系数据库管理系统,是一种为中小型用户服务的数据库系统,广泛的应用于现代数据库使用领域。作为一个强大的管理信息系统的支撑平台,其界面友好,使用环境简单,兼容性强,无需安装其他数据库服务系统。

(1)界面友好:Access数据库具备便捷的设计菜单和编程环境,易于开发人员掌握;

(2)可以与Excel共享数据信息:Access数据库中的数据表通过操作导出的浏览结果,可以导入到Excel,或者与其他文档合并,能够实施批量处理。

(3)提供多种时间生成的方式:Access数据库可以为程序员提供表达式、VBA和宏等事件编码方式,并且可以互相结合,以便程序员开发过程中实现某一具体的复杂事件。

(4)具有强大的功能想到。Access数据库可以为程序员提供窗体、表格、报表、宏、查询、页、模块等7种营养程序,建立数据库系统对象,并且其拥有多种生成器、向导、模板,能够使用数据查询、存储、报表生成和界面设计等方式规范用户操作。并且在开发过程中,多使用向导,不需要编写代码,因此易学易用,非常简单。较同类数据库具有强大的普适性和操作性,

3.2 野生观赏植物数据库设计

3.2.1 数据库系统设计。数据库系统设计是一个高性能的数据库实现的基本步骤之一,也是必不可少的前期需求准备工作。数据库设计人员首先需要对使用数据库的用户环境进行需求分析,以便能够确认用户实际需要的操作和功能,采用模块化和结构化设计方案,抽象建模,导出系统的E-R图[5]。

(1)系统功能需求。数据库的功能需求分析是非常重要的,其可以有效的避免造成多次开发,因此前期需要对系统的资料实施清晰的核查和调研。一是对牯牛降野生观赏植物进行资料收集、分类,将资料按照不同的分类方式,录入系统,同时能够实现信息的查找、删除和修改,系统的运行要能够可靠、稳定和快速。根据系统需求,数据库系统包括以下几个模块:

数据处理功能:手机牯牛降野生植物的基本资料,对其实施预处理,将其录入系统,并且能够实施处理功能,包括数据修改、删除等更新功能;

数据查询:按照野生植物的科属、种类、株高、生长周期等属性进行查询,以便能够方便的实施系统数据输入输出[6]。

(2)数据库系统表设计。在关系数据库中,关系表可以用来存储原始的数据信息,因此,在创建关系表时,必须设计好列的名称、列的长度、每一列的数据类型和索引等。数据类型有很多种,比如文本类型、数值类型、浮点类型、时间类型、字符类型等。在野生植物数据表设计过程中,数据库要考虑选择合适的数据字段类型,并且设置数据字段的长度,以便能够降低数据冗余,由于在野生植物数据库中,植物的信息描述通常采用文本类型,因此,如果文本字段类型的长度太大,将会大大的增加数据库的信息存储量,如果字段太小,将会导致数据信息丢失[7]。关系表的每一行都表示一个唯一的可被识别的数据实体,表示一种野生植物,根据野生植物的类别不同,可以建立各种植物,比如一年生植物、水生植物、乔木、藤本植物,通过表之间的关系,构成一个关系数据库。

(3)数据库查询功能的实现。根据植物中的一年或二年生植物、宿根植物、水生花卉、球根花卉、藤本植物、乔木、灌木、观赏草,牯牛降野生观赏植物数据库共需要建立8个表,建立适用牯牛降使用的野生观赏植物总查询,这个查询包含了这8个表中的任何一个字段。在总查询的建立过程中根据树木的形态去查询植物的材料、根据生长期去查询植物的材料、根据名称去查询植物的材料、根据株高去查询植物的材料、根据科属去查询植物的材料,共五个查询,查询建立的过程大同小异。

(4)查询界面的开发过程。数据库管理系统的构建过程中,最关键的是窗体的建立。因为数据库系统的使用最常见的就是对窗口的操作,所以,数据库功能的正常实现与否基本上取决于窗体的设计是否完备。Access中有功能比较强大的窗体设计的向导,在设计中除了有些操作特别复杂外,都可以用系统中提供的常见向导模块[8]。其中窗体事件中比较复杂的可以用编辑宏组来实现。

(1)空白窗体的创建过程。打开用来进行窗体建立的数据库。找到这个数据库中的对象列表,在列表中找到选择窗体这个选项,然后选择设计视图功能中的窗体创建项。单击表明新建窗口的按钮,随后弹出的窗口新建对话框。找到窗体新建所在列表中的视图设计选项,接着找到确定按钮单击,随后会出现空白窗体,便可以在窗体的设计视图完成窗体的设计。

(2)主窗体的设计与实现。在主窗体中有系统标题等五个不同功能的按钮。窗体的创建关键过程是用窗体控件来进行有关的设计制作。通过标签控件来进行系统标题创建;通过图像控件来建立主控图像;通过命令按钮来进行各个功能的选项创建。默认的视图:单个窗体;标题:创建作者;可否删除:否;可否编辑:否;可否添加:否;记录选定标签:否;边框的样式:无;宽度:16cm;关闭标签:否;最小、最大按钮:无;图片放缩模式:伸拉;图片样式:嵌入;菜单栏目:系统菜单。

(3)浏览窗体的设计。窗体属性的标题:资料的概况;默认的视图:独个窗体;可否删除:否;可否编辑:否;滚动条有无:两者都无;可否添加:否;记录选定标签;是;导航的按钮:是;边框式样:对话框的边框;分隔线:是;最小、最大按钮:无;宽度:16cm;关闭的按钮:否;图片放缩模式:伸拉;图片样式:嵌入;图片对齐的方式:居中;快捷按钮:是;菜单栏目:系统菜单。

(4)查询窗体的设计。窗体属性的标题:查询的结果;可否删除:否;可否编辑:否;滚动条有无:两者都无;可否添加:否;记录选定标签;是;导航的按钮:是;边框式样:细边框;分隔线:是;宽度:19cm;菜单栏目:系统菜单。

(5)编辑窗体的设计。窗体属性的标题:整合编辑;可否删除:是;可否编辑:是;滚动条有无:两者都无;可否添加:是。

3.3 野生观赏植物数据库应用。野生植物数据库建立之后,数据库实现了动态更新,其内容可以随时更新、录入不同植物的数量和种类,其分布区域等相关信息,同时,该系统为用户提供了多种查询方式,不但能够实现单一查询,也能实现关键词组合查询,快速的查询到相关的植物信息。

比如单一条件查询,用户只需要输入植物的名字,即可查询该类植物的数量、生长周期、分布区域等信息;如果用户不知道某一种植物的确切名字,仅仅得到了该植物的相关生长习性、分布区域,即可将这两类关键词相组合,查询到期望的植物等信息,并将信息在结果列中表现出来。

[1]戴启培.牯牛降野生观赏植物资源调查与评价研究[D].南京林业大学.2010

[2]刘志勇,张金波,王威,苗昊翠,马艳明,颜国荣,白玉亭.保护新疆植物种质资源合理开展资源创新与利用[J].新疆农业科学.2011(09)

[3]徐坤.宁夏野生食用植物资源的调查与信息数据库的建立[J].中国野生植物资源.2009(04)

[4]张茂震,唐小明,谢阳生,丁丽霞.森林资源数据库系统查询效率分析[J].浙江林学院学报.2009(02)

[5]张宇,王雨华.中国植物名称数据库的建设及若干问题的探讨[J].云南植物研究.2010(05)

[6]张南宾,丁廷发.重庆市园林植物数据库管理系统的研究与开发[J].农业与技术.2008(01)

[7]叶文艳,袁剑华.园林植物数据库构建研究[J].中国园艺文摘.2011(07)

[8]吴福明.论关系型园林植物数据库建立与检索[J].北方园艺.2010(12)