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