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