Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кн-10 тема екзамен.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
24.98 Кб
Скачать
  1. Реляційна модель баз даних

Реляційна модель даних - найпопулярніший спосіб представлення внутрішньої організації БД

Дані в реляційній моделі представляються у вигляді звичайних прямокутних таблиць (які називаються відношеннями), які схожі на формат представлення даних в електронних таблицях

Наприклад, інформацію про співробітників однієї фірми можна представити у вигляді відношень

Рядок у відношенні називається кортежом

Стовпець у відношенні називається атрибутом, оскільки описує певну характеристику однієї сутності, яка представляється кортежом

Проектування БД в термінах реляційної моделі зводиться до розробки відношень, які входять до даної бази

Однак таке проектування може стати причиною потрапляння до різних пасток

Нехай, нам потрібно розширити інформацію про працівників:

Найпростішим вирішенням даної проблеми є додавання нових стовпців до наявних даних

Однак аналіз такого методу вказує на ряд недоліків

  • Втрата ефективності

  • Таке відношення вже не відповідає одному кортежу кожного працівника

  • Проблема полягає в тому, що інформація про кожного працівника буде дублюватися

  • Якщо будь-яку посаду займають декілька працівників одночасно, тоді назва підрозділу та код відповідного рівня навиків будуть дублюватися у даному кортежі

Інша проблема пов’язана з видаленням даних

Якщо у нас є працівник, який займає єдину посаду в організації, то його видалення викличе і видалення даної посади з БД

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

  1. Реляційні операції

Розглянемо яким чином дана структура може використовуватися при розробці програм

Розпочнемо обговорення з декількох операцій між відношенням

В деяких випадках потрібно просто отримувати кортежі з відношень

В результаті виконання операції вибору (SELECT) буде здійснюватися вибірка, яка формуватиме нове відношення (таблицю) з відповідних кортежів

Формат операції вибору можна записати наступним чином:

NEW  SELECT from EMPLOYEE where EmplId = “34Y70”

Семантика даного правила визначає нове відношення з іменем NEW, яке містить ті кортежі відношення EMPLOYEE, в яких значення атрибуту дорівнюють “34Y70”

На противагу операції SELECT існує операція PROJECT, яка призначена для отримання стовпців

Як було вказано у попередньому прикладі, SELECT вибирає дані з кортежів, що відповідають заданим умовам

У випадку потреби отримання даних зі сформованого відношення напр. посади, слід скористатися наступною операцією

NEW2  PROJECT JobTitle from NEW1

Іншим прикладом використання є наступна операція

MAIL  PROJECT Name, Address from EMPLOYEE

Третьою операцією є операція JOIN

Основна задача — об’єднання двох різних відношень

набір атрибутів включає всі атрибути вхідних відношень

імена атрибутів вхідних відношень не відрізняються нічим окрім наявності префіксу материнського відношення

такий принцип гарантує унікальність атрибутів, навіть в тому випадку, коли вони мають однакові імена C  JOIN A and B where A.W = B.X

Нові кортежі формуються шляхом конкатенації кортежів вхідних повідомлень

Для того щоб об’єднати 2 структури потрібно:

NEW1 ← JOIN ASSIGNMENT and JOB where ASSIGNMENT.Jobld = JOB.Jobld

NEW2 ← SELECT from NEW1 where ASSIGNMENT .TermDate = "*"

LIST ← PROJECT ASSIGNMENT.EmplId, JOB.Dept from NEW2