Skip to content

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

28 de Червень de 2021

Взаємозв’язок встановлюється між двома таблицями бази даних, коли одна таблиця використовує зовнішній ключ, який посилається на первинний ключ іншої таблиці. Це основна концепція терміну реляційна база даних.

Як працює зовнішній ключ для встановлення стосунків

Первинний ключ однозначно ідентифікує кожен запис у таблиці. Це тип ключа-кандидата, який, як правило, є першим стовпцем таблиці і може автоматично генеруватися базою даних, щоб переконатися, що він унікальний. Зовнішній ключ – це інший кандидат-ключ (не первинний ключ), який використовується для прив’язки запису до даних в іншій таблиці. Наприклад, розглянемо ці дві таблиці, які визначають, який викладач викладає який курс. Тут основним ключем таблиці курсів є Course_ID. Його зовнішній ключ – Teacher_ID:

Ідентифікатор курсу Назва курсу Teacher_ID
Курс_001 Біологія Вчитель_001
Курс_002 Математика Вчитель_002
Курс_003 Англійська Вчитель_003

Ви можете помітити, що зовнішній ключ у Курсах відповідає первинному ключу в Учителях:

Teacher_ID Ім’я вчителя
Вчитель_001 Кармен
Вчитель_002 Вероніка
Вчитель_003 Хорхе
Можна сказати, що зовнішній ключ Teacher_ID допоміг встановити взаємозв’язок між курсами та таблицями викладачів.
Glow / Getty Images

Типи відносин баз даних

Використовуючи зовнішні ключі або інші ключі-кандидати, ви можете реалізувати три типи взаємозв’язків між таблицями:

Один до одного

Цей тип стосунків дозволяє лише один запис на кожній стороні відносин. Первинний ключ стосується лише одного запису (або жодного) в іншій таблиці. Наприклад, у шлюбі кожен з подружжя має лише одного з подружжя. Цей тип взаємозв’язку може бути реалізований в одній таблиці і тому не використовує зовнішній ключ.

Один-до-багатьох

Відношення “один до багатьох” дозволяє пов’язати один запис в одній таблиці з кількома записами в іншій таблиці. Розглянемо бізнес із базою даних, що має таблиці Замовники та Замовлення. Один клієнт може придбати кілька замовлень, але одне замовлення не може бути пов’язане з кількома замовниками. Тому таблиця Замовлення містила б зовнішній ключ, який відповідав первинному ключу таблиці Замовники, тоді як таблиця Замовників не мала б зовнішнього ключа, що вказує на таблицю Замовлення.

Багато до багатьох

Це складні відносини, при яких багато записів у таблиці можуть посилатися на багато записів в іншій таблиці. Наприклад, нашому бізнесу, ймовірно, потрібні таблиці Замовники та Замовлення, а також, можливо, також потрібна таблиця Продукти. Знову ж таки, взаємозв’язок між таблицею Замовники та Замовлення є індивідуальним, але враховуйте взаємозв’язок між таблицею Замовлення та Товари. Замовлення може містити кілька товарів, і товар може бути пов’язаний із кількома замовленнями, оскільки кілька клієнтів можуть подати замовлення, яке містить одні й ті самі товари. Для таких відносин потрібні мінімум три таблиці.

Чому відносини з базами даних важливі?

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

Teacher_ID Ім’я вчителя Звичайно
Вчитель_001 Кармен Біологія, математика
Вчитель_002 Вероніка Математика
Вчитель_003 Хорхе Англійська

Ця конструкція є негнучкою і порушує перший принцип нормалізації бази даних, First Normal Form, який стверджує, що кожна комірка таблиці повинна містити один окремий дискретний фрагмент даних. Або, можливо, ми вирішили додати другий запис для Кармен, щоб забезпечити підтримку 1NF:

Teacher_ID Ім’я вчителя Звичайно
Вчитель_001 Кармен Біологія
Вчитель_001 Кармен Математика
Вчитель_002 Вероніка Математика
Вчитель_003 Хорхе Англійська

Це все ще слабкий дизайн, що вводить непотрібне дублювання і те, що називається аномаліями вставки даних, а це означає, що це може сприяти несумісності даних. Наприклад, якщо вчитель має кілька записів, що робити, якщо деякі дані потрібно відредагувати, але особа, яка виконує редагування даних, не усвідомлює, що існує кілька записів? Тоді таблиця містила б різні дані про одну і ту ж особу без жодного чіткого способу її ідентифікації або уникнення. Розбиття цієї таблиці на дві таблиці, Викладачі та Курси, створює належний взаємозв’язок між даними, а отже, допомагає забезпечити їх послідовність та точність. Більше від tebapit

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

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

  • Діаграма сутності та відносин

    Визначення діаграми сутності та відносин

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

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

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

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

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

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

  • Графіка червоним олівцем, що описує зв’язки з базою даних

    Створення зв’язків з базами даних у Access

  • Програміст баз даних, використовуючи ноутбук за столом у домашньому офісі

    Введення бази даних у третю звичайну форму (3NF)

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

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

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

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

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

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

  • Руки веб-дизайнера за допомогою цифрового планшета

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

  • Двоє чоловіків, дивлячись на екран комп'ютера

    Сила іноземних ключів у реляційних базах даних

  • 1 і 0, що представляють базу даних

    Що таке база даних?

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

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

  • Двійковий код на екрані ноутбука.

    5 найкращих порад щодо бази даних для початківців

  • Молодий хлопчик студент програмування на комп'ютері в темній класі

    Бази даних для початківців

tebapit

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

  • Facebook

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



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

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

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

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