- •Добряк Павел Вадимович управление данными
- •Управление данными
- • Угту-упи, 2012
- •Введение
- •1. Основные определения
- •1.1. Элементы баз данных
- •1.2. Технологии управления данными
- •1.3. Модели данных
- •2.1. Основные понятия реляционной модели
- •2.2. Нормализация
- •2. Реляционная модель
- •2.3. Проблемы проектирования реляционных баз данных
- •Задачи для самостоятельного решения
- •3. Реляционные алгебра и исчисления
- •3.1. Реляционная алгебра
- •3.2. Реляционное исчисление на кортежах
- •3.3. Реляционное исчисление на доменах
- •4.1. Введение в sql
- •4.2. Пример реляционной базы данных
- •4.3. Запросы к одной таблице
- •4.4. Запросы к нескольким таблицам
- •4.5. Вложенные запросы
- •4.6. Вложенные подзапросы и кванторы
- •4.7. Объединение однотипных запросов
- •4.8. Рекурсивные запросы
- •Объединение однотипных запросов.
- •Запросы для самостоятельного программирования
- •5. Olap и хранилища данных
- •5.1. Архитектура хранилищ данных
- •5.2. Аналитические запросы
- •6. Триггеры, хранимые процедуры, события
- •7. Транзакции
- •7.1. Функции транзакций
- •7.2. Уровни изолированности
- •7.3. Сериализация транзакций
- •7.4. Синхронизационный захват
- •7.5. Метод временных меток
- •8. Обзор перспективных направлений баз данных
- •9. Объектные технологии в субд
- •9.1. Три манифеста баз данных
- •9.2. Объектная модель sql
- •9.3. Модель данных odmg и язык oql
- •10. Запросы к интернет-страницам
- •10.1. Теговая парадигма
- •10.2. Язык запросов xQuery
- •11. Пространственные базы данных
- •12. Лабораторные работы
- •13. Курсовая работа
- •13.1. Концептуальное проектирование
- •13.2. Семантическое проектирование
- •13.3. Физическое проектирование. Реляционная модель данных
- •13.4. Запросы
- •Объединение однотипных запросов.
- •13.5. Интеллектуализация базы данных.
- •13.6. Клиентская часть информационной системы
- •13.7. Дополнительные элементы базы данных
- •Вопросы к экзамену
- •1. Основные определения.
- •2. Реляционная модель
- •3. Реляционные алгебра и исчисления
- •10. Запросы к интернет-страницам
- •11. Пространственные базы данных
- •Литература
- •Список иллюстраций список таблиц
- •Список листингов
- •Алфавитный указатель
- •Список сокращений
11. Пространственные базы данных
Пространственными БД занимается консорциум Open Geographic Information Systems. Пространственные базы данных – основа геоинформационных систем (ГИС) - компьютерных систем сбора, хранения, обработки и отображения данных с учетом информации о местоположении, и САПР.
Примеры применения ГИС:
Earth Observing System (терабайт данных в год)
Системы сотовой связи
Интернет-маршрутизаторы
GPS – система глобального позиционирования
Примеры систем управления пространственными базами данных (СУПБД)
Специализированный продукт: SDE (spatial data engine) производства Environment Systems Research Institute
Объектно-реляционные БД производителей Intergraph, Autodesk, Oracle, IBM, Informix.
Исследовательские прототипы: Postgres, Geo2, Paradise.
Достоинства и недостатки РБД и объектных БД приведены в Табл. 64. Над объектами, содержащих пространственную информацию могут потребоваться дополнительные функции агрегирования, приведенные в Табл. 65. Таким образом, для объектов, содержащих пространственную информацию, необходимы специализированные СУПБД.
Табл. 64. Достоинства и недостатки СУБД для представления пространственной информации
Объекты предметных областей |
Реляционные БД |
Объектные БД |
Топологические отношения |
+ |
+ |
Пространственная иерархия |
- |
+ |
Вещи и явления пространственной протяженности |
- |
- |
Табл. 65. Функции агрегирования в обычных и пространственных БД
Тип данных |
Функции агрегирования |
||
Распределительные |
Алгебраические |
Целостные |
|
Множество чисел |
Количество, минимум, максимум, сумма |
Среднее, среднеквадратичное отклонение, максимум из N, минимум из N |
Медиана, частота реализации, ранг |
Множество точек, линий, многоугольников |
Выпуклая оболочка, геометрическое объединение, геометрическое пересечение |
Центр тяжести, центр масс, центр притяжения |
Индекс соседних элементов, равнораспределение |
Сравнение разных типов пространственных СУБД приведено в Табл. 66.
Пример ПБД: Для торговой базы может потребоваться дополнительная пространственная информация: адреса филиалов и клиентов.
Объектное расширение торговой базы данных: запрос 1 - выбрать всех клиентов, офисы которых находятся в 10 км от офиса компании. Запрос 2 - Построить «сферы влияния» филиалов (пространства, где идут продажи). Запрос 3 - Определить, пересекаются ли пространства филиалов, выбрать филиалы, которые граничат не более с чем 4 филиалами по зонам влияния.
OLAP: 1 измерение - пространственная скученность филиалов, 2 измерение – пространственная скученность клиентов, данные – сумма продаж.
Сетевое расширение: запрос - для отдела логистики по сегодняшним заказам сформировать наиболее «экономный» маршрут доставки товара. Полевое расширение: поле стоимости недвижимости.
Data Mining: Сгруппировать клиентов по покупаемым товарам и определить зависимость от стоимости недвижимости.
Табл. 66. Специализированные СУПБД
Тип |
Объекты |
Операции |
Примеры запросов OLTP |
Примеры запросов OLAP |
Примеры Data Mining |
Полевые |
Функциональное поле, Растр |
|
Определить тип местности по аэрофотосъемке |
|
Особенность – пространственная автокорреляция (кластеризация сходных объектов в географическом пространстве). |
Объектные |
Точки Линии Кривые Многоугольники Поверхности Геометрические наборы |
Примеры функций см. в Табл. 67. |
Лист. 97. Запрос к ОПБД Select C1.Name as «соседи России» From Country C1, Country C2 Where Touch(C1.shape, C2.shape) = 1 and C2.Name = ‘США’ |
Разделить курортную зону Кавказа на районы, граничащие с морем, равнинные и горные районы и определить динамику средней цены на землю в них с течением времени. См. Рис. 35 |
|
Сетевые |
Графы Вершины Ребра |
|
Лист. 98. Запрос к СПБД Select source From FallsInto Connect by prior source = dest Start with dest = 1 (prior to определяет направление, в данном случае – все дочерние узлы) Connect by source = prior dest |
Построить множество маршрутов между двумя филиалами компании, сгруппировать их по регионам, через которые они проходят, и вычислить кол-во клиентов в каждой группе. |
Табл. 67. Примеры операций из стандарта OGIS
Группа |
Функции |
Результат |
Базовые функции |
Envelope |
Минимальный ортогональный ограничивающий прямоугольник |
IsEmpty |
Истина, если геометрия – пустое множество |
|
IsSimple |
Истина, если геометрия простая (без самопересечений) |
|
Boundary |
Граница геометрии |
|
Топологические операции и операции над множествами |
Equal |
Истина, если внутренние области и границы обеих геометрий совпадают |
Disjoint |
Истина, если граница и внутренние области не пересекаются |
|
Intersect |
Истина, если геометрии имеют общие элементы |
|
Touch |
Истина, если границы двух поверхностей пересекаются, а внутренние области – нет |
|
Cross |
Истина, если внутренняя область поверхности пересекается кривой |
|
Contains |
Проверяет, содержит ли одна геометрия другую |
|
Overlap |
Истина, если внутренние области геометрий пересекаются |
|
Пространственный анализ |
Distance |
Кратчайшее расстояние между двумя геометриями |
Buffer |
Геометрия, содержащая все точки, лежащие на указанном или меньшем расстоянии от данной геометрии |
|
ConvexHull |
Наименьшее выпуклое геометрическое множество, заключающее в себе данную геометрию |
|
Intersection |
Геометрическое пересечение двух геометрий |
|
Union |
Геометрическое объединение двух геометрий |
|
Difference |
Фрагмент геометрии, который не пересекается с другой геометрией |
|
SymmDiff |
Фрагменты двух геометрий, непересекающиеся друг с другом |
Рис. 35. OLAP в ГИС
Подробнее о ПБД см. [10].
Д/З Для примера из Д/З придумайте пространственные расширения исходной модели: полевое, объектное, сетевое. Напишите запросы на каждую модель OLTP (для объектных баз 3 запроса с использованием операций из трех групп), OLAP, Data Mining.
Вопросы для самопроверки:
Чем сетевые пространственные БД отличаются от сетевых БД?
Чем объектные пространственные БД отличаются от объектно-ориентированных БД?
Чем пространственные БД отличаются от многомерных кубов?
