TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Системный Аналитик

21 Jan 2025, 13:08

Открыть в Telegram Поделиться Пожаловаться

🔵 Нормальные формы баз данных

Напомним, нормализация — организация данных в таблицах БД так, чтобы:
🟠устранить избыточность данных (уменьшаеся объем хранения, ниже риск рассинхронизации и проще управление)
🟠улучшить целостность данных (поддерживается правильные связи, меньше ошибок)
🟠уменьшить их дублирование (оптимизация структуры, лучше производительность)


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

Таблицы делятся на мелкие, связанные по смыслу, а между ними создаются связи.
Происходит шаг за шагом. В результате БД приводится к нормальным формам (NF)


Нормальные формы (NF) – требование к структуре таблиц реляционных БД
🟣чем выше NF, тем меньше лишних и зависимых данных -> БД работает быстрее и точнее , но усложняется её структура
🟣БД считается нормализованной после достижения третьей нормальной формы.
NF выше третьей нужны для устранения более сложных зависимостей
🟣чтобы таблица была в нужной NF, она сначала должна соответствовать всем предыдущим формам.


😈Первая нормальная форма (1NF)
Требования:
➖каждое поле должно содержать атомарные значения (неделимые на части).
➖отсутствие повторяющихся групп данных

Пример:
➡️ до: таблица с полем "телефоны", где у одного человека несколько телефонов в одной ячейке.
⬅️ после: каждый телефон записан в отдельной строке

😈нормальная форма (2NF)
частичные зависимости разделяются на новые таблицы.
➖все столбцы должны зависеть полностью от первичного ключа, а не только от его части (если первичный ключ состоит из нескольких полей)

➡️ до: в таблице заказов хранятся поля "имя клиента", "адрес клиента" и "ID заказа". Эти данные повторяются для каждого заказа клиента, что приводит к избыточности.
⬅️ после: эти данные выносятся в отдельную таблицу "клиенты", чтобы убрать дублирование в каждом заказе одного клиента

😈нормальная форма (3NF)
➖все столбцы зависят только от первичного ключа
(т.е. устранение транзитивных зависимостей: когда второй атрибут зависит от первого, а третий - от второго)

➡️ до: в таблице товаров есть поле "город" и "почтовый индекс".
"почтовый индекс" зависит от "города", а не от товара.
⬅️ после: данные разделяются: "город" и "почтовый индекс" в отдельную таблицу адресов, а "товар" — в другую

🔣Нормальная форма Бойса-Кода (BCNF) — более строгая версия 3NF, решает некоторые её недостатки
➖каждый атрибут, от которого зависят другие поля в таблице, однозначно идентифицировал запись (был кандидатным ключом)

😈нормальная форма (4NF)
➖удаляются многозначные зависимости (несколько значений зависят от одного атрибута)

➡️ до: в таблице "студенты" есть поля "курсы" и "хобби". Один студент может учиться на нескольких курсах и иметь несколько хобби, что приведёт к дублированию данных.
⬅️ после: зависимости разделяют на отдельные таблицы: одна для курсов, другая для хобби, чтобы избежать повторений

😈нормальная форма (5NF)
➖удаляются JOIN- зависимости, данные не могут быть разделены на более мелкие части без потери информации.
Предотвращает аномалии при соединении данных из множества таблиц.

➡️ в системе договоров один договор может включать несколько услуг от разных компаний.

😈нормальная форма (6NF)
редко используется, дальнейший шаг нормализации для поддержки временных данных и их зависимостей

➡️ когда данные меняются во времени (например, истории изменений зарплат), чтобы каждая запись была уникальной и не дублировалась


📎 Материалы
1. Нормализация отношений. Шесть нормальных форм
2. Как привести данные в форму: что такое нормализация и зачем она нужна
3. Нормализация и нормальные формы (описание 1-6 NF)
4. Нормализация СУБД: пример базы данных 1NF, 2NF, 3NF
5. Первая НФ (1NF) базы данных
6. Вторая НФ (2NF) базы данных
7. Нормальные формы: третья и Бойса-Кодда
8. Четвертая НФ (4NF) базы данных
9. Пятая НФ (5NF)
10. Шестая НФ (6NF) базы данных

📚Книги
1. Технологии проектирования баз данных -- Дмитрий Осипов (Глава 6-7)
2. Основы технологий баз данных — Новиков Б. А. / Б. А. Новиков, Е. А. Горшкова, Н. Г. Графеева; под ред. Е. В. Рогова
3. Основы баз данных — Кузнецов (Лекции 7-9)

#бд

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу

11.8k 2 373 2 90
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot