Модель хранения данных в базе геоданных основана на наборе простой концепции реляционных баз данных и использует всю мощь системы управления базой данных (СУБД). Простые таблицы и хорошо определенные типы используются для хранения схемы, правил, базовых и пространственно-атрибутивных данных для каждого набора географических данных. Это позволяет использовать формализованную модель для хранения ваших данных и работы с ними. Благодаря такому подходу, язык структурированных запросов (SQL) – набор реляционных функций и операторов – может быть использован для создания, изменения и выполнения запросов к таблицам и их элементам данных.
Вы можете понять, как работает такая модель данных, на примере геометрии полигональных объектов в базе геоданных. Класс объектов хранится в виде таблицы, которая называется также базовой или бизнес таблицей. Каждая строка представляет один объект. Столбец shape хранит геометрию для каждого полигонального объекта. Содержимое этой таблицы, в том числе и поле shape, которое хранится как пространственный тип SQL, может быть доступно с помощью SQL.
Однако, добавления пространственных типов и поддержки SQL для пространственных атрибутов в СУБД не является достаточным для их поддержки в ГИС. ArcGIS реализует многоуровневую архитектуру используя расширенную логику и поведение в уровне приложения над моделью хранения базы геоданных. Эта логика приложения включает в себя поддержку набора основных объектов в ГИС и их поведения, например, классов объектов, наборов растровых данных, топологий, сетей и многих других.
База геоданных является объектно-реляционной
Базы геоданных реализуются с помощью многоуровневой архитектуры приложений, которая используется в продвинутых СУБД-приложениях; ничего специфического нельзя сказать об этой реализации. Многоуровневая архитектура базы геоданных иногда называется объектно-реляционной моделью. Объекты базы геоданных существуют в виде строк в таблицах СУБД, которые имеют идентификацию и поведение, поддерживаемые логикой приложения для базы геоданных. Разделение логики приложения и логики хранения позволяет осуществлять поддержку нескольких различных форматов данных и СУБД.
Хранение базы геоданных в реляционных базах данных
Ядром базы геоданных является стандартная реляционная схема базы данных (набор стандартных таблиц базы данных, типов полей, индексов и других объектов базы данных). Схема существует в виде набора системных таблиц базы геоданных в СУБД, которые определяют целостность и поведение географической информации. Эти таблицы хранятся либо в виде файлов на диске или в содержимом СУБД, такой как Oracle, IBM DB2, PostgreSQL, IBM Informix, или Microsoft SQL Server.
Хорошо определенные типы полей используются для хранения традиционных атрибутов в таблицах. Когда база геоданных хранится в СУБД, пространственные представления, такие как векторные и растровые данные, обычно хранятся с помощью расширенных пространственных типов.
В базе геоданных существует два основных набора таблиц – это системные таблицы и таблицы наборов данных.
- Таблицы наборов данных – Каждый набор данных в базе геоданных хранится в одной или нескольких таблицах. Таблицы наборов данных для управления данными работают с системными таблицами.
- Системные таблицы – Системные таблицы баз геоданных отслеживают содержимое каждой базы геоданных. По сути, они описывают схему базы геоданных, которая указывает все определения, правила и отношения наборов данных. Эти системные таблицы содержат и управляют всеми метаданными, требующимися для реализации свойств базы геоданных, правил проверки данных и поведения.
Внутренняя структура этих таблиц была изменена, начиная с релиза ArcGIS 10. Информация, которая относится к схеме базы геоданных, которая до версии ArcGIS 10 хранилась в около 35 системных таблицах базы геоданных теперь была консолидирована в четырех основных таблицах:
- GDB_Items содержит список всех элементов, которые содержатся в базе геоданных, таких как классы объектов, топологии и домены
- GDB_ItemTypes содержит предварительно настроенный список распознаваемых типов элементов, таких как Table (таблица)
- GDB_ItemRelationships содержит схему отношений между элементами, такими как классы объектов, содержащиеся в наборе классов
- GDB_ItemRelationshipTypes содержит предварительно настроенный список распознаваемых типов отношений, например DatasetInFeatureDataset (Данные в наборе классов)
Набор данных и системные таблицы совместно работают для представления и управления содержимым базы геоданных. Например, при просмотре в операционной системе класс объектов выглядит как простая таблица со столбцом с пространственным атрибутом. Однако, при просмотре в ArcGIS, все правила, которые хранятся в системных таблицах используются совместно с самими данными для представления класса объектов с определенным настроенным поведением.
Дополнительные таблицы
В зависимости от того типа базы геоданных, который вы используете и в какой СУБД они хранятся, набор системных таблиц может различаться. Многопользовательские базы геоданных имеют другой набор различных системных таблиц, отличный от набора таблиц файловых баз геоданных, которые незначительно отличаются от персональных баз геоданных. Для многопользовательских баз геоданных задается другой набор системных таблиц, что описывается в разделах Системные таблицы базы геоданных для различных СУБД. Различные таблицы, которые хранятся в файловых и персональных базах геоданных не будут подробно описаны, так как вам не придется работать с большинством из них.