- •З дисципліни технологія проектування та адміністрування баз даних і сховищ даних
- •1. Визначення і класифікація бд як інформаційної системи
- •2. Автоматизовані банки даних
- •2.1. Основні поняття й визначення бази і банків даних
- •2.2. Загальна побудова і характеристики бази даних.
- •2.3. Вимоги до банків даних
- •2.5. Принципи побудови банків даних
- •3. Технологія проектування бд
- •3.1. Трирівнева модель системи керування базою даних. Фізична і логічна незалежність.
- •3.2. Інфологічна модель даних. Основні поняття.
- •3.3. Класифікація моделей даних.
- •3.4. Вимоги й підходи до інфологічного проектування
- •3.5. Аналіз предметної області
- •3.4. Основні моменти аналізу предметної області
- •4. Модель «сутність – зв’язок» (er-модель) предметної області
- •4.1. Основні елементи моделі «сутність-зв'язок»
- •4.2. Основні риси моделі "сутність-зв'язок" (er-моделі).
- •6. Мови інфологічного моделювання
- •6.1. Мова er-діаграм
- •6.2. Технологія побудови ілм на прикладі er-моделі
- •1. Лобіо по грузинськи:
- •5. Класифікація сутностей і зв'язків
- •5.1. Класи сутностей
- •5.2. Характеристика зв'язків
- •7. Моделі даних, підтримувані субд.
- •7.1. Організація даних
- •3.1. Файлова модель.
- •3.2. Структури даних.
- •12.1. Моделі даних - основні визначення.
- •12.2. Ієрархічна модель даних
- •12.3. Мережна модель даних
- •12.4. Переваги і відмінності мережної моделі.
- •13. Реляційна модель даних
- •5.1. Реляційна модель даних: основні поняття.
- •Студент
- •5.2. Характеристики відношення
- •Студент (Прізвище _ та _ ініціали, Курс, Група, Спеціальність)
- •5.2. Загальна структура реляційної моделі.
- •5.5. Основи реляційної алгебри Операції з даними в реляційній моделі
- •5.4. Поняття ключа. Основні типи ключів
- •8. Нормалізація схем баз даних
- •Кожна наступна нормальна форма в деякому змісті краще попередньої;
- •При переході до наступної нормальної форми властивості попередніх нормальних властивостей зберігаються.
- •9. Адміністрування баз даних
- •9.1. Завдання адміністрування даних.
- •9.2. Користувачі банків даних
- •9.3. Основні функції групи адміністратора бд
5.5. Основи реляційної алгебри Операції з даними в реляційній моделі
Операції з даними в реляційній базі даних включають операції над рядками (кортежами відношень) та операції над відношеннями.
Операції, що виконуються на рівні кортежів:
вставка (додається новий рядок),
вилучення (знищується рядок),
поновлення (здійснюються зміни значень атрибутів у рядках).
Основною одиницею обробки даних у реляційній моделі є відношення (файл). Ефективність реляційної системи управління базою даних визначається здатністю виконувати над відношеннями операції алгебри відношень.
Реляційна модель баз даних надає можливість маніпулювати над доменами відношень. Для цих цілей існує два види апаратів маніпулювання відношеннями: реляційна алгебра (алгебра відношень) і реляційне обчислення (обчислення відношень).
Алгеброю відношень називають систему операцій маніпулювання відношеннями, кожний оператор якого в якості операнда (операндів) використовує одне чи більше відношень і утворює нове відношення за попередньо обумовленим правилом.
Реляційне обчислення дозволяє шляхом використання обчислення предикатів та кванторів змінних описувати відношення та операції над ними в вигляді аналітичного виразу або формули.
В реляційній алгебрі використовують п'ять основних операцій:
об'єднання,
різниця (віднімання),
декартовий добуток,
проекція,
селекція.
Об'єднання. Об'єднання відношень R і S (позначаться R U S) представляє собою множину кортежів, які належать R чи S або їм обом. Операція об'єднання виконується над двома сумісними відношеннями R1, R2 (з ідентичною структурою d1, d2... dn) (таблиці 4.5, 4.6). Оператор об'єднання застосовується тільки до відношень однакової арності. Якщо в результаті об'єднання відношень мають місце однакові кортежі, то вони заміняються одним.
Нехай задано два відношення , представлені таблицями 4.5, 4.6. Виконаємо над ними операцію об'єднання.
∩כU
Таблиця 4.5 R1. Науковий семінар 1
-
Кортеж
Прізвище та ініціали
Група
С11
Кубів І.П.
12
С12
Сомів М.В.
25
С13
Кріт І.В.
40
С14
Вовчук В.І.
31
Таблиця 4.6 R2. Науковий семінар 2
-
Кортеж
Прізвище та ініціали
Група
С21
Кріт І.В.
40
С22
Кубів І.П.
12
С23
Якубів Н.З.
18
У результаті операції об’єднання будується нове відношення R = R1 U R2. Відношення R має той самий склад атрибутів і сукупність кортежів вихідних відношень. Причому в цю сукупність не включаються дублікати. В результаті об'єднання відношень отримуємо результуюче відношення, яке представлено в табл.4.7.
Таблиця 4.7 R = R1 U R2. Науковий семінар
-
Кортеж
Прізвище та ініціали
Група
С11 (С22)
Кубів І.П.
12
С12
Сомів М.В.
25
С13 (С21)
Кріт І.В.
40
С14
Вовчук В.І.
31
С23
Якубів Н.З.
18
Різниця (віднімання). Різницею відношення R і S (позначається як R - S), називається множина кортежів, які належать R, але не належать S (рис.4.5). При реалізації різниці необхідно, щоб R і S мали одну і ту ж саму арність.
Р і з н и ц я операція виконується над двома сумісними відношеннями R1, R2 з ідентичним набором атрибутів. У результаті операції віднімання будується нове відношення RV = R1 - R2 з ідентичним набором атрибутів, яке містить лише ті кортежі відношення R1, які не повторюються в другому відношенні R2.
Рисунок 4.5 - Графічна ілюстрація операції різниці відношень
У результаті операції віднімання будується нове відношення RV = R - S з ідентичним набором атрибутів, яке містить лише ті кортежі відношення R, які не повторюються в другому відношенні S.
Різниця відношень
-
Кортеж
Прізвище та ініціали
Група
С12
Сомів М.В.
25
С14
Вовчук В.І.
31
Причому результат RV = R – S не є рівним RV = S – R.
Якщо А - відношення про жителів мікрорайону, В - відношення про тих, хто пройшов медичний огляд, то відношення А - В буде містити дані про тих жителів мікрорайону, хто не пройшов медичний огляд.
Перетин R ∩ S операція, яка виконується над двома сумісними відношеннями R1, R2 (представлені таблицями 4.5, 4.6.)
Результуюче відношення RP = R1 ∩ R2 містить однакові кортежі, які є в кожному з двох вихідних. Результат перерізу має той же склад атрибутів, як і у вихідних.
-
Кортеж
Прізвище та ініціали
Група
С11 (С22)
Кубів І.П.
12
С13 (С21)
Кріт І.В.
40
Таким чином, операція Перетину зясовує, що є спільним в двох відношеннях.
R
P
= R ∩
S
Ділення . двох відношень R та S R/S знаходиться згідно формул (R - (R - S)). Нехай R та S є відношення арності r і s відповідно, де (r > s) і S {}. Тоді частка R / S є множина кортежів t довжини (r - s) таких, що для всіх кортежів u довжини s, які належать S, кортеж tu належить R. Виконаємо операцію ділення над відношеннями R та S , які представлені відповідно таблицями 4.13 та 4.14.
Таблиця 4.13 - Екзаменаційна відомість R
Таблиця 4.14 - Відношення S
В результаті отримуємо частку (табл.4.15).
Таблиця 4.15 - Відношення – частка R / S
Декартовий добуток (або «Зєднання»). Нехай R і S - відношення арності k1 і k2 відповідно. Тоді декартовим добутком відношень R і S називається множина кортежів довжини (k1 + k2), перші k1 компонентів яких утворюють кортежі, які належать R, а останні k2 - кортежі, що належать S.
Декартів добуток виконується над двома відношеннями R, S, що мають різний склад атрибутів (d1, d2... dn) і (р1, р2... рm) відповідно У результаті операції декартового добутку утворюється нове відношення RD = R S, яке містить усі атрибути вихідних відношень (d1, d2... dn, р1, р2... рm). Результат відношення складається з можливих групувань кортежів вихідних відношень R і S. Кількість кортежів декартового добутку дорівнює добутку кількості кортежів у вихідних відношеннях.
Наприклад (рис. 4.5А):
Результатом декартового добутку відношень СТУДЕНТИ (Табл. 4.8) та ГРАФІК ІСПИТІВ (Табл. 4.9)
Табл. 4.8 R. Студенти Табл. 4.9 S. Графік іспитів
Кортеж |
Прізвище та ініціали |
Група |
|
Кортеж |
Дисципліна |
Дата |
С11 |
Кумів О.Я. |
15 |
|
С21 |
Бази даних |
28.12.97 |
С12 |
Васькін Л.М. |
23 |
|
С22 |
Економічна кібернетика |
5.01.98 |
С13 |
Мойсак Т.В. |
31 |
|
|
|
|
буде відношення ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ (Табл. 4.10).
Таблиця 4.10 RD = R S. ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ
Кортеж |
Прізвище та ініціали |
Група |
Дисципліна |
Дата |
С11 (С21) |
Кумів О. Я. |
15 |
Бази даних |
28.12.97 |
С12 (С21) |
Васькін Л. . |
23 |
Бази даних |
28.12.97 |
С13 (С21) |
Мосак Т. В. |
31 |
Бази даних |
28.12.97 |
С11 (С22) |
Кумів О. Я. |
15 |
Економічна кібернетика |
5.01.98 |
С12 (С22) |
Васькін Л.М. |
23 |
Економічна кібернетика |
5.01.98 |
С13 (С22) |
Мосак Т. В. |
31 |
Бухгалтерський облік |
5.01.98 |
Проекція. Суть цієї операції полягає в тому, що береться відношення R, видаляються деякі з його компонентів і компоненти, що залишились -перевпорядковуються. Якщо в результаті проекції з'являються однакові кортежі, то вони з результуючого відношення вилучаються.
Операція проекції полягає в видаленні необхідних стовпців (доменів) з відношення. Нехай дано відношення СТУДЕНТ-УСПІШНІСТЬ (табл.4.3).
Таблиця 4.3 - СТУДЕНТ-УСПІШНІСТЬ
В результаті виконання операції проекції отримуємо нове відношення, яке представлено в табл. 4.4.
Таблиця 4.4 - Приклад операції "проекція"
Селекція. Нехай F - формула, яка може бути утворена такими засобами:
а) операндами, які є константами чи номерами компонентів;
б) арифметичними операторами порівняння <, =, >, ≤, ≠, ≥;
в) логічними операторами & (І), ІІ (АБО), ! (НІ).
В цьому випадку f (R) є множина кортежів t, які належать R, таких, що при підстановці i-го компонента t замість будь-якого входження номера i в формулу F для всіх i вона стане істиною. Наприклад, 2 > 3 (R) означає множину кортежів, що належать R, другий компонент яких більше третього компонента.
Таблиця 4.11 - Відношення
При реалізації селекції відношення, приведеного в табл.4.11, згідно з ознакою (вік > 20), отримуємо відношення (табл.4.12):
Таблиця 4.12 - Відношення, над яким виконано операцію селекції
Крім перерахованих операцій існують і інші, але їх можна отримати з п'яти основних.
Схематично операції реляційної алгебри представлені на рис.4.6.
Контрольні запитання.
1. Скільки основних операції використовується в реляційній алгебрі?
2. Чи може відношення мати два однакових кортежі після виконання операцій проекції чи об'єднання?
3. Які основні операції використовуються при знаходженні частки?
4. Як змінюється потужність відношень при виконанні операцій реляційної алгебри?
