Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Один-до-Одного та Багато-до-Багатьох | Relational Database
course content

Зміст курсу

Реляційні Бази Даних та Нормалізація

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

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

Зв'язок "один-до-одного" - це тип зв'язку, в якому кожному запису в одній таблиці відповідає запис в іншій таблиці. Це комбінація двох зв'язків:

  • Перша таблиця має зовнішній ключ, який посилається на первинний ключ другої таблиці.
  • Друга таблиця має зовнішній ключ, який посилається на первинний ключ першої таблиці.

Примітка

Зв'язок один до одного базується на зовнішньому ключі. Зовнішній ключ повинен мати параметр "unique=True".

Існують ситуації, коли один запис може існувати лише за наявності іншого, але цей інший може бути незалежним. Такий зв'язок називається Один обов'язковий для одного.

Розглянемо наступну діаграму:

Ще одна репрезентація:

Один обов'язковий для одного: Passport (Паспорт) повинен мати Person (Особу), якій він належить. Особа може існувати без паспорта (наприклад, діти).

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

Зв'язок "багато до багатьох" - це також комбінація двох зв'язків, але більш очевидна.

Цей зв'язок вимагає створення нової таблиці. Нова таблиця повинна мати три стовпці: id (ідентифікатор для кожного відношення), first_table_id і second_table_id. Стовпці first_table_id і second_table_id є зовнішніми ключами для пов'язаних таблиць.

Driver and Car relations

Є driver_id та car_id (зовнішні ключі). У таблиці "driver-car" ми можемо побачити п'ять відносин з унікальними ідентифікаторами:

  • (id 1 і 2) Водій Джон (driver_id=1) може керувати автомобілями Subaru (car_id=1) та BMW (car_id=3).
  • (id 3, 4 і 5) Водій Емма (driver_id=2) може керувати автомобілями Subaru (car_id=1), Mercedes (car_id=2) та BMW (car_id=3).

Багато водіїв можуть керувати багатьма автомобілями: Джон і Емма можуть керувати Subaru та BMW.

Діаграма:

Зазвичай на діаграмах приховуються додаткові таблиці. Зверху ви можете побачити відсутність таблиці driver-car.

1. Виберіть звʼязок "один до одного":
2. Виберіть зв'язок "багато до багатьох":

Виберіть звʼязок "один до одного":

Виберіть правильну відповідь

Виберіть зв'язок "багато до багатьох":

Виберіть правильну відповідь

Все було зрозуміло?

Секція 2. Розділ 4
course content

Зміст курсу

Реляційні Бази Даних та Нормалізація

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

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

Зв'язок "один-до-одного" - це тип зв'язку, в якому кожному запису в одній таблиці відповідає запис в іншій таблиці. Це комбінація двох зв'язків:

  • Перша таблиця має зовнішній ключ, який посилається на первинний ключ другої таблиці.
  • Друга таблиця має зовнішній ключ, який посилається на первинний ключ першої таблиці.

Примітка

Зв'язок один до одного базується на зовнішньому ключі. Зовнішній ключ повинен мати параметр "unique=True".

Існують ситуації, коли один запис може існувати лише за наявності іншого, але цей інший може бути незалежним. Такий зв'язок називається Один обов'язковий для одного.

Розглянемо наступну діаграму:

Ще одна репрезентація:

Один обов'язковий для одного: Passport (Паспорт) повинен мати Person (Особу), якій він належить. Особа може існувати без паспорта (наприклад, діти).

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

Зв'язок "багато до багатьох" - це також комбінація двох зв'язків, але більш очевидна.

Цей зв'язок вимагає створення нової таблиці. Нова таблиця повинна мати три стовпці: id (ідентифікатор для кожного відношення), first_table_id і second_table_id. Стовпці first_table_id і second_table_id є зовнішніми ключами для пов'язаних таблиць.

Driver and Car relations

Є driver_id та car_id (зовнішні ключі). У таблиці "driver-car" ми можемо побачити п'ять відносин з унікальними ідентифікаторами:

  • (id 1 і 2) Водій Джон (driver_id=1) може керувати автомобілями Subaru (car_id=1) та BMW (car_id=3).
  • (id 3, 4 і 5) Водій Емма (driver_id=2) може керувати автомобілями Subaru (car_id=1), Mercedes (car_id=2) та BMW (car_id=3).

Багато водіїв можуть керувати багатьма автомобілями: Джон і Емма можуть керувати Subaru та BMW.

Діаграма:

Зазвичай на діаграмах приховуються додаткові таблиці. Зверху ви можете побачити відсутність таблиці driver-car.

1. Виберіть звʼязок "один до одного":
2. Виберіть зв'язок "багато до багатьох":

Виберіть звʼязок "один до одного":

Виберіть правильну відповідь

Виберіть зв'язок "багато до багатьох":

Виберіть правильну відповідь

Все було зрозуміло?

Секція 2. Розділ 4
some-alt