❃ Хижина программиста Æ
16.6K subscribers
1.1K photos
75 videos
21 files
2.52K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
Нормализация базы данных — это процесс организации данных в таблицах для уменьшения избыточности и обеспечения целостности данных.

Этот процесс включает деление данных на связанные таблицы и установку между ними логических связей.

Основной целью нормализации является устранение аномалий обновления, вставки и удаления данных.

👨‍💻 Основные формы нормализации

1️⃣ Первая нормальная форма (1НФ):

Каждое поле таблицы содержит только одно значение (атомарность данных).
В таблице нет повторяющихся строк.
Пример нарушения: поле, содержащее список элементов через запятую (например, 123, 456, 789).
Решение: разбить такие данные на отдельные строки.

Не нормализовано:
Студент | Курсы
-----------------------
Иван | Математика, Физика
Ольга | Химия

Нормализовано:
Студент | Курс
-----------------
Иван | Математика
Иван | Физика
Ольга | Химия


2️⃣ Вторая нормальная форма (2НФ):

Таблица находится в 1НФ.
Все неключевые поля зависят от всего первичного ключа (нет частичных зависимостей).
Применяется, если первичный ключ составной.

Не нормализовано:
(Студент, Курс)    | Имя_Преподавателя | Кабинет
------------------------------------------------
(Иван, Математика) | Петров | 115
(Иван, Физика) | Иванов | 122

Здесь Имя_Преподавателя и Кабинет зависят только от Курс, а не от всего ключа (Студент, Курс).

Нормализовано:
[ - Курсы - ]
Курс | Имя_Преподавателя | Кабинет
----------------------------------------
Математика | Петров | 115
Физика | Иванов | 122

[ - Записи - ]
Студент | Курс
-----------------
Иван | Математика
Иван | Физика


3️⃣ Третья нормальная форма (3НФ):

Таблица находится во 2НФ.
Все не ключевые поля зависят только от первичного ключа (нет транзитивных зависимостей).

Не нормализовано:
Курс       | Преподаватель | Кафедра
---------------------------------------
Математика | Петров | Математики
Физика | Иванов | Физики

Здесь Кафедра зависит от Преподаватель, а не от Курс.

Нормализовано:
[ - Курсы - ]
Курс | Преподаватель
--------------------------
Математика | Петров
Физика | Иванов

[ - Преподаватели - ]
Преподаватель | Кафедра
--------------------------
Петров | Математики
Иванов | Физики


💻 Когда нормализация может быть излишней ?

🚩 Иногда избыточность данных допускается для повышения производительности (денормализация), особенно в системах, где:
➡️ Преобладают запросы на чтение.
➡️ Изменения данных редки или контролируемы.

⌨️ Теги: #курсы #преподаватели #нормализация #база #данные #базы_данных #сопровождение #разработка #аналитика #maximdupley #quadd4rv1n7 #database #courses #teachers #normalize #develop #dev #analytcs #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1