Основы проектирования реляционных баз данных
База данных: общее понятие База данных: хранилище информации отражает объект реального мира имитирует деятельность объекта реального мира
Реляционная модель Структура: данные хранятся в виде совокупности двумерных таблиц (отношений) Целостность: Существуют ограничения - структуры для обеспечения непротиворечивости и целостности базы данных Манипулирование: Существует набор операторов для воздействия на отношения (обновление содержимого отношений, создание новых отношений)
Разработка структуры базы данных Сбор информации Проектирование 1. Метод декомпозиции - определение таблиц и ограничений на основе функциональных зависимостей 2. Метод ER-моделирования - определение таблиц и ограничений на основе выделения сущностей, атрибутов и связей.
Разработка структуры базы данных
База данных: сбор информации База данных учебных заведений: Школы: 1 Преподаватели: Иванов, Кузнецов (школа 1) Ученики: Петров, Сидоров, Федоров, Семенов, Алексеев (школа 1) Обучение: Петров, Сидоров, Федоров - преподаватель Иванов Петров, Семенов, Алексеев - преподаватель Кузнецов
Цели проектирования базы данных Возможность хранения всех необходимых данных Исключение избыточности данных Минимизация количества отношений Нормализация отношений
Метод декомпозиции: Концепции Универсальное отношение Отношение, содержащее все атрибуты и все данные Функциональная зависимость A, B – атрибуты или множества атрибутов А -> В (В функционально зависит от А), если
Проектирование на основе метода декомпозиции Составление универсального отношения Декомпозиция универсального отношения: выделение в отдельные таблицы функционально зависимых столбцов Создание первичных ключей для функционально независимых столбцов Добавление столбцов – внешних ключей для поддержки непротиворечивости и целостности данных
Метод декомпозиции: универсальное отношение Преподаватели УченикиШколы
Структура базы данных
Связи базы данных преподавателя ученика школы
Метод ER-моделирования: Концепции Сущность - существенный объект или факт, дискретная категория или совокупность взаимосвязанных данных, информацию о которых необходимо хранить Атрибут - характеристика, которая описывает или классифицирует сущность Свойства: опциональность Связь - двунаправленная ассоциация между двумя сущностями Свойства: опциональность, мощность
Проектирование на основе метода ER-моделирования Преобразование сущностей в таблицы Преобразование атрибутов в столбцы Выделение уникальных идентификаторов сущностей и преобразование их в первичные ключи Преобразование связей во внешние ключи
Проектирование баз данных: основные понятия (Entity-Relationship)
Проектирование баз данных: основные понятия
Нормализация Процесс приведения базы данных к нормальной форме Сводит к минимуму избыточность данных Уменьшает проблемы обеспечения целостности Выявляет пропущенные сущности, связи и таблицы
Проектирование баз данных: основные понятия Первая нормальная форма (1NF)Значения атрибутов атомарный, нет повторяющихся групп атрибутов (групп данных) Вторая нормальная форма (2NF)Таблица удовлетворяет 1NF; все атрибуты зависят от всего уникального идентификатора (UID) своей сущности Третья нормальная форма (3NF)Таблица удовлетворяет 2NF; атрибуты, не входящие в UID, не могут зависеть от других атрибутов, не входящих в UID
Проектирование баз данных: основные понятия Нарушение нормальных форм Группы данных в столбцах «Employee_n» повторяются - нарушение 1NF
Проектирование баз данных: основные понятия Нарушение нормальных форм UID = {Column 1, Column 2} – нарушение 2NF UID = {Column 2} – нарушение 3NF
Проектирование баз данных: основные понятия
Этапы проектирования баз данных
Преобразование связи «многие-ко-многим»: Создание отношения пересечения Включение в отношение пересечения уникальных идентификаторов отношений Создание составного первичного ключа в отношении пересечения с включением в него уникальных идентификаторов отношений
Этапы проектирования баз данных преподавателя ученика
Этапы проектирования баз данных преподавателя ученика
Проект базы данных: пример преподавателя ученика школы
Заключение Общие понятия проектирования баз данных Метод декомпозиции Метод ER-моделирования Этапы проектирования баз данных