БАЗЫ ДАННЫХ В ГИС. МОДЕЛИ ДАННЫХ
База данных (БД) – именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой области. Банк данных (Бн. Д) – система специальным образом организованных данных – баз данных (программных, технических и языковых средств), предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования. Система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования баз данных многими пользователями.
Терминология введена по аналогии с финансовыми банками: ФИНАНСОВЫЙ БАНК сейфы деньги Бн. Д СУБД БД
МОДЕЛИ ДАННЫХ 1. Иерархическая 2. Сетевая 3. Реляционная 4. Объектно-реляционная
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ Классический пример – библиотечный каталог Корень → ветки. Родители → потомки. Систематический каталог Темат. картография Мат. картография БД ГИС Создание ГИС Алфавитный каталог корень родитель Использование ГИС Б Д Берлянт К Демерс Карпова Ко Ка Кошкарев потомки Дерево (физическая БД 1) Дерево (физическая БД 2)
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ Состоит из совокупности деревьев или графов, называемых физическими БД (но может быть и одна физ. БД). Каждая физическая БД содержит только один корень. Позволяет устанавливать отношения 1: 1 и 1: М. Достоинства модели: легко искать, т. к. она четко определена. Легко может быть расширена за счет новых «веток» . Недостатки модели: при создании необходимо знать все возможные запросы к БД, т. к. они определяют правила ветвления. Невозможно установление отношений М: М.
СЕТЕВАЯ МОДЕЛЬ Является так же графовой Кафедра картографии Компьютерная графика 4 курс Д/О Создание ГИС 5 курс Д/О Использование ГИС 5 курс В/О ДИСЦИПЛИНЫ 6 курс В/О ГРУППЫ В отличии от иерархической модели, в сетевой поиск может осуществляться в обоих направлениях. Достоинства модели: возможность устанавливать отношения М: М, более гибкий поиск, уменьшается избыточность данных. Недостатки модели: т. к. связи между элементами осуществляются с помощью указателей, то в крупных БД они начинают «съедать» много памяти. Кроме того, при большом количестве связей в них легко запутаться → потеря данных.
РЕЛЯЦИОННАЯ МОДЕЛЬ Фамилия Дисциплина оценка Иванов КГ 5 Иванов СГ 4 Петров КГ 3 Петров СГ 4 Сидоров КГ 4 Таблица – отношение Колонки – атрибуты Строчки – кортежи Конкретные значения атрибутов (пересечение атрибута и кортежа) – домены Количество атрибутов в отношении – степень отношения
РЕЛЯЦИОННАЯ МОДЕЛЬ Реляционная таблица (отношение) обладает свойствами: 1. В отношении нет двух одинаковых кортежей (отсутствие дубляжа). 2. Каждый атрибут в отношении имеет уникальное имя (названия полей не могут повторяться). 3. Порядок кортежей в отношении – произвольный (хранение без сортировки). При связывании двух отношений одно выступает главным (родитель), а второе является подчиненным (потомок). Один родитель может иметь несколько потомков. Для поддержки связей между отношениями используются ключи. Ключ главного отношения (родителя) – первичный ключ (Primary key). Ключ подчиненного отношения (потомка) – внешний или мигрирующий ключ (Foreign key). Ключ однозначно идентифицирует кортеж! Он может быть простой, т. е. состоять из одного атрибута, или составной – из нескольких. Самый простой вариант ключа – уникальный ID.
РЕЛЯЦИОННАЯ МОДЕЛЬ Отношение «студент» является родителем № зачетки Фамилия Имя отчество 06254 Иванов Алексей Дмитриевич 05921 Петрович 99748 Сидоров Сергей Сергеевич РК = № зачетки Отношение «успеваемость» является потомком № зачетки курс КГ СГ 06254 5 3 зачет 05921 4 5 зачет 99748 4 4 Пример 1. Простой ключ ИГ FК = № зачетки зачет
РЕЛЯЦИОННАЯ МОДЕЛЬ Отношение «студент» является родителем Фамилия Имя отчество курс Иванов Алексей Дмитриевич 5 Петрович 4 Сидоров Сергей Сергеевич 4 РК = фамилия+имя+отчество Отношение «успеваемость» является потомком Фамилия Имя отчество КГ СГ Иванов Алексей Дмитриевич 3 зачет Петрович 5 зачет Сидоров Сергей Сергеевич 4 зачет Пример 2. Составной ключ ИГ FК = фамилия+имя+ отчество
РЕЛЯЦИОННАЯ МОДЕЛЬ Связь между отношениями может быть трех видов: 1. «один-к-одному» или 1: 1 2. «один-ко-многим» или 1: М 3. «многие-ко-многим» или М: М Связь 1: 1 является частным случаем 1: М. Пример связи см. выше (студентуспеваемость, один студент – одна строчка успеваемости)
РЕЛЯЦИОННАЯ МОДЕЛЬ Связь 1: М – распространенный вид связи. ФИО_дипломник диплом Иванов А. А. название Петров С. С. название Сидоров Д. А. название ФИО_преп одаватель дипломник_1 Дипломник_2 Озерова Иванов Сидоров Павлова Петров Курошев
РЕЛЯЦИОННАЯ МОДЕЛЬ Связь М: М студент предметы ФИО курс дисциплина Иванов А. А. 5 4 КГ Петров С. С. 4 4 СГ Сидоров Д. А. 4 5 ИГ Результат связывания двух отношений М: М ФИО курс Дисциплина_1 Дисциплина_2 Иванов А. А. 5 ИГ Петров С. С. 4 КГ СГ Сидоров Д. А. 4 КГ СГ
РЕЛЯЦИОННАЯ МОДЕЛЬ Нормализация отношений В теории реляционных БД выделяют 6 нормальных форм: 1. Первая нормальная форма (1 NF) 2. Вторая нормальная форма (2 NF) 3. Третья нормальная форма (3 NF) 4. Нормальная форма Бойса-Кодда (BCNF) 5. Четвертая нормальная форма (4 NF) 6. Пятая нормальная форма или форма проекции-соединения (5 NF) Три первых НФ являются обязательными, три остальные – их расширения.
РЕЛЯЦИОННАЯ МОДЕЛЬ Нормализация отношений основана на понятии зависимости между атрибутами отношений. Они бывают: Полная функциональная зависимость – зависимость неключевого атрибута от всего составного ключа. Неполная функциональная зависимость – зависимость неключевого атрибута от части составного ключа. Транзитивная зависимость. Пусть есть атрибуты А, В, С. Атрибут С транзитивно зависит от А если С функционально зависит от В, В функционально зависит от А, но обратная зависимость отсутствует.
РЕЛЯЦИОННАЯ МОДЕЛЬ Отношение находится в 1 НФ когда на пересечении каждого кортежа и атрибута находятся только элементарные домены (значения). Фамилия Имя Отчество курс Иванов Алексей Дмитриевич 5 Петрович 4 Сидоров Сергей Сергеевич 4 Не 1 НФ Для приведения исходного отношения к 1 НФ надо: Фамилия Имя Отчество курс Иванов Алексей Дмитриевич 5 Петрович 4 Сидоров Сергей Сергеевич 4 1 НФ
РЕЛЯЦИОННАЯ МОДЕЛЬ Отношение находится во 2 НФ когда оно находится в 1 НФ и не содержит неполных функциональных зависимостей. В переводе на русский язык: Помимо соблюдения 1 НФ требуется, чтобы каждая колонка не являющаяся ПК полностью зависела от всего ПК. Из этого следует, что любая запись таблицы может быть найдена только через ее ПК. 1. Какой ПК у этого отношения? 2. Соблюдена ли 2 НФ? Результаты сессии № зачетки Фамилия Имя Отчество Группа Дисциплина Оценка 06254 Иванов Алексей Дмитриевич 1 ИГ 3 05921 Петрович 2 КГ 4 99748 Сидоров Сергей Сергеевич 2 КГ 4 05921 Петрович 2 СГ 3 99748 Сидоров Сергей Сергеевич 2 СГ 5
РЕЛЯЦИОННАЯ МОДЕЛЬ 1. ПК = № зачетки + дисциплина (т. к. каждый студент в течение сессии сдает несколько предметов, он может повторяться в таблице). 2. Это не 2 НФ (т. к. ФИО и группа зависят только от № зачетки) Для нормализации отношения его надо разбить на две части: № зачетки Фамилия Имя Отчество Группа 06254 Иванов Алексей Дмитриевич 1 05921 Петрович 2 99748 Сидоров Сергей Сергеевич 2 № зачетки Дисциплина Оценка 06254 ИГ 3 05921 КГ 4 99748 КГ 4 05921 СГ 3 99748 СГ 5 ПК = № зачетки + дисциплина ВК = № зачетки
РЕЛЯЦИОННАЯ МОДЕЛЬ Отношение находится в 3 НФ, когда оно находится во 2 НФ и не содержит транзитивных зависимостей. В переводе на русский язык: Атрибуты не являющиеся ПК должны зависеть от ПК, при этом неключевой атрибут не должен определяться другим неключевым атрибутом, т. е. колонка таблицы не являющаяся ПК не должна зависеть от другой колонки не являющейся ПК. Фамилия Имя Отчество № зачетки Что является ПК таблицы? Группа Факультет Специальность Выпускающ ая кафедра ПК = № зачетки Нет ли зависимости других колонок (не № зачетки) друг от друга? Есть: выпускающая кафедра и специальность определяют факультет. Это и есть транзитивные зависимости.
РЕЛЯЦИОННАЯ МОДЕЛЬ Фамилия Имя Отчество № зачетки Группа Факультет Специальность Выпускающ ая кафедра Для приведения исходного отношения к 3 НФ надо его разбить на 3 части: Фамилия Имя Отчество Группа Выпускающая кафедра Факультет Выпускающая кафедра № зачетки Группа Специальность ПК = группа ПК = выпускающая кафедра ПК = № зачетки
РЕЛЯЦИОННАЯ МОДЕЛЬ Основные свойства нормальных форм: – Каждая следующая НФ улучшает свойства предыдущей (уменьшается избыточность данных). – При переходе к следующей НФ свойства предыдущих сохраняются. Несоблюдение 3 -х НФ приводит к избыточности данных в результате чего в процессе эксплуатации БД могут происходить аномалии: удаления, обновления, ввода. Исходное отношение: Преподаватель Семестр Предмет Аудитория Время Курошев 1 Геодезия 88 Пн, 1 -я пара Петрова 5 Аэрокосмическая картография 17 Пн, 4 -я пара Озерова 3 Картография 90 Ср, 3 -я пара Штыкова 6 Компьютерная графика 9 Чт, 2 -я пара Курошев 3 Геодезическая основа карт 17 Чт, 4 -я пара
РЕЛЯЦИОННАЯ МОДЕЛЬ Преподаватель Семестр Предмет Аудитория Время Курошев 1 Геодезия 88 Пн, 1 -я пара Петрова 5 Аэрокосмическая картография 17 Пн, 4 -я пара Озерова 3 Картография 90 Ср, 3 -я пара Штыкова 6 Компьютерная графика 9 Чт, 2 -я пара Курошев 3 Геодезическая основа карт 17 Чт, 4 -я пара Аномалия удаления: предположим, ушел преподаватель. Если удалить его строку, то потеряем расписание и пришедший на его место не будет знать где вас искать. Аномалия обновления: предположим 17 -я аудитория закрылась на ремонт и на семестр выпала из расписания. Во всей таблице надо поменять № аудитории. Если забыть это сделать в какой-либо строке – это аномалия обновления. Аномалия ввода: в связи с появлением новой специальности появились новые предметы. Добавляются новые строки в таблицу. Если забыть заполнить одно из полей или ввести недопустимое значение – это аномалия ввода.
РЕЛЯЦИОННАЯ МОДЕЛЬ Преподаватель Семестр Предмет Аудитория Время Курошев 1 Геодезия 88 Пн, 1 -я пара Петрова 5 Аэрокосмическая картография 17 Пн, 4 -я пара Озерова 3 Картография 90 Ср, 3 -я пара Штыкова 6 Компьютерная графика 9 Чт, 2 -я пара Курошев 3 Геодезическая основа карт 17 Чт, 4 -я пара Необходимо провести нормализацию: При условии, что один предмет читается один семестр и только одним преподавателем 1 НФ: разбить атрибут время: день + пара 2 НФ: разбить отношение на два: преподаватель + семестр + предмет и предмет + аудитория + день + пара 3 НФ: соблюдена
ОБЪЕКТНО-РЕЛЯЦИОННАЯ МОДЕЛЬ По сути своей, объектно-реляционная модель – это расширение реляционной модели за счет частичного отказа от соблюдения 1 НФ. Т. е. в ячейке таблицы может храниться не только элементарное значение атрибута, но и объект, имеющий свою внутреннюю структуру. Применительно к ГИС это означает возможность хранить под управлением СУБД не только атрибуты, но и геометрию пространственных объектов (координаты). Т. о. в ячейке таблицы (на пересечении кортежа и атрибута) может храниться целая цепочка координат, описывающая полилинию или полигон.
ОБЪЕКТНО-РЕЛЯЦИОННАЯ МОДЕЛЬ Arc. GIS (формат БГД):
ОБЪЕКТНО-РЕЛЯЦИОННАЯ МОДЕЛЬ Access (формат БГД):
СВЯЗЬ ГЕОМЕТРИИ И АТРИБУТОВ В ГИС Связь между геометрией и атрибутами осуществляется с помощью уникального ID, который является счетчиком. При создании нового пространственного объекта система генерирует и присваивает ему следующий по порядку номер. Этот же номер получает создаваемая для него строка (кортеж) в атрибутивной таблице. Этот номер никогда не повторяется! 1 ID Пояснения 1 ТПИ Уголь 2 ТПИ Асбест 3 2 Тип УВ нефть 3 геометрия атрибуты
СВЯЗЬ ГЕОМЕТРИИ И АТРИБУТОВ В ГИС Где в ГИС хранится описание геометрии и атрибутов? вариант 1: «суп отдельно, мухи - отдельно» Геометрия и атрибуты объектов хранятся в разных служебных файлах ГИС-формата (Map. Info) или геометрия в файлах ГИС, а атрибуты под управлением встроенной СУБД (Географ ГИС). ID х, у Программные связи fgh hjjk Kl; vbn m ID fgh hjjk Kl; vbn m fgh через уникальный ID Координатные файлы vbn m vbn vbn m m vbn m ID vbn m vbn vbn m m vbn m х, у vbn m vbn vbn m m vbn m hjjk Kl; vbn vbn m vbn m m vbn m vbn m vbn m vbn m Атрибутивные таблицы Такие ГИС называются ГИБРИДНЫМИ или ГЕОРЕЛЯЦИОННЫМИ
СВЯЗЬ ГЕОМЕТРИИ И АТРИБУТОВ В ГИС вариант 2: «в одном флаконе» Геометрия и атрибуты объектов хранятся в разных служебных файлах одной БД или в одном файле БД (под управлением ОРСУБД). Такие ГИС называются ИНТЕГРИРОВАННЫМИ (Arc. GIS). В этом случае ГИС является процессором пространственных запросов, надстроенным над промышленной СУБД, которая используется для хранения как графики (координат), так и атрибутов объектов.