.

Форма входа

Системы управления базами данных (СУБД)

Системы управления базами данных
Подсистема обработки информации в геоинформационной системе представлена системой управления базами данных. Будем рассматривать СУБД как набор специализированных средств управления и пространственного анализа информации, хранящейся в ГИС.
С точки зрения специализированных средств управления данными каждую СУБД принято характеризовать способностью выполнять следующие основные функции:
управление данными во внешней памяти;
управление буферами оперативной памяти;
операции над БД;
обеспечение надежности хранения данных в БД;
поддержка языка управления БД.
Управление данными во внешней памяти. Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются ин¬дексы). В некоторых реализациях СУБД используются возможности существующих файловых систем, в других работа производится на уровне функционирования устройств внешней памяти. Необходимо отметить, что в развитых СУБД пользователи не обязаны знать, какая структура используется или как организованы файлы.
Управление буферами оперативной памяти. СУБД обычно работают с БД значительного размера, этот размер, как правило, существенно больше доступного объема оперативной памяти. Для исключения зависимости СУБД от скорости устройств внешней памяти (при обращении к любому элементу данных и обмене данными с внешней памятью) используется организация
собственных наборов буферов оперативной памяти с правилами их замены буферов. Отметим, что существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что в будущем объем оперативной памяти компьютеров будет настолько велик, что позволит не беспокоиться о буферизации. Сейчас эти работы находятся в стадии исследований.
Операции над БД. Последовательность операций над БД, рассматриваемых СУБД как единое целое называется транзакцией. В случае если транзакция успешно выполняется, то СУБД фиксирует изменения БД, произведенные этой транзакцией, во внешней памяти, иначе изменения не отражаются в БД. Понятие транзакции необходимо для поддержания логической целостности БД, что является критически важным в многопользовательских СУБД. Каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения. При эффективном управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь в многопользовательской БД ощущает себя единственным пользователем.
Управление транзакциями в многопользовательской СУБД с помощью сериализации транзакций (это порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения) и сериального плана выполнения смеси транзакций (это план, приводящий к сериализации транзакций).
Обеспечение надежности хранения данных в БД. Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения пони-мается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые «мягкие» сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и «жесткие» сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное за-вершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной. Первую ситуацию можно рассматривать как особый вид мягкого аппаратного сбоя; при возникновении последней требуется ликвидировать последствия только одной транзакции. Для восстановления БД нужно располагать некоторой дополнительной информацией. Другими словами, поддержание надежности хранения данных в БД требует избыточности хранения данных, причем та часть данных, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений БД.
Журнал – это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных фи-зических дисках), в которую поступают записи обо всех изменениях основной части БД. Самая простая ситуация восстановления – индивидуальный откат транзакции путем выполнения об¬ратных операций, следуя от конца к началу транзакции.
При «мягком» сбое во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое про-падает). Во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Они позволят добиться такого состояния внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для этого сначала производят откат незавершенных транзакций, затем повторно воспроизводят операции завершенных транзакций, результаты которых не отображены во внешней памяти.
Для восстановления БД после «жесткого» сбоя используют журнал, к хранению которого, как отмечалось выше, предъявляют повышенные требования, и архивную копию БД. Восстановление БД производится следующим образом: на основе архивной копии БД по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя.
Поддержка языка управления БД. Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).
Прежде всего, язык SQL позволяет определять схему реляционной БД и манипулировать данными, содержит специальные средства определения ограничений целостности БД. Специальные операторы языка SQL позволяют определять так называемые представления БД (выборки), фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с именованными столбцами. Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений можно ограничить, или наоборот, расширить видимость БД для конкретного пользователя. Поддержание представлений производится также на языковом уровне.
Авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. В число этих полномочий входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.
Следует рассматривать системы управления базами данных в отношении ГИС не столько в качестве модуля управления базой пространственных данных (создание, наполнение, поддержание БД в корректном состоянии), сколько в качестве специализированных средств пространственного анализа геоинформации. Рассматриваемая с данной точки зрения СУБД является компонентой, позволяющей обеспечить основное назначение геоинформационных систем – анализ и обобщение информации с пространственно-временной привязкой в целях принятия решения на уровне управления геопространством. В данном случае под пространственным анализом следует понимать получение таких данных в результате запроса пользователя, которые в явном виде не содержатся в базе данных.
Пространственный анализ чаще всего проводится с целью выявления следующих отношений [4, с.141, том 1]:
закономерностей в структуре или особенностей распределения объектов, а так же их характеристик в пространстве;
наличия и вида взаимосвязей в пространственном распределении нескольких классов объектов или отдельных характеристик;
тенденции развития явлений в пространстве и во времени;
выбор решения по управлению объектами с учетом пространственных характеристик.
Функции анализа включают в себя функции работы с базами данных: изменение структуры баз данных (добавление/изменение полей, изменение типа поля); ввод новых данных и редактирование имеющихся, в том числе в автоматическом режиме и на основании имеющихся процедур анализа, таких как вычисление площадей или определение соседей; простого поиска сведений (задания фильтра данных); поиска необходимых данных с использованием запросов типа SQL (Structured Query Language) и QBE (Query-By-Example) с одновременным выделением результатов запроса в таблицах и на карте; вычисление новых значений поля по характеристикам других полей базы данных; создание производных баз данных и т. д.
В большинстве геоинформационных систем построение SQL и QBE запросов реализовано в виде интерфейса пользователя (так называемого Мастера), что ограничивает использование всех возможностей языков управления БД. Следует отметить, что некоторые ГИС позволяют наряду с предлагаемыми функциями Мастера использовать операторы языков управления непосредственно, следовательно, для того, чтобы реализовать сложный или вложенный запрос от пользователя требуется знание структуры и операторов SQL и QBE.
Отличительной особенностью СУБД в ГИС является возможность построения запросов к БД на основе пространственных условий. Среди всех пространственных операторов, реализованных в различных геоинформационных системах, можно выделить общие группы:
§    операторы  касания –  возвращают  набор   объектов, имеющих с данным объектом хотя бы одну точку со-прикосновения, в общем случае выбирают и пересекающиеся объекты; 
§    операторы выбора объектов на заданном расстоянии от данного объекта; 
§ операторы группы «содержит» возвращают объекты, которые содержит внутри себя данный объект (условие может быть строгим, в таком случае выбранные объекты должны находиться внутри границ данного объекта и не иметь с ними общих точек; не строгое условие позволяет касаться границ данного объекта, или даже пересекать их, при этом геометрические центры выбранных объектов должны находиться внутри границ данного объекта); 
§    операторы группы «содержится в» возвращают объекты, содержащиеся внутри данного объекта (условие может быть строгим и не строгим аналогично операторам группы «содержит»); 
§    операторы пространственного равенства – возвращают объекты, имеющие идентичные форму и положение, что и данный объект. Отметим, что при пространственном анализе объекты считаются совпадающими с точностью до некоторой величины (допуска), указываемой пользователем.
Функции анализа включают в себя агрегирование данных. Агрегирование данных предполагает переход к собирательным, обобщенным характеристикам объектов, сгруппированным по различным критериям. Агрегирование данных возможно двумя способами:
§    объединение объектов одной темы в соответствии с их размещением внутри полигональных объектов другой темы; §    объединение объектов по равенству значений определенного атрибута.
Формирование и редактирование пространственных объектов. Эти функции в общей системе следует отнести к автоматизированным технологиям картографирования. С точки зрения анализа следует рассмотреть средства формирования и редактирования одних объектов на основе других объектов. В некоторых ГИС набор таких средств получил удачное название – картографическая алгебра. Картографическая алгебра содержит следующие операции ввода и редактирования:
§    разбиение полигональных объектов линейными объек-тами; 
§    объединение полигонов (в том числе, полигонов, не
имеющих точек соприкосновения в один полигон); 
§    задание полигона типа «бублик» на основе другого полигона; §    вычитание одного полигона из другого – удаление области перекрытия; 
§    получение области пересечения полигонов. При этом можно задавать способы вычисления значений атрибутивных полей данных вновь образуемых объектов на основе данных исходных объектов – копирование исходных значений одного из объектов, заполнение значениями исходных объектов пропорционально их площади, пустое или заданное значение атрибутов.
К этой группе функций анализа следует отнести функции выявления и исправления некорректно созданных объектов: вы-явление самопересечений, перекрытий и пустот между объектами.
Геокодирование. Это набор функций анализа, позволяющий сопоставить информацию из базы данных, созданной вне ГИС и содержащей исключительно атрибутивную информацию, с графическими объектами ГИС. Таким образом, информация из та¬ких баз данных размещается на карте. Геокодирование производится на основе совпадающей информации из внешней базы и атрибутивной информации пространственных объектов (например, по адресу в единой адресной системе), в результате чего формируются новые пространственные объекты, атрибутами которых становится внешняя БД, либо атрибуты существующих объектов расширяются данными из внешней БД.
Построение буферных зон. Буферная зона – полигональный объект, границы которого равноудалены от данного объекта. Буферные зоны могут строиться на заданном расстоянии, на основе выбранного атрибута объектов, окружности буферной зоны могут аппроксимироваться заданным количеством отрезков прямой.
Оверлейные операции. Это функции наложения двух и более одно- и разнотипных слоев с генерацией производных объектов, возникающих при их геометрическом наслоении с возможностью наследования их атрибутов. При этом в алгоритмах операции наложения могут присутствовать логические условия.
Сетевой анализ. Это функции пространственного анализа, связанные с решением различных задач на пространственных сетях (дорожные сети, сети объектов гидрографии и т. д.) и в особенности на пространственных ресурсных сетях (являющихся каналами передачи ресурсов любого вида, например, инженерные коммуникации). Примерами задач могут служить задачи нахождения кратчайшего пути с учетом пространственных ха-рактеристик участков сети для транспортных сетей, задачи диспетчеризации ресурсов коммуникационных сетей, задачи загрязнения окружающей сети вредными веществами, распространяющимися по водной сети и т. д. Возможности пространственного анализа сетей во многом зависят от способа моделирования сетей и подразумевают использование векторно-топологического представления пространственных данных.
Картометрические функции. Под анализом, основанным на картометрических функциях, подразумеваются расчеты площадей, длин, периметров, площадей поверхностей, объемов, ограниченных поверхностями, функции вычисления вторичных характеристик поверхностей (вычисление уклонов и экспозиции склонов, анализ зон видимости/невидимости). Картометрические функции рассчитываются с учетом проекции карты и возможностей моделирования поверхностей в определенных ГИС.
Зонирование. Функции построения территориальных зон (полигональных объектов), однородных в смысле выбранного критерия или набора критериев. Зонирование является эффективным инструментом визуализации распространения различных признаков пространственных объектов.
Создание и анализ моделей поверхностей. Функции по-строения поверхностей на основе наборов неравномерно расположенных данных, вычисления вторичных характеристик поверхностей. Широко применяются при создании и использовании цифровых моделей рельефа. Подробно функции моделирования рельефа рассмотрены в разделе 6.
Несомненно, пространственно-временная информация, хранящаяся в БД ГИС, сама по себе представляет ценность, но только вкупе с эффективными средствами пространственного анализа ее применение при решении научных и прикладных задач приносит пользу. Важно, понимать, что ГИС добавляет пространственный (географический) аспект к уже существующим методам поиска и запросным системам СУБД. Сложность и разнообразие представленных данных в ГИС, различные подходы к представлению позиционной и атрибутивной составляющей информации, необходимость ее обработки в контексте пространственного расположения предъявляют своеобразные и повышенные требования к коммерческим СУБД по сравнению с традиционной формой их использования.
 

Друзья сайта

  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz