Нормализация баз данных и типы связей между сущностями
Основные понятия
Зачем нужна нормализация?
Процесс нормализации
Полный поряд нормальных форм:
Ненормализованная форма (UNF)
Первая нормальная форма (1NF):
Первая нормальная форма (До):
Первая нормальная форма (После):
Вторая нормальная форма (2NF):
Основные понятия
Вторая нормальная форма (Простой ключ)
Вторая нормальная форма (Простой ключ)
Вторая нормальная форма (Составной ключ)
Вторая нормальная форма (Составной ключ)
Вторая нормальная форма (Составной ключ):
Третья нормальная форма (3NF):
Третья нормальная форма (До):
Третья нормальная форма (После):
Виды связей между таблицами
75.08K
Категория: Базы данныхБазы данных

Нормализация баз данных и типы связей между сущностями. Основы проектирования реляционных баз данных

1. Нормализация баз данных и типы связей между сущностями

Основы проектирования реляционных баз данных.

2. Основные понятия

• Декомпозиция отношений: Разбиение одной таблицы на
несколько.
• Нормализация: Процесс удаления избыточных данных.
• Избыточность данных: Хранение одних и тех же данных в
нескольких местах.
• Аномалии: Проблемы, возникающие из-за избыточности
(вставки, обновления, удаления).

3. Зачем нужна нормализация?

• Цели:
• Устранение аномалий.
• Повышение производительности.
• Удобство управления данными.

4. Процесс нормализации

• Нормальная форма (НФ): Набор правил, которым должна
соответствовать БД.
• Процесс: Последовательный переход от одной НФ к другой.
• Основные НФ: 1NF, 2NF, 3NF, 4NF, 5NF.
• Дополнительные НФ: Ненормализованная форма или нулевая
нормальная форма (UNF), Нормальная форма Бойса-Кодда
(BCNF), Доменно-ключевая нормальная форма (DKNF), 6NF.

5. Полный поряд нормальных форм:

1) Ненормализованная форма или нулевая нормальная форма (UNF);
2) Первая НФ (1NF);
3) Вторая НФ (2NF);
4) Третья НФ (3NF);
5) Нормальная форма Бойса-Кодда (BCNF);
6) Четвертая НФ (4NF);
7) Пятая НФ (5NF);
8) Доменно-ключевая нормальная форма (DKNF);
9) Шестая нормальная форма (6NF).

6. Ненормализованная форма (UNF)

• Перед приведением БД к нормальной форме, нужно привести её
к табличному виду так, чтобы он отвечал базовым принципам
реляционной теории.
• Строки в таблицах не должны быть пронумерованы (порядок строк и
столбцов не имеет значения).

7. Первая нормальная форма (1NF):

• Таблицы должны соответствовать реляционной модели данных и
соблюдать определенные реляционные принципы:
- В таблице не должно быть дублирующих строк;
- В каждой ячейке таблицы храниться атомарное значение (одно не
составное значение);
- В столбце хранятся данные одного типа;
- Отсутствуют массивы и списки в любом виде;

8. Первая нормальная форма (До):

Сотрудник
Контакт
Иванов И.И.
123-456-789, 987-654-321
Сергеев С.С.
Рабочий
телефон
555-666-777,
Домашний телефон 777-888-999
John Smith
123-456-789
John Smith
123-456-789

9. Первая нормальная форма (После):

Сотрудник
Контакт
Тип телефона
Иванов И.И.
123-456-789
Иванов И.И.
987-654-321
Сергеев С.С.
555-666-777
Рабочий телефон
Сергеев С.С.
777-888-999
Домашний телефон
John Smith
123-456-789

10. Вторая нормальная форма (2NF):

- Таблица должна находиться в 1NF;
- Таблица должна иметь ключ;
- Все неключевые столбцы таблицы должны зависеть от полного ключа (в
случае, если ключ составной).

11. Основные понятия

• Ключ - это столбец или набор столбцов, по которым
гарантировано можно отличить строки друг от друга, т.е. ключ
идентифицирует каждую строку таблицы. По ключу мы можем
обратиться к конкретной строки данных в таблице.
• Если ключ состоит из нескольких столбцов, то все остальные
неключевые столбцы должны зависеть от всего ключа, т.е. от всех
столбцов в этом ключе.
• В таблице не должно быть данных, которые можно получить,
зная только половину ключа, т.е. только один столбец из
составного ключа.

12. Вторая нормальная форма (Простой ключ)

ФИО
Должность
Подразделение
Описание
подразделения
Иванов И.И.
Программист
Отдел разработки
Разработка
и
сопровождение
приложений
и
сайтов
Сергеев С.С.
Бухгалтер
Бухгалтерия
Ведение
бухгалтерского
налогового
учета
финансовохозяйственной
деятельности
John Smith
Продавец
Отдел реализации
и
Организация
сбыта продукции

13. Вторая нормальная форма (Простой ключ)

Табельный
ФИО
Должность
Подразделение
номер
1
Описание
подразделения
Иванов И.И.
Программист
Отдел разработки
Разработка
и
сопровождение
приложений
и
сайтов
2
Сергеев С.С.
Бухгалтер
Бухгалтерия
Ведение
бухгалтерского
и
налогового
учета
финансовохозяйственной
деятельности
3
John Smith
Продавец
Отдел реализации
Организация
сбыта
продукции

14. Вторая нормальная форма (Составной ключ)

Название проекта
Участник
Должность
Срок
(мес.)
Внедрение приложения
Иванов И.И. Программист
8
Внедрение приложения
Сергеев С.С. Бухгалтер
8
Внедрение приложения
John Smith
Менеджер
8
Открытие нового магазина Сергеев С.С. Бухгалтер
12
Открытие нового магазина John Smith
12
Менеджер
проекта

15. Вторая нормальная форма (Составной ключ)

Название проекта
Участник
Должность
Срок
(мес.)
Внедрение приложения
Иванов И.И. Программист
8
Внедрение приложения
Сергеев С.С. Бухгалтер
8
Внедрение приложения
John Smith
Менеджер
8
Открытие нового магазина
Сергеев С.С. Бухгалтер
12
Открытие нового магазина
John Smith
12
Менеджер
проекта

16. Вторая нормальная форма (Составной ключ):

Идентификатор проекта Название проекта
Срок проекта (мес.)
1
Внедрение приложения
8
2
Открытие нового магазина
12
Идентификатор участника
Участник
Должность
1
Иванов И.И.
Программист
2
Сергеев С.С.
Бухгалтер
3
John Smith
Менеджер
Идентификатор проекта
Идентификатор участника
1
1
1
2
1
3
2
2
2
3

17. Третья нормальная форма (3NF):

• В таблицах должна отсутствовать транзитивная зависимость.
• Транзитивная зависимость - это когда неключевые столбцы
зависят от значений других неключевых столбцов.

18. Третья нормальная форма (До):

Табельный ФИО
Должность
Подразделение
номер
1
Описание
подразделения
Иванов И.И.
Программист
Отдел разработки
Разработка
и
сопровождение
приложений и
сайтов
2
Сергеев С.С.
Бухгалтер
Бухгалтерия
Ведение
бухгалтерского
и
налогового
учета
финансовохозяйственной
деятельности
3
John Smith
Продавец
Отдел реализации
Организация
сбыта
продукции

19. Третья нормальная форма (После):

Табельный
ФИО
Должность
Подразделение
Идентификатор
Подразделение
подразделения
номер
1
Иванов И.И. Программист
1
2
Сергеев С.С. Бухгалтер
2
3
John Smith
3
Продавец
1
Описание
подразделения
Отдел
Разработка
и
разработки
сопровождение
приложений
и
сайтов
2
Бухгалтерия
Ведение
бухгалтерского
налогового
учета
финансовохозяйственной
деятельности
3
и
Отдел
Организация
реализации
сбыта продукции

20. Виды связей между таблицами

• https://habr.com/ru/articles/488054/
English     Русский Правила