Skip to content

Повна функціональна залежність у нормалізації бази даних

10 de Липень de 2021

Повна функціональна залежність – це стан нормалізації бази даних, що прирівнюється до стандарту нормалізації Другої нормальної форми (2NF). Коротше кажучи, це означає, що він відповідає вимогам Першої звичайної форми (1NF), і всі неключові атрибути повністю функціонально залежать від первинного ключа. Це не так складно, як може здатися. Давайте розглянемо це більш докладно.

Короткий зміст першої нормальної форми

Перш ніж база даних може повністю функціонально залежати, вона повинна спочатку відповідати Першій звичайній формі. Все це означає, що кожен атрибут повинен містити одне атомне значення. Наприклад, наступна таблиця не відповідає 1NF, оскільки співробітник Тіна пов’язаний з двома місцями, обидва вони в одній комірці:

Співробітник Розташування
Джон Лос-Анджелес
Тіна Лос-Анджелес, Чикаго

Дозвіл на такий дизайн може негативно вплинути на оновлення даних або записів. Щоб забезпечити відповідність 1NF, переставте таблицю так, щоб усі атрибути (або комірки стовпців) містили одне значення:

Співробітник Розташування
Джон Лос-Анджелес
Тіна Лос-Анджелес
Тіна Чикаго

Але 1NF все ще недостатньо, щоб уникнути проблем із даними.

Як працює 2NF для забезпечення повної залежності

Щоб бути повністю залежними, усі атрибути ключа, що не є кандидатом, повинні залежати від первинного ключа. Атрибут ключа-кандидата – це будь-який ключ (наприклад, первинний або зовнішній ключ), який використовується для однозначної ідентифікації запису бази даних. Дизайнери баз даних використовують позначення для опису залежних взаємозв’язків між атрибутами: Якщо атрибут A визначає значення B, ми пишемо це A -> B, що означає, що B функціонально залежить від A. У цьому відношенні A визначає значення B, тоді як B залежить від A. Наприклад, у наступних відділах співробітників стіл, Ідентифікатор працівника і Ідентифікатор відділу обидва ключі-кандидати: Ідентифікатор працівника є первинним ключем таблиці while Ідентифікатор відділу є зовнішнім ключем. Будь-які інші атрибути – у цьому випадку Ім’я працівника і Назва відділу—Потрібно залежати від первинного ключа, щоб отримати його значення.

Ідентифікатор працівника Ім’я працівника Ідентифікатор відділу Назва відділу
Emp1 Джон Відділ001 Фінанси
Emp2 Тіна Відділ003 Продажі
Emp3 Карлос Відділ001 Фінанси

У цьому випадку таблиця не повністю залежить, оскільки в той час як EmployeeName залежить від первинного ключа Ідентифікатор працівника, Назва відділу замість цього залежить від Ідентифікатор відділу. Це називається частковою залежністю. Щоб ця таблиця відповідала 2NF, нам потрібно розділити дані на дві таблиці: таблицю службовців та таблицю відділів. Ось таблиця Співробітники:

Ідентифікатор працівника Ім’я працівника Ідентифікатор відділу
Emp1 Джон Відділ001
Emp2 Тіна Відділ003
Emp3 Карлос Відділ001

Ми видаляємо Назва відділу атрибут із таблиці Employees та створити нову таблицю Departments:

Ідентифікатор відділу Назва відділу
Відділ001 Фінанси
Відділ002 Людські ресурси
Відділ003 Продажі

Тепер відносини між таблицями повністю залежать, або в 2NF.

Чому повна залежність важлива

Повна залежність між атрибутами бази даних допомагає забезпечити цілісність даних та уникнути аномалій даних. Наприклад, розглянемо таблицю у розділі вище, яка відповідає лише 1NF. Ось воно, знову:

Співробітник Розташування
Джон Лос-Анджелес
Тіна Лос-Анджелес
Тіна Чикаго

У Тіни два рекорди. Якщо ми оновимо один, не усвідомлюючи, що їх два, результатом будуть несумісні дані. Або що, якщо ми хочемо додати працівника до цієї таблиці, але ми ще не знаємо місцезнаходження? Нам може бути заборонено навіть додавати нового працівника, якщо Розташування атрибут не допускає значення NULL. Однак повна залежність – це не суцільна картина, коли мова йде про нормалізацію. Ви повинні переконатися, що ваша база даних знаходиться у третій звичайній формі (3NF). Більше від tebapit

  • Розміщення бази даних у третій звичайній формі (3NF)

  • Бізнесмен за допомогою комп'ютера у віртуальній серверній кімнаті.

    Розміщення бази даних у першій звичайній формі

  • Жінка з видом на серверну кімнату

    Взаємозв’язки “один до багатьох” у базі даних

  • Стилізована схема потоку даних

    Основи нормалізації бази даних

  • Людина за допомогою ноутбука

    Що таке транзитивна залежність у базі даних

  • Молода жінка концентрується на своїй роботі перед комп'ютером

    Що таке залежності від бази даних?

  • Діаграма на екрані комп’ютера.

    Що таке відношення до бази даних?

  • Цифрове передавання комп'ютерного коду та ліній, що з'єднують, що представляють базу даних

    Глосарій загальних термінів бази даних

  • Крупним планом вид збоку середини 20-х років білява чорна жінка робить свій проект з розробки програмного забезпечення.  Вона сидить перед настільним комп’ютером і п’є каву, працюючи на комп’ютері.

    Що таке нормальна форма Бойца-Кодда (BCNF)?

  • Жінка тримає звіт в офісі, Закри

    Функціональна залежність у базі даних

  • Ділові люди обговорюють за ноутбуком за столом на засіданні

    Атрибут бази даних визначає властивості таблиці

  • Жіночий руки, що тримає її руку відкритою з ілюстрованим мережевим підключенням над ним

    Багатозначна залежність у проектуванні баз даних

  • Комп’ютерний аналітик, створюючи базу даних на ноутбуці

    Факти проти Таблиці розмірів у базі даних

  • База даних на комп’ютері

    Як цілісність посилань забезпечує узгодженість баз даних

  • Адміністратор бази даних, що працює за столом

    Визначники та їх роль у базі даних

  • Бізнесмени говорити, обговорювати дані на ноутбуці в конференц-залі

    Вступ до відносин баз даних

tebapit

Слідуй за нами

  • Facebook

  • Про нас
  • Рекламуйте
  • Політика конфіденційності
  • Політика щодо файлів cookie
  • Кар’єра
  • Редакційні вказівки
  • Зв’язок
  • Умови користування
  • Конфіденційність ЄС
  • Повідомлення про конфіденційність у Каліфорнії
  • ДОВІРЯ



Ваші права на конфіденційність

tebapit та наші сторонні партнери використовують файли cookie та обробляють особисті дані, такі як унікальні ідентифікатори, на основі вашої згоди зберігати та / або отримувати доступ до інформації на пристрої, показувати персоналізовану рекламу та для вимірювання вмісту, аналізу аудиторії та розробки продукту. Щоб змінити або скасувати вибір вашої згоди для tebapit.com, включаючи ваше право на заперечення, де використовується законний інтерес, натисніть нижче. Ви можете будь-коли оновити свої налаштування за посиланням “Конфіденційність ЄС” внизу будь-якої сторінки. Цей вибір буде повідомлений нашим партнерам у всьому світі і не впливатиме на дані веб-перегляду. Список партнерів (постачальників)

Ми та наші партнери обробляємо дані для:

Активно скануйте характеристики пристрою для ідентифікації. Використовуйте точні дані геолокації. Зберігайте та / або отримуйте доступ до інформації на пристрої. Виберіть персоналізований вміст. Створіть персоналізований профіль вмісту. Вимірюйте ефективність реклами. Виберіть основні оголошення. Створіть профіль персоналізованої реклами. Виберіть персоналізовану рекламу. Застосовуйте дослідження ринку, щоб генерувати уявлення про аудиторію. Виміряйте продуктивність вмісту. Розробляти та вдосконалювати продукти. Список партнерів (постачальників)