Хранение базы геоданных основывается на реляционных принципах
Система управления базой данных (СУБД) может считаться открытой, поскольку простота и гибкость типовой модели реляционных данных позволяет ей поддерживать огромное количество приложений.
Модель хранения базы геоданных по своей сути является СУБД, использующей ряд простых, но существенных принципов реляционной базы данных. СУБД (и файловая система для файловых баз геоданных) предоставляет простую, формализованную модель данных для хранения и работы с информацией в таблицах.
Ключевые концепции включают:
- Данные представлены в виде таблиц.
- Таблицы содержат ряды.
- У всех рядов в таблице одинаковый набор столбцов.
- Каждый столбец имеет тип (целочисленный, десятичный, символьный, даты и т. д.).
- Отношения используются для установления связей между строками в разных таблицах. Это действие производится для одного и того же столбца в каждой из таких таблиц.
- Для таблиц существуют правила реляционной целостности. Например, каждая строка всегда содержит одни и те же столбцы, домен ведет список верных значений или диапазонов значений для столбца и т. д.
Для баз геоданных ArcSDE, хранящихся в реляционных базах данных, также применяется ряд дополнительных функций СУБД:
- Язык структурированных запросов (SQL), набор реляционных функций и операторов, доступен для произведения операций над таблицами и их элементами данных.
- Операторы SQL предназначены для работы с родовыми типами реляционных данных, такими как целые числа, десятичные числа, даты и символы.
Например, класс пространственных объектов хранится в виде таблицы СУБД. Каждая строка представляет пространственный объект. Столбцы в каждой строке представляют различные характеристики или свойства объекта, а один из столбцов содержит геометрию объекта (например, координаты точки, линии или полигона). В следующем примере поле формы содержит форму полигона для каждого участка строки в таблице класса пространственных объектов.
![]() |
Различные типы столбцов в СУБД используются для хранения поля формы в таблице. Обычно это либо тип массивного двоичного объекта (BLOB) или расширенный пространственный тип, поддерживаемый в некоторых СУБД. Например, по крайней мере, один пространственный тип столбцов для хранения объектов доступен во всех СУБД, которые поддерживает ArcSDE — Oracle, IBM DB2, Informix, PostgreSQL и SQL Server. Это добавляет поддержку для вызванных пространственных объектов, используя SQL, что соответствует стандартам Международной организации по стандартизации (ISO) и Открытого геопространственного консорциума (OGC) для пространственных типов.
SQL совершает операции со строками, столбцами и типами в таблицах. Типы столбцов (числа, символы, даты, массивные двоичные объекты, пространственные типы и т. д.) являются объектами в алгебре SQL. СУБД управляет простыми типами данных и таблицами, в то время как дополнительная прикладная логика реализует поведение более сложных объектов и ограничения целостности.
Однако добавление пространственных типов и поддержки SQL для пространственных атрибутов в СУБД само по себе не является достаточным для поддержки ГИС.
Реализация объектов и поведения высокого уровня в реляционных СУБД.
Разработчики, желающие реализовать объекты высокого уровня с поведением и логикой, пишут для этого код приложения. Например, организация может реализовать таблицу сотрудников, как показано ниже:
Фамилия |
Имя |
Дата приема на работу |
Оклад |
---|---|---|---|
Браун |
Бен |
10-10-2001 |
$10,000.50 |
Джонс |
Бетти |
06-14-1998 |
$22,000.00 |
Смит |
Джейсон |
08-23-1999 |
$44,000.75 |
Таблица сотрудников – это простая таблица реляционных данных, содержащая строки и столбцы. В каждом столбце содержатся данные определенного типа, такие как символы, даты и числа. СУБД работают с информацией на этом уровне.
Однако одно только добавление информации в таблицу СУБД не делает СУБД бухгалтерским приложением или системой управления персоналом. Добавление столбца Доллары (Dollars), содержащего числа с двумя десятичными знаками, не превратит СУБД в систему бухгалтерского учета. Для этого требуется прикладная логика более высокого уровня.
Примеры логики, которая может быть внедрена для поддержки деятельности сотрудников, – найм, внедрение повышения оплаты труда, выход сотрудников на пенсию, поощрения и управление льготами. Бизнес-объекты, смоделированные для сотрудников, их имен, окладов и дат приема на работу, не реализованы как реляционные объекты. Чтобы реализовать для этих бизнес-объектов поведение и обеспечить их целостность, требуется более изощренная и специализированная прикладная логика.
Схожие бизнес-объекты постоянно используются в ГИС. Например, топологии, сети, системы линейных координат, каталоги растров, аннотации, топографии, слои карт и т.д. являются примерами сложных объектов, используемых для реализации поведения ГИС помимо простых пространственных представлений, хранящихся в СУБД.
Как и в случае с другими приложениями СУБД, одних таблиц с пространственными типами столбцов для ГИС-приложений недостаточно. Для создания систем географической информации необходимы оба набора объектов (простые реляционные типы столбцов СУБД и объекты базы геоданных приложения, такие как топологии).
Где помещается прикладная логика?
Многочисленные реализации системы управления базой данных (СУБД) в большинстве случаев показали, что использование отдельного приложения, которое работает с типами строк и столбцов в таблице подходит для сложных приложений. Например, все широко распространенные системы, работающие с информацией о клиентах или планирующие ресурсы предприятия, а также пакеты бухгалтерского учета реализуют сложную прикладную логику на уровне приложения, что обеспечивает большую открытость и расширяемость, более высокую производительность, более богатый набор инструментов и повышенную гибкость.
Пользователи взаимодействуют с этими системами и осуществляют транзакции внутри них с помощью прикладной логики для подавляющего большинства операций и используют язык структурированных запросов (SQL) только для специализированных (и подходящих) действий.
Отделение прикладной логики и размещение ее над уровнем данных также позволяет применять ту же логику к СУБД, файлам, расширяемому языку разметки (XML) и другим возможным вариантам хранения данных. Это позволяет архитектуре быть более открытой. Например, прикладная логика базы геоданных в ArcGIS также используется для чтения и работы со всеми источниками географических данных, такими как чертежи систем автоматического проектирования, шейп-файлы, данные MapInfo, файлы Intergraph GeoMedia и файлы Geography Markup Language (GML).
Другими способами сохранения логики высокого уровня являются хранимые процедуры и триггеры баз данных в СУБД или расширенные типы в СУБД.