Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Другие файлы / Лурье И.К. - Геоинформационное картографирование - М., КДУ - 2008.pdf
Скачиваний:
120
Добавлен:
01.05.2023
Размер:
14.5 Mб
Скачать

66

Глава 2. Представление и организация географической информации

В самом простом случае свертка ключа используется как адрес в таблице, содержащей ключи и записи.

2.4.4. Язык реляционных баз данных SQL — функции и основные возможности

Язык для взаимодействия с БД ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД. Стандартным языком реляционных СУБД является язык SQL (Structured Query Language). Он содержит помимо операторов формулирования запросов и манипулирования БД средства для определения схемы БД, ограничений целостности, структуры БД физического уровня, авторизации доступа к отношениям и их полям, позиций сохранения транзакции и откатов. При этом именование объектов БД (таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.

Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с именованными столбцами. Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений можно ограничить или, наоборот, расширить видимость БД для конкретного пользователя. Поддержание представлений производится также на языковом уровне.

Для выполнения операторов SQL разного вида пользователь должен обладать различными правами доступа к БД. Пользователь, создавший таблицу БД, обладает полным набором прав для работы с этой таблицей, в том числе правом разрешения доступа другим пользователям. Контроль прав доступа поддерживается на уровне языка.

Двумя фундаментальными языками запросов к реляционным БД, используемыми для управления поиском данных, осуществления множественных запросов, являются языки реляционной алгебры и реляционного исчисления. К реляционной алгебре относят операции:

2.4. Системы управления базами данных в ГИС

67

реляционная выборка (selection) — создание новой таблицы как подмножества исходной;

реляционное соединение (union) — комбинирование записей двух таблиц без их дублированиия; позволяет объединять таблицы с разным числом записей (связь типа N:M) с наличием пустых ячеек в объединенной таблице;

реляционное слияние (join) — создание новой таблицы, поля которой скомбинированы из двух других, используя общее поле для связи (связь 1:1 или N:N).

Часто при применении операции реляционного соединения объединенную таблицу не создают, а применяют так называемое связывание таблиц (link).

Базовые операторы языка запросов — это SELECT (выбрать), FROM (из), WHERE (где). Набор операторов SQL предназначен для встраивания в программу на обычном языке программирования. Поэтому в этом наборе перемешаны операторы «истинного» реляционного языка запросов и операторы работы с указателями, позволяющими обеспечить построчный доступ к таблице — результату запроса, к формам интерфейса и т. п. В диалоговом режиме набор операторов SQL и их синтаксис более сложные и динамичные (см. спец. литературу по СУБД Oracle, MS Access).

Запросы на языке SQL до своего реального выполнения подвергаются компиляции. Основной проблемой реляционных СУБД является то, что язык SQL непроцедурный, т. е. в его операторе лишь описываются в некоторой форме условия совершения желаемого действия. Поэтому при компиляции применяются достаточно сложные методы оптимизации операторов, прежде чем будет создана выполняемая программа.

Самый общий вид запроса на языке SQL представляет теоре- тико-множественное алгебраическое выражение, составленное из элементарных запросов. Однако большинство пользователей ГИС не владеют программированием, поэтому многие разработчики программного обеспечения стали предоставлять возможность составления сложных запросов без программирования. Один из первых шагов в этом направлении сделала компания Borland в СУБД Paradox. Называется это средство "query by example (QBE)" — запросы по образцу. Пользователь выбирает указателем мыши нужные атрибуты, условия

6 8

Глава 2. Представление и организация географической информации

выбора из предлагаемого списка, операции и логические условия — и получает результат (рис. 2.2).

Рис. 2.2. Форма запроса в ГИС-пакете ArcView

2.4.5. Объектно-ориентированные и реляционные структуры БД

Обобщая вышеизложенное, среди достоинств реляционного подхода можно выделить:

наличие небольшого набора приемов простого абстрактного представления объектов для большинства распространенных областей применения БД с интуитивно понятными и достаточно точными формальными определениями;

наличие простого математического аппарата, опирающегося на теорию множеств и математическую логику, обеспечивающего основу реляционного подхода к организации баз данных;

возможность манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти.

Отмеченные преимущества и постепенное накопление методов и алгоритмов организации реляционных баз данных и управления ими привели к тому, что уже в середине 80-х гг. реляционные системы практически вытеснили с мирового рынка ранее разработанные СУБД.

К недостаткам реляционных СУБД относятся некоторая ограниченность (как следствие простоты) их использования при сложных структурах данных, в том числе пространственно-определенных данных

2.4. Системы управления базами данных в ГИС

69

разных моделей, а также невозможность адекватного отражения семантики предметной области, например, сложных легенд карт.

Большинство пространственных операций не входят в стандартный язык запросов реляционной СУБД (поиск объектов в пределах определенного полигона, наложение, создание буферных зон). Реляционная модель недостаточно эффективна в операциях со сложными объектами (образованными путем объединения простых объектов), для этого больше подходит иерархическая модель данных.

Пространственные данные сложны с точки зрения ограничения на целостность:

значения атрибутов должны находиться в заданных пределах;

взаимосвязи объектов должны быть непротиворечивыми, например, отношение «впадает в» между участками реки должно согласовываться с отношением «получает питание от»;

позиционные данные должны соответствовать законам планового расположения объектов (горизонтали не должны пересекаться, река не может пересекать себя и т. п.).

Стандартные реляционные СУБД, разработанные для хранения и управления цифровой информацией, не соответствуют пространственному характеру информации и операций в ГИС. Они не способны эффективно работать с массивами координат переменной длины, обеспечить индексирование по двум или трем измерениям для организации быстрого доступа к пространственным данным, в них отсутствуют возможности выполнения операций пространственного анализа, таких как оверлей полигонов или слоев.

К недостаткам использования геореляционных СУБД в ГИС относятся трудности организации многопользовательского доступа к данным. Для обеспечения возможности редактирования данных необходимо создание множества их копий на рабочих местах пользователей, что существенно осложняет отслеживание целостности данных.

В последнее время, в первую очередь в разработках фирм ESRI Inc. и Intergraph Corp., большое внимание уделяется новому типу С У Б Д — объектно-ориентированному (здесь этот термин имеет отношение только к структуре БД и языку программирования, а не

70

Глава 2. Представление и организация географической информации

объекту как реальности). Их применение направлено на снижение объемов хранимой информации и времени последовательного поиска в БД. В ГИС такие структуры применяются, когда появляется необходимость управления сложными реальными объектами более разумным способом, чем простыми точками, линиями и полигонами, а также модификации БД при оверлее полигонов.

Объектно-ориентированная БД (ООБД) является особым типом реляционных БД, в которых содержится дополнительная структура для представления в ней одновременно географических данных, отражающих пространственные (расположение в пространстве) и топологические отношения (взаимосвязи) географических объектов.

Объектно-ориентированная модель позволяет добавлять новые свойства объектам БД, отвечающие форме их пространственного поведения и взаимоотношений, создавать объекты, более соответствующие реальности, а также работать с объектами реального мира и их классами (доменами), а не просто строками в таблице. Такая БД является общим физическим хранилищем пространственной информации внутри реляционной БД. Это специальный механизм для представления наборов объектов не только как точек, линий или полигонов, но и в виде интегрированных систем, таких как речные или дорожные сети, системы землепользования. Это мост, позволяющий установить связь между восприятием окружающей действительности и представлением ее в БД.

В объектно-ориентированных БД требуется, чтобы географические данные были определены как совокупности элементов. При этом они характеризуются набором значений атрибутов и параметров их поведения, которые определяют их пространственные, графические, временные, текстовые/численные размерности. Примерами таких элементов могут служить участок железной дороги и связанное с ним здание вокзала, участок трубопровода с серией ответвлений разного диаметра и т. п. Подобная структура позволяет унифицировать хранение геометрии и атрибутов при отображении взаимосвязанных элементарных (пользовательских) объектов.

Описание территории в категориях объектов, взаимное положение которых известно, удобнее, чем описание в координатах. Так, оно позволяет представить в БД несколько объектов, находящихся на

2.4. Системы управления базами данных в ГИС

71

одной и той же части территории, пересекающихся по координатам Х,К, но разнесенных по высоте (туннель, перекресток, мост). В таком представлении объект «точка» определяет, например, положение поселка, или геодезического знака; «линия» — берег реки, границу поля, леса или полигона. Точки, в которых различные параметры измерены во время полевых работ, как правило, представляют в их относительном расположении, а не в координатах. Правда, объектный подход неудобен при описании, например, непрерывных изменений, при работе с разными масштабами, так как при этом один и тот же объект представляется по разному. Чрезвычайно сложно проследить изменение положения конкретного класса объектов на разновременных снимках, если эти объекты меняют свою форму, распадаются на части или, наоборот, соединяются вместе. В ООБД для таких наборов данных отводятся специальные подразделы хранилища.

В наиболее общей и классической постановке объектно-ориен- тированный подход базируется на следующих концепциях:

объекта и идентификатора объекта;

атрибутов и методов;

классов;

иерархии и наследования классов.

Любой объект или явление реального мира, их части или элементы, имеющие специфические пространственные отношения, в объектно-ориентированных системах моделируются в виде объекта. При своем создании он получает генерируемый системой уникальный идентификатор, который связан с объектом все время его существования и не меняется при изменении состояния объекта.

Наиболее важным свойством ООБД является введение поведенческого аспекта объектов, в некоторой степени позволяющего формализовать и ввести в БД специальные предметные знания свойств реальных географических объектов. Каждый объект имеет состояние и поведение. Состояние объекта — это набор значений его атрибутов, а поведение объекта — набор методов и правил, оперирующих этими значениями. Они включают правила редактирования геометрии и атрибутов объектов, их визуализации и пользовательского интерфейса для работы с ними. Примером поведения объекта могут служить установленные пользователем правила генерали-

7 2 Глава 2. Представление и организация географической информации

зации линий или показа полигонального объекта «город» в разных масштабах: кварталами, площадным объектом или точкой. Таким образом, набор значений атрибутов и методов оперирования с ними соединены в объекте в единую структуру.

Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу. Допускается наличие элементарных предопределенных классов, объекты которых не имеют атрибутов, например, класс целых значений и т. п. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута.

Допускается порождение нового класса на основе уже существующего, так называемое наследование. В этом случае новый класс, называемый подклассом существующего класса, наследует все его атрибуты и методы (поведение).

Кратко изложенные концепции объектно-ориентированного подхода показывают, что в его основе лежат некоторые фундаментальные абстракции, которые и позволяют применять к создаваемым формализованным объектам методы объектно-ориентированного программирования.

Основные трудности объектно-ориентированного моделирования пространственных данных проистекают из того, что достаточно развитого математического аппарата, на который могла бы опираться общая объектно-ориентированная модель данных, пока не существует.

Объектно-ориентированный подход использован в ГИС-пакете ArcGIS (ESRI) для проектирования базы геоданных (БГД, термин ESRI) — физического хранилища географической информации в централизованной реляционной СУБД (Oracle, Microsoft SQL Server), управляемого специально созданной системой ArcSDE [Бут, Митчелл, 2001]. Тремя ключевыми особенностями базы геоданных являются:

1)централизованное управление самыми разными видами географической информации в СУБД в многопользовательском режиме;

2)поддержка версий, дающая возможность одновременного редактирования данных многими пользователями и представления базы геоданных для отдельных транзакций;