TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
SQL: Реляционные базы данных

26 Mar 2025, 19:22

Telegram'da ochish Ulashish Shikoyat qilish

📊 Нормальные формы в реляционных базах данных: что это и зачем нужно?

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

Нормальная форма в реляционной модели данных — это свойство отношения, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным результатам выборки или изменения данных, чем меньше избыточность тем выше "нормальность данных"

Процесс преобразования отношений базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.

Разберем на примерах первые три вида нормальных форм являющихся фундаментом нормализации БД.

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

❌ Плохо (не 1NF):
id name phones
1 Иван +123, +456, +789
✔️ Хорошо (1NF):
id name phone
1 Иван +123
1 Иван +456
1 Иван +789
Разделили атрибут phones на отдельные строки — теперь каждая ячейка содержит одно значение.

2️⃣ Вторая нормальная форма (2NF)
Требование:
1. Таблица уже в 1NF.
2. Все неключевые атрибуты зависят только от полного первичного ключа (если ключ составной).

❌ Плохо (не 2NF):
student_id course_id course_name
1 SQL101 Основы SQL
2 SQL101 Основы SQL
course_name зависит только от course_id, а не от полного составного ключа (student_id, course_id).

✔️ Хорошо (2NF):
Разбиваем таблицу на две таблицы содержащие логически единую информацию.

Таблица студентов и курсов:
student_id course_id
1 SQL101
2 SQL101
Таблица курсов:
course_id course_name
SQL101 Основы SQL
Теперь course_name зависит только от course_id, а не от полного ключа.

3️⃣ Третья нормальная форма (3NF)
Требование:
1. Таблица уже в 2NF.
2. Нет транзитивных зависимостей (атрибуты зависят только от первичного ключа, а не друг от друга).

❌ Плохо (не 3NF):
employee_id dep_id dep_name
1 10 IT
2 20 HR
dep_name зависит от dep_id, а не от первичного ключа employee_id.

✔️ Хорошо (3NF):
Разделяем таблицы логически делящие информацию.

Таблица сотрудников:
employee_id dep_id
1 10
2 20
Таблица отделов:
dep_id dep_name
10 IT
20 HR
Теперь dep_name хранится отдельно и зависит только от dep_id.

💡Вывод
Нормализация помогает избежать дублирования данных, уменьшить избыточность и повысить целостность БД.
1NF — атомарные значения.
2NF — зависимость только от полного первичного ключа.
3NF — отсутствие транзитивных зависимостей.

#Реляционные_базы_данных #Оптимизация_SQL #Нормализация

📱 Подписаться на канал | Курс автора по SQL DDL

714 0 15 1 18
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot