Презентация "Реляционная алгебра и нормализация баз данных"
Подписи к слайдам:
РЕЛЯЦИОННАЯ АЛГЕБРА И НОРМАЛИЗАЦИЯ БАЗ ДАННЫХ
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ
НОРМАЛИЗАЦИЯ БАЗЫ ДАННЫХ
ВИДЫ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
- ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ
- Наличие первого из них допускается в БД, а избыточное дублирование данных может приводить к проблемам при их об обработке.
- Приведём пример обоих вариантов дублирования.
- Пример не избыточного дублирования данных представляет отношение СГ (студент-группа) с атрибутами Студент и Группа:
- Для студентов, обучающихся в одной группе, номер группы совпадает. Для каждого студента номер группы - уникальный атрибут. Поэтому ни один из номеров групп не является избыточным.
- Пример избыточного дублирования (избыточности) представляет отношение СГК (студент-группа-куратор), которые, в отличии от отношения СГ, дополнено атрибутом Куратор.
- Вполне естественно, что студенты одной группы находятся под руководством одного и того же куратора. В рассматриваемом отношении имеется избыточное дублирование данных:
- Возможный способ данных из этой ситуации в создании двух отношений СГ и ГК, полученных путём декомпозиции исходного отношения СГК:
- Процедура декомпозиции отношения СГК на 2 отношения СГ и ГК является основной процедурой нормализации отношений.
- Избыточное дублирование создает проблемы при обработке кортежей отношениями, названной Эдгаром Коддом «Аномалии обновления отношений».
- Аномалиями будем называть такую ситуацию в таблица БД, которая приводит к противоречиям в БД, либо существенно усложняет обработку данных.
- Выделяют 3 основных вида аномалий:
- Аномалии модификаций (редактирование)
- Аномалии удаления
- Аномалии добавления
- Аномалии модификации проявляются в том, что изменение значения одного данного может повлечь за собой просмотри всей таблицы и соответствующее изменение некоторых других записей таблицы.
- Аномалии удаления состоят в том, что при удалении какого-либо данного из таблицы может пропасть и другая информация, которая не связана напрямую с удаляемым данным.
- Аномалии добавления возникают в случаях, когда информацию в таблицу нельзя поместить до тех пор, пока она неполная, либо вставка новой записи требует дополнительного просмотра таблицы.
- Первая нормальная форма (1НФ)
- Отношение находится в 1НФ, если все его атрибуты являются простыми, все используемые домены должны содержать только скалярные значения.
- Не должно быть повторений строк в таблице.
- Например, есть таблица «Автомобили»:
|
|
|
|
|
|
- Нарушение нормализации 1НФ происходит в моделях BMW, т.к. в одной ячейке содержится список из 3 элементов: M5, X5M, M1, т.е. он не является атомарным.
- Преобразуем таблицу к 1НФ:
|
|
|
|
|
|
|
|
|
|
- Вторая нормальная форма (2НФ)
- Отношение находится во 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут неприводимо зависит от Первичного Ключа(ПК).
- Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость.
- Например, дана таблица:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Таблица находится в первой нормальной форме, но не во второй.
- Цена машины зависит от модели и фирмы.
- Скидка зависит от фирмы, то есть зависимость от первичного ключа неполная. Исправляется это путем декомпозиции на два отношения, в которых не ключевые атрибуты зависят от первичного ключа.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Третья нормальная форма (3НФ)
- Отношение находится в 3НФ, когда находится во 2НФ и каждый не ключевой атрибут нетранзитивно зависит от первичного ключа.
- Проще говоря, второе правило требует выносить все не ключевые поля, содержимое которых может относиться к нескольким записям таблицы в отдельные таблицы.
- Рассмотрим таблицу:
|
|
|
|
|
|
|
|
|
|
|
|
- Таблица находится во 2НФ, но не в 3НФ.
- В отношении атрибут «Модель» является первичным ключом. Личных телефонов у автомобилей нет, и телефон зависит исключительно от магазина.
- Таким образом, в отношении существуют следующие функциональные зависимости: Модель → Магазин, Магазин → Телефон, Модель → Телефон.
- Зависимость Модель → Телефон является транзитивной, следовательно, отношение не находится в 3НФ.
- В результате разделения исходного отношения получаются два отношения, находящиеся в 3НФ:
- Риал-авто 87-33-98
- Риал-авто 87-33-98
- Некст-Авто 94-54-12
|
|
|
|
|
|
|
|
- Связь позволяет моделировать отношения между объектами предметной области. Наименование связи должно быть уникально во всей модели.
- Существует 4 типа связей:
- 1. «Один-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, и наоборот.
- У любого конкретного ученика может быть только одна характеристика, и эта характеристика относится к единственному ученику.
- 2. «Один-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, но любому экземпляру сущности В соответствует только один экземпляр сущности А.
- Ученику ставят много оценок; поставленная оценка принадлежит только одному ученику.
- 3. «Многие-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, но любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.
- Преподаватель работает только в одном кабинете, однако рабочий кабинет может быть закреплен за несколькими преподавателями.
- Какая же разница между связями «один-ко-многим» и «многие-к-одному»?
- Такая же, как между фразами «портфель ученика» и «ученик портфеля».
- То есть важно, кто во взаимоотношении двух объектов главный - ученик или портфель.
- Суть отношений двух объектов отражается в имени связи.
- 4. «Многие-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, и любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.
- Ученик Иванов учится у нескольких преподавателей. И каждый преподаватель работает со многими учениками.
Информатика - еще материалы к урокам:
- Презентация "Нормальные формы"
- Презентация "Базы данных и информационные системы (ИНФ). Основы Structured Query Language (SQL). Язык DQL"
- Презентация "Язык структурированных запросов - SQL"
- Презентация "Лабораторная работа по теме «Внедрение операторов SQL»"
- Презентация "Теория реляционных баз данных"
- Презентация "Уровни представления данных. Функции СУБД"