В процессе проектирования баз данных при создании ГИС выделяют три основных уровня: концептуальный, логический и физический.
Концептуальный - это содержание базы данных. Он включает в себя описание и определение рассматриваемых объектов, установление способа представления географических объектов в БД, выбор базовых типов пространственных объектов – точка, линия, ареал, ячейка растра.
Логический – определяет структуру базы данных: иерархическая, сетевая, реляционная.
Физический – связан с аппаратными и программными средствами.
Таким образом, в БД хранятся атрибутивные данные в виде текстовых или числовых параметров. Позиционные данные хранятся в ГИС в виде декартовых координат (x, y, z) или географических координат (φ, λ).
Типы объектов в БД – это сходные явления, которые имеют одинаковую форму хранения и представления в БД (например, дороги).
Основными функциями СУБД являются: управление данными во внешней памяти, управление буферами оперативной памяти, операции над базой данных, наличие языка управления базой данных, сохранение целостности базы данных.
Транзакция – это последовательность операций над базой данных. Понятие транзакции важно для сохранения логической целостности СУБД. Для обеспечения целостности базы данных в случаях сбоя существует журнал изменений БД.
СУБД по существу представляет собой три взаимосвязанных компоненты: командный язык, интерпретатор (или компилятор), интерфейс пользователя для запросов и выборок. Основная часть СУБД называется ядром. Ядро СУБД состоит из компонентов: менеджер данных, менеджер буферов, менеджер транзакций, менеджер журнала.
Компилятор СУБД превращает запросы пользователя в выполняемую программу во внутреннем машинно-независимом коде.
Наиболее распространенным подходом к построению баз данных является реляционный. В реляционной БД математический аппарат опирается на теорию множеств и математическую логику. Основные понятия реляционной базы данных:
- тип данных (численный, символьный и др.);
- домен (допустимое множество значений данного типа);
- отношение – это именованное множество пар (имя атрибута, имя домена).
Обычным представлением отношения является таблица, заголовок которой – именование отношения, сроки таблицы – кортежи, столбцы таблицы – это имена атрибутов.
Между отношениями связь и управление осуществляется через систему первичных и вторичных ключей. Любое отношение должно обладать первичным ключом. Для связи отношений используется атрибут, который служит внешним ключом. Требование целостности БД по ссылкам состоит в том, что для каждого значения внешнего ключа должна найтись запись с таким же значением первичного ключа в отношении, на которое идет ссылка, либо значение внешнего ключа должно быть неопределенным (ни на что не указывать).
Языком реляционных баз данных является язык SQL. Этот язык для взаимодействия с БД появился в середине 70-х годов. SQL – Structered Query Language – это язык структурированных запросов [14]. Он ориентирован на удобную и понятную пользователям формулировку запросов, состоит из:
- операторов формулирования запросов к реляционной БД;
- средств определения схемы БД;
- средств ограничений целостности БД;
- средств определения структуры БД на физическом уровне;
- средств авторизации доступа к отношениям и их полям;
- средств сохранения позиций транзакций и их откатов.
Общий вид запроса на языке SQL представляет собой теоретико-множественное алгебраическое выражение, составленное из элементарных запросов.
С точки зрения архитектуры наиболее распространенным способом организации СУБД является архитектура «клиент-сервер». Она обеспечивает наиболее рациональное решение проблемы коллективного доступа к базам данных в локальной сети. В основе действия локальной сети лежит принцип распределения ресурсов, т.е. высокая пропускная способность техники обеспечивает эффективный доступ от одного узла локальной сети к ресурсам в других узлах сети. Это приводит к функциональному выделению компонентов сети: рабочая станция – компьютер, предназначенный для непосредственной работы пользователя и обладающий ресурсами, соответствующими локальными потребностями этого пользователя, и сервер локальной сети, который имеет значительно более мощные ресурсы (объем оперативной памяти, дисковой памяти, характеристики процессора), соответствующие потребностям сети и его функциональному назначению. Пользователи рабочих станций получают от сервера не только ресурсы удаленного компьютера, но некоторый сервис, который специфичен для ресурсов данного вида, и необходимые программные средства. Примеры специализации серверов: сервер вычислений, сервер баз данных, дисковый сервер, сервер телекоммуникаций. В системах управления базами данных, основанных на архитектуре «клиент-сервер», действуют протоколы удаленного доступа, которые перераспределяют функции между клиентской и серверной частями системы. Физически неоднородная локальная сеть компьютеров приводится к логически однородной сети взаимодействующих программных компонентов.
Распределенные БД – это интеграция локальных баз данных в единую работающую систему. Распрелеленные БД бывают однородные и неоднородные. В однородной БД каждая локальная база данных управляется одной и той же СУБД. В неоднородной - локальные БД могут относиться к разным моделям данных. Возникает серьезная проблема комплексирования (интегрирования) неоднородных БД, основанных на разных моделях данных и управляемых разными СУБД. Это приводит к необходимости решения таких задач, как управление глобальными транзакциями, сетевая оптимизация и др.
В настоящее время разработаны также объектно-ориентированные структуры баз данных. В ГИС такие структуры применяются, когда возникает необходимость управления сложными реальными объектами более разумным способом, чем простыми точками, линиями, полигонами [5]. В объектно-ориентированных БД (ООБД) требуется, чтобы географические данные были определены как совокупности элементов. Они описываются серией атрибутов, которые определяют их пространственные, графические, временные, текстовые, численные размерности. Примеры: участок железной дороги и связанное с ним здание вокзала, участок трубопровода с ответвлениями различного диаметра. Это позволяет унифицировать хранение пространственных и атрибутивных данных при отображении взаимосвязанных объектов. Возникновению ООБД способствовало развитие объектно-ориентированного подхода в программировании. Объектно-ориентированный подход базируется на концепциях: объект и идентификатор объекта, атрибуты и методы, классы, инкапсуляция, иерархия и наследование классов.
Любой объект получает уникальный и неизменный идентификатор. Состояние объекта – набор значений его атрибутов. Значение атрибута объекта – это тоже некоторый объект. Поведение объекта – это метод, т.е. программный код, оперирующий над состоянием объекта. Состояние и поведение объекта (атрибуты и методы) инкапсулированы в объекте. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута. На основе уже существующего класса можно образовать новый класс – это свойство называется наследование. Новый класс называется подклассом и наследует все атрибуты и методы существующего класса. Различаются простое и множественное наследование: подкласс может определяться только одним классом или несколькими классами.
Важной проблемой при проектировании баз данных ГИС является качество данных.
«Представления о качестве данных, их точности и оценке погрешности становятся чрезвычайно важными при создании баз и банков данных ГИС. Существует практически всеобщая тенденция забывать об ошибках в данных, если последние представлены в цифровой форме.» [5]. Качество данных определяется позиционной точностью, т.е. величиной отклонения измерения данных о местоположении (координат) от истинного значения, и точностью атрибутивных данных, т.е. насколько они близки к истинным показателям на данный момент времени. Точность базы данных в целом определяется такими показателями, как логическая непротиворечивость топологического преставления данных, полнотой охвата множества объектов для представления реальности и отображения их на карте, точностью исходных материалов и методов их обработки. Возникают также проблемы интеграции разнотипных данных при создании ГИС, при этом могут использоваться уже существующие цифровые карты, содержащиеся в различных базах пространственных данных, данные компьютерного дешифрирования аэро- и космических снимков, данные цифрового моделирования объектов, слои объектно-ориентированных ГИС и т.д. Одним из решений данной проблемы является создание специализированных экспертных систем. Их назначение – это выполнение оценок качества и пригодности исходных данных, исходя из метаданных о точности данных, хранящихся в БД, и логических процедур, учитывающих характер проявления основных источников возможных ошибок в цифровых пространственных данных.