2. Разработка предметно ориентированной базы данных и приложений СУБД для автоматизированного анализа структуры сообществ афидофагов Процесс разработки приложения обязательно должен включать этап планирования, то есть разработки проекта структуры создаваемого приложения. Основы методологии проектирования прикладных программ были заложены в 60-х годах Дж. Мартином, Э. Иорданом. А. Константайном. В то время разработка программного обеспечения была чрезвычайно дорогостоящей, а на написание лишь каких-нибудь двух строк программы уходило больше времени, чем на разработку собственно проекта программы. Хотя одним из несомненных достоинств реляционных баз данных является то , что в них легко вносить изменения, неоднократные и существенные переделки приложения отнимают на порядок больше времени, чем требуется на разработку его проекта. Поэтому рациональнее с самого начала поставить задачи, составить описание структур данных, необходимых для решения этих задач, и определить взаимосвязи между задачами разрабатываемого приложения.
Первоначально нами была проанализирована предшествующая практика использования бумажных носителей (карточки, журналы), а также созданной на базе процессора ASPID__TG схожей объектно ориентированной базы данных “Colony”. На карточках и в поле базы данных "примечания" делались записи, не предусмотренные в первоначально разработанных формах. Эти дополнения, а также та информация, отражение которой на карточках было явно нецелесообразным (например принадлежность растения к определенному ботаническому семейству), но может оказаться полезной для автоматизированного анализа, были учтены при создании сводного списка параметров (элементов базы данных), которые необходимо или желательно регистрировать при обследовании колоний. Для каждого параметра был определен характер заносимой информации (текстовая, числовая, логические альтернативы и т.п.), детерминирующий тип поля в таблице БД, и характеризуемый объект (тли, растения, географическое положение и т.д.) (табл. 4.1).
Следующим этапом был анализ созданного списка парамегров. В частности, необходимо было дифференцировать их по тем объектам, которые они характеризуют. Число такиx объектов не может быть слишком большим, иначе это приведет к неоправданному усложнению структуры БД. Важно также учесть особенности процедуры ввода данных. По вышеприведенным критериям были выделены следующие объекты с блоками характеризующих их параметров:
колонии; -тли;
растения-хозяева;
посещающие колонии муравьи;
афидофаги;
географические данные (точка сбора информации);
датировка обследования;
погодные условия;
другие экологические данные.
Поскольку сбор информации производится ограниченным числом исследователей, дата/время и погодные условия будут скорее тесно связаны, и разведение этих данных по разным таблицам приведет к дублированию информации и неэффективному использованию памяти. С другой стороны, в значительном проценте обследуемых колоний афидофаги не регистрируются. Поэтому по аналогичным причинам имеет смысл выделить самостоятельную таблицу "Афидофаги в колонии".
Таким образом, базовой таблицей системы должна быть таблица "Колонии", дополнительными: "Афидофаги в колонии", "Время и погодные условия", "Географические данные", "Экологические данные", "Афидофаги", "Тли", "Растения", "Муравьи". Четыре последние таблицы можно рассматривать как вспомогательные, поскольку основной массив данных в них можно ввести заранее для ускорения последующего ввода данных по колониям.
После создания соответствующего файла базы данных (afidofag.mdb) было произведено построение перечисленных таблиц. После осуществления данной операции в составе базы данных AFIDOFAG насчитывается 8 таблиц.
Следующим этапом было определение ключевых полей. Для основной таблицы "Колонии" в качестве ключевого было выбрано поле "Шифр-номер обследованной колонии", автоматически заполняемое счетчиком процессора. Для таблицы "Афидофаги в колонии" установлен аналогичный вторичный ключ. Для остальных установлены вторичные составные ключи. В частности, для животных и растений это были родовые + собственно видовые названия. Индексирование полей производилось главным образом по ключам.
Связывание таблиц осуществлялось связями "один-к-одному" и "один-ко-многим", причем ставилось условие обеспечения целостности данных при их обновлении и других операциях. В результате сформировалась система связанных объектно ориентированных таблиц (Рис. 4), фактически система баз данных, поскольку многие таблицы (тли, растения и др.) могут быть использованы для решения самостоятельных задач, не связанных с изучением собственно афидофагов.
Для оптимизации процесса ввода данных с помощью мастеров форм СУБД были разработаны соответствующие формы. В первую очередь они были созданы для вспомогательных таблиц, чтобы обеспечить опережающее их заполнение. На рисунках представлены образцы таких форм (Рис. 2, 3).
Таблица 2
Список регистрируемых параметров (элементов базы данных)
Имя элемента (параметр)
| Описание
| Объект
| Тип поля
| Условие на хранение
| № записи
| Шифр-номер обследованной колонии
| Колония
| Счетчик
| Выставляется автоматически
| Род тлей
| Родовое название
| Тли
| Текст (15*)
| Требуется
| Вид тлей
| Видовое название
| Тли
| Текст (15)
| Требуется
| Род растения
| Родовое название растения-хозяина
| Растение
| Текст (15)
| Требуется
| Вид растения
| Видовое название растения-хозяина
| Растение
| Текст (15)
| Требуется
| Жизненная форма
| Жизненная форма растения
| Растение
| Текст (15)
| Требуется
| Возраст растения
| Точный, либо примерный возраст растения, лет
| Растение
| Число
| XX
| Высота растения
| Высота растения, см
| Растение
| Число
| XXX
| Высота расположения
| Высота расположения колонии, см
| Колония
| Число
| XXX
| Локализация
| Место расположения колонии на растении
| Колония
| Текст (25)
| Требуется
| Деформация
| Степень деформации органов локализации, балл
| Колония
| Число
| X
| Заселенность растения
| Заселенность растения по 4-балльной шкале
| Местообитание
| Число
| X,X
| Стация
| Биотоп, стация
| Местообитание
| Текст (50)
| Требуется
| Обилие растений
| Обилие растений-хозяев
| Местообитание
| Текст
(50)
| Требуется
| Статус агрегации
| Собственно колония или скопление
| Колония
| Логический
| Колония/
агрегация
| Посещаемость муравьями
| Балл посещаемости колонии муравьями
| Колония
| Число
| X,X
| Род муравьев
| Родовое название
| Муравьи
| Текст (15)
| Требуется
| Продолжение таблицы 2
Вид муравьев
| Видовое название
| Муравьи (30)
| Текст
| Требуется
| Fundatricae
| Количество в колонии основательниц, экз.
| Колония
| Число
| XXX
| Virginoparae alata
| Количество в колонии бескрылых виргинопар, экз.
| Колония
| Число
| XXX
| Virginoparae
aptera
| Количество в колонии крылатых виргинопар, экз.
| Колония
| Число
| XXX
| Gynoparae
| Количество в колонии гинопареных самок, экз.
| Колония
| Число
| XXX
| Oviparae
| Количество в колонии овипарных самок, экз.
| Колония
| Число
| XXX
| Male
| Количество в колонии самцов, экз.
| Колония
| Число
| XXX
| Nymphae
| Количество нимф в колонии, экз.
| Колония
| Число
| XXX
| Larvae
| Количество в колонии личинок, экз.
| Колония
| Число
| XXX
| Степень развития колонии
| Степень развития колонии по 4-балльной шкале
| Колония
| Число
| X,X
| Дата
| Дата обследования колонии
| Время
| Дата/ время
| XX-XX-XX
| Время
| Время суток
| Время
| Дата/ время
| XX-XX
| Световое время
| Световое время: темное, светлое, сумерки
| Время
| Текст (20)
| Требуется
| Облачность
| Облачность
| Погода
| Текст (20)
| Требуется
| Сила ветра
| Сила ветра
| Погода
| Текст (15)
| Требуется
| Осадки
| Осадки
| Погода
| Текст (20)
| Требуется
| Температура воздуха
| Температура воздуха (приблизительно), ºС
| Погода
| Число
| XX
| Страна
| Страна
| Геоположение
| Текст (50)
| Требуется
| Область
| Административная область
| Геоположение
| Текст (25)
| Требуется
|
Продолжение таблицы 2
Район
| Административный район
| Геоположение
| Текст (25)
| Требуется
| Место наблюдения
| Географическая точка
| Геоположение
| Текст (50)
| Требуется
| Отряд
| Отряд
| Афидофаги
| Текст (25)
| Требуется
| Семейство
| Семейство
| Афидофаги
| Текст (25)
| Требуется
| Род
| Род
| Афидофаги
| Текст (25)
| Требуется
| Вид
| Видовое название
| Афидофаги
| Текст (50)
| Требуется
| Ovae
| Количесво яиц афидофага в колонии, экз.
| Колония
| Число
| XX
| Larvae – 1
| Число личинок 1-го возраста афидофага в колонии, экз.
| Колония
| Число
| XX
| Larvae – 2
| Число личинок 2-го возраста афидофага в колонии, экз.
| Колония
| Число
| XX
| Larvae – 3
| Число личинок 3-го возраста афидофага в колонии, экз.
| Колония
| Число
| XX
| Larvae – 4
| Число личинок 4-го возраста афидофага в колонии, экз.
| Колония
| Число
| XX
| Larvae – 5
| Число личинок 5-го возраста афидофага в колонии, экз.
| Колония
| Число
| XX
| Pupae
| Число куколок афидофага в колонии, экз.
| Колония
| Число
| XX
| Mummies
| Число мумий паразитоидов в колонии, экз.
| Колония
| Число
| XX
| Примечания
| Примечания
|
| Мемо
| Не требуется
|
* - в скобках указано максимальное число знаков в текстовом поле
| Рис. 2. Представление на экране монитора формы “Колонии”
|
| Рис. 3. Представление на экране монитора формы “Время и погодные условия”
|
| Рис. 4. Схема связей между таблицами базы данных “AFIDOFAG”
| Создание комплекcа форм сделало возможным осуществление пробного ввода данных. После пробной загрузки небольшого (100 записей) массива данных была проверена работа системы. В частности, тестировалось обеспечение целостности данных при их обновлении и корректность автоматизированного контроля за вводом информации. Проверка показала корректность работы созданной структуры.
Разработка специальных форм для ввода информации фактически означала переход от конструирования базы данных как таковой к созданию обслуживающего ее приложения. Непременными его компонентами должны быть также запросы и отчеты.
Поскольку в число поставленных задач входила демонстрация возможностей приложения для анализа структурных особенностей сообществ маломобильных энтомофагов тлей, в частности:
структуры гильдий афидофагов тлей разных систематических и трофоэкологических групп;
структурных особенностей гильдии энтомофагов тлей в зависимости от локализации их колоний на растении;
сезонной динамики структуры гильдии афидофагов,
в первую очередь были разработаны соответствующие запросы а на их основе - отчеты.
В первом случае запрос компоновался из полей таблиц "Колонии", "Афидофаги в колониях", "Афидофаги", "Тли", и с помощью мастеров СУБД был задан расчет встречаемости отдельных групп афидофагов в колониях модельных видов тлей. Для создания диаграмм, данные из запроса в табличной форме были импортированы в MS Excel.
Во втором случае основой запроса была дифференциация записей для модельного вида тлей по элементу "Локализация" (место расположения колонии на растении) таблицы "Колонии". И, наконец, в последнем случае итоговая сортировка была задана по элементу "Дата" таблицы "Время и погодные условия".
Разработка приложения для анализа структуры сообществ афидофагов не ограничилась созданием лишь вышеперечисленных форм, запросов и отчетов, однако изложение иных особенностей разработанной информационной системы не входит в задачи настоящей работы. В следующей главе изложены результаты анализа структурных особенностей сообществ энтомофагов тлей средствами разработанного приложения.
|