Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Ярцев в. П. Створення та обробка баз даних на пеом

Ярцев в. П. Створення та обробка баз даних на пеом




Сторінка3/20
Дата конвертації10.03.2017
Розмір2.36 Mb.
ТипПротокол
1   2   3   4   5   6   7   8   9   ...   20

2. Реляційні бази даних

2.1. Моделі та типі даних

Збережені в БД записі мають логічну структуру – модель представлення даних. Найбільш розповсюдженими моделями раніше були ієрархічна, мережна, реляційна. В даний час розроблені нові моделі: постреляційна, багатомірна, об'єктно-орієнтована. На їхній основі створюються комбіновані моделі: об’єктно -реляційна, дедуктивне - об’єктно - орієнтовані, семантичні, концептуальні та орієнтовані. У деяких СУБД підтримується одночасно кілька моделей даних.

Перш, ніж перейти до вивчення реляційних систем БД, необхідно ознайомиться з до реляційними СУБД так як внутрішня організація реляційних систем багато в чому заснована на використанні методів ранніх систем, це буде корисно для поняття шляхів розвитку постреляціних СУБД. Обмежуємося розглядом тільки загальних підходів до організації трьох типів ранніх систем:


  • систем, заснованих на інвертованих списках;

  • ієрархічних ;

  • мережних систем керування базами даних.
    Систе́ма керування ба́зами да́них (СКБД) або Систе́ма управлі́ння ба́зами да́них (СУБД) - комплекс програмного забезпечення, що надає можливості створення, збереження, оновлення та пошуку інформації в базах даних з контролем доступу до даних.


Почнемо з деяких найбільш загальних характеристик ранніх систем. Ці системи активно використовувалися протягом багатьох літ, довше, ніж використовується яка-небудь з реляційних СУБД. Насправді деякі з ранніх систем використовуються навіть у наш час, накопичені величезні бази даних, і однієї з актуальних проблем інформаційних систем є використання цих систем разом із сучасними системами. Усі ранні системи не ґрунтувалися на яких-небудь абстрактних моделях. Поняття моделі даних фактично узвичаїлося фахівців в області БД тільки разом з реляційним підходом. Абстрактні представлення ранніх систем з'явилися пізніше на основі аналізу і виявлення загальних ознак у різних конкретних систем. У ранніх системах доступ до БД вироблявся на рівні записів. Користувачі цих систем здійснювали явну навігацію в БД, використовуючи мови програмування, розширені функціями СУБД.
Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.
Інтерактивний доступ до БД підтримувався тільки шляхом створення відповідних прикладних програм із власним інтерфейсом. Навігаційна природа ранніх систем і доступ до даних на рівні записів змушували користувача самого робити всю оптимізацію доступу до БД, без якої-небудь підтримки системи. Після появи реляційних систем більшість ранніх систем було оснащено "реляційними" інтерфейсами. Однак у більшості випадків це не зробило їх по-справжньому реляційними системами, оскільки залишалася можливість маніпулювати даними в природному для них режимі.

2.1.1. БД які засновані на інвертованих списках

До числа найбільш відомих і типових представників таких систем відносяться Datacom/DB компанії Applied Data Research, Inc. (ADR), орієнтована на використання на машинах основного класу фірми IBM, і Adabas компанії Software AG.

Організація доступу до даних на основі інвертованих списків використовується практично у всіх сучасних реляційних СУБД, але в цих системах користувачі не мають безпосереднього доступу до інвертованих списків (індексів). База даних, організована за допомогою інвертованих списків, схожа на реляційну БД, але з тією відмінністю, що збережені таблиці і шляхи доступу до них видні користувачам. Рядки таблиць упорядковані системою в деякій фізичній послідовності. Фізична упорядкованість рядків усіх таблиць може визначатися і для всієї БД (так робиться, наприклад, у Datacom/DB). Для кожної таблиці можна визначити довільне число ключів пошуку, для яких будуються індекси. Ці індекси автоматично підтримуються системою, але явно видні користувачам.

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

Типовий набір операторів має вигляд:


  • LOCATE FIRS T - знайти перший запис таблиці T у фізичному порядку (повертає адреса запису);

  • LOCATE FIRS T WITH SEARCH KEY EQUAL - знайти перший запис таблиці T із заданим значенням ключа пошуку K (повертає адреса запису);

  • LOCATE NEXT - знайти перший запис, що випливає за записом із заданою адресою в заданому шляху доступу (повертає адреса запису);

  • LOCATE NEXT WITH SEARCH KEY EQUAL - знайти наступний запис таблиці T у порядку шляху пошуку з заданим значенням K, повинне бути відповідність між використовуваним способом сканування і ключем K (повертає адресу запису);

  • LOCATE FIRST WITH SEARCH KEY GREATER - знайти перший запис таблиці T у порядку ключа пошуку K зі значенням ключового поля, великим заданого значення K (повертає адреса запису);

  • RETRIVE - вибрати запис із зазначеною адресою;

  • UPDATE - обновити запис із зазначеною адресою;

  • DELETE - видалити запис із зазначеною адресою;

  • STORE - уключити запис у зазначену таблицю; операція генерує адресу запису.

Загальні правила визначення цілісності БД відсутні. У деяких системах підтримуються обмеження унікальності значень деяких полів, але в основному усіх покладається на прикладну програму.

2.1.2. Ієрархічні структури БД

Найбільш відомої і розповсюдженим є Information Management System (IMS) фірми IBM. Перша версія з'явилася в 1968 р. Дотепер підтримується багато баз даних, що створює істотні проблеми з переходом як на нову технологію БД, так і на нову техніку.

Ієрархічна БД складається з упорядкованого набору декількох екземплярів одного типу графа (дерева). Для опису структури ієрархічної БД на деякій мові програмування використовується тип даних «дерево».

Тип дерева схожий з типом даних « запис » алгоритмічної мови програмування Паскаль.

Тип даних - характеристика, яку явно чи неявно надано об'єкту (змінній, функції, полю запису, константі, масиву тощо). Тип даних визначає множину припустимих значень, формат їхнього збереження, розмір виділеної пам'яті та набір операцій, які можна робити над даними.
Він складається з одного "кореневого" типу запису та упорядкованого набору з нуля або більших типів поддеревьев (кожне з яких є деяким типом дерева). Тип дерева в цілому являє собою ієрархічно організований набір типів запису.

Приклад типу дерева (схеми ієрархічної БД) наведений на рис. 2.1

Рис.2.1. Приклад схеми ієрархічної БД


Тут таблиця Факультет є кореневим типом (предком) для таблиць Старости і Групи, а Старости і Групи – підлеглі типи (нащадки) таблиці Факультет.

Між типами запису підтримуються зв'язки. Всі екземпляри даного типу нащадка з загальним екземпляром типу предка називаються близнюками. Для БД визначений повний порядок обходу - униз, праворуч. У IMS використовувалася оригінальна і нестандартна термінологія: "сегмент" замість "запис", а під "записом БД" розумілося все дерево сегментів.

Прикладами типових операторів маніпулювання ієрархічно організованими даними можуть бути наступні:


  • Знайти зазначене дерево БД;

  • Перейти від одного дерева до іншого;

  • Перейти від одного запису до інший усередині дерева;

  • Перейти від одного запису до іншої в порядку обходу ієрархії;

  • Уставити новий запис у зазначену позицію;

  • Видалити поточний запис.

Автоматично підтримується цілісність посилань між предками і нащадками.

Основне правило: ніякий нащадок не може існувати без свого батька.

Аналогічна підтримка цілісності по посиланнях між записами, що не входять в одну ієрархію, не підтримується. В ієрархічних системах підтримувалася деяка форма представлень БД на основі обмеження ієрархії.

До достоїнств даної моделі даних відносяться ефективне використання пам'яті ЕОМ і високі показники часу виконання основних операцій над даними.

Недоліками ієрархічної моделі є її громіздкість для обробки інформації з досить складними логічними зв'язками і складність у розумінні для користувача.


2.1.3. Мережні системи БД

Типовим представником є Integrated Database Management System (IDMS) компанії Cullinet Software.Inc., призначена для використання на машинах основного класу фірми IBM під керуванням більшості операційних систем. Архітектура системи заснована на пропозиціях Data Base Task Group (DBTG) Комітету з мов програмування Conference on Data Systems Languages (CODASYL), організації, відповідальної за визначення мови програмування Кобол.

Мережний підхід до організації даних є розширенням ієрархічного. В ієрархічних структурах запис - нащадок повинна мати в точності одного предка; у мережній структурі даних нащадок може мати будь-як число предків.

Мережна БД складається з набору записів і набору зв'язків між цими записами, а якщо говорити більш точно, з набору екземплярів кожного типу з заданого в схемі БД набору типів запису і набору екземплярів кожного типу з заданого набору типів зв'язку.

Тип зв'язку визначається для двох типів запису: предка і нащадка. Екземпляр типу зв'язку складається з одного екземпляра типу запису предка й упорядкованого набору екземплярів типу запису нащадка. Для даного типу зв'язку L з типом запису предка P і типом запису нащадка C повинні виконуватися наступні дві умови:


  • Кожен екземпляр типу P є предком тільки в одному екземплярі L;

  • Кожен екземпляр C є нащадком не більш, ніж в одному екземплярі L.

На формування типів зв'язки не накладаються особливі обмеження; можливі, наприклад, що випливають ситуації. Тип запису нащадка в одному типі зв'язку L1 може бути типом запису предка в іншому типі зв'язку L2 (як в ієрархії):

- даний тип запису P може бути типом запису предка в будь-якому числі типів зв'язку;

- даний тип запису P може бути типом запису нащадка в будь-якому числі типів зв'язку;

- може існувати будь-як число типів зв'язку з тим самим типом запису предка і тим самим типом запису нащадка;

- якщо L1 і L2 - два типи зв'язку з тим самим типом запису предка P і тим самим типом запису нащадка C, те правила, по яких утвориться споріднення, у різних зв'язках можуть розрізнятися;

- типи запису X і Y можуть бути предком і нащадком в одному зв'язку і нащадком і предком - в іншій;

- предок і нащадок можуть бути одного типу запису.

Простий приклад мережної схеми БД наведена на рис.2.2.



Рис.2.2. Приклад мережної схеми БД

Зразковий набір операцій може бути наступної:


  • Знайти конкретний запис у наборі однотипних записів (студента Сидорова);

  • Перейти від предка до першого нащадка по деякому зв'язку (до першого студенту групи АД-21);

  • Перейти до наступного нащадка в деякому зв'язку (від Сидорова до Іванова);

  • Перейти від нащадка до предка по деякому зв'язку (знайти групу де навчається Сидоров);

  • Створити новий запис;

  • Знищити запис;

  • Модифікувати запис;

  • Включити в зв'язок;

  • Виключити зі зв'язку;

  • Переставити в інший зв'язок і т.д.

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

До достоїнствам раннього СУБД можна віднести:



  • Розвиті засоби керування даними в зовнішній пам'яті на низькому рівні;

  • Можливість побудови вручну ефективних прикладних систем;

  • Можливість економії пам'яті за рахунок поділу подоб’єктів (у мережних системах).

Основними недоліки є:

  • Складність у використанні тому що необхідні знання про фізичну організацію збереження даних;

  • Прикладні системи залежать від цієї організації і їхнього логіка перевантажена деталями організації доступу до БД.



2.2. Реляційна модель даних

Дані, що зберігаються в БД, завжди мають визначену логічну структуру, тобто описується тією чи іншою моделлю даних. Ми будемо вивчати тільки основні поняття реляційної моделі даних, тому що саме вона одержала широке поширення і застосовується практично у всіх промислових СУБД. В основі реляційної моделі лежить поняття відношення, саме тому модель називається реляційною (від англійського relation – відношення).



Відношенням R називається підмножина декартова добутку множин D1, D2,...,Dn.

Математично це записується так:



RD1D2…Dn,

де R – ім'я відносини;



D1D2Dn - повний декартовий добуток множин, на яких побудоване відношення R.

Множини D1, D2,…..., Dn називаються доменами.

Повний декартовий добуток – це набір усіляких сполучень з n елементів, де кожен елемент береться зі свого домену.

Розглянемо простий приклад. Нехай задані множини-домени:



D1 = {Іванов, Петров};

D2 = {Фізика, Математика};

D3 = {3, 4, 5}.

Тоді повний декартовий добуток цих множин-доменів наступний:



D1D2D3 = {Іванов, Фізика, 3,

Іванов, Фізика, 4,

Іванов, Фізика, 5,

Іванов, Математика, 3,

Іванов, Математика, 4,

Іванов, Математика, 5,

Петров, Фізика, 3,

Петров, Фізика, 4,

Петров, Фізика, 5,

Петров, Математика, 3,

Петров, Математика, 4,

Петров, Математика, 5}.

Відзначимо зараз, що кутові дужки  у математиці прийнято застосовувати для представлення упорядкованих наборів даних, якими є кортежі, а фігурні дужки {} - для представлення множин, які по визначенню неупорядковані.

Число елементів повного декартового добутку у наведеному прикладі дорівнює n1n2n3 = 223 = 12, де n1, n2, n3 – кількості елементів відповідно у доменах D1, D2, і D3.

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

R = {Іванов, Фізика, 5, Іванов, Математика, 4, Петров, Фізика, 3}.

У даному відношенні представлена ситуація, коли Іванов має по однієї оцінці з фізиці і математиці, а Петров має оцінку тільки по фізиці (математику він ще не здавав).

Число вихідних множин-доменів називають ступенем відносини. Якщо число вихідних множин = 2, відношення називається бінарним. Якщо число вихідних множин n, то n-арним.

Сутністю називається об'єкт будь-якої природи, дані про який зберігаються в БД. Дані про сутність у БД зберігаються у виді відносини.

Атрибутами називають властивості, що характеризують сутність.

У розглянутому вище прикладі відносини сутність, яка у ньому представлена, можна назвати “Успішність студентів”. Атрибутів для цієї сутності ми ввели три: Прізвище, Предмет, Оцінка. Домени D1, D2, D3 – це множини можливих значень відповідних атрибутів.



Кортежем називається упорядкована сукупність значень атрибутів, що характеризують окремий екземпляр (об'єкт) даної сутності.

У приведеному вище прикладі: Іванов, Фізика, 5 - це кортеж, що описує конкретний екземпляр сутності “Успішність студентів” - успішність студента Петрова.

Відношення має просту графічну інтерпретацію – воно може бути представлене у виді таблиці. Наприклад:


Успішність студентів

Прізвище

Предмет

Оцінка

Іванов

Фізика

5

Іванов

Математика

4

Петров

Фізика

3


Стовпці в таблиці відповідають різним атрибутам і їх (стовпці) називають часто входженнями доменів у дане відношення. Рядки таблиці є окремими кортежами відносини.

У таблицях БД стовпці часто називають полями, а рядки – записами.

Заголовок таблиці часто називають схемою відношення. Наприклад, схема відношення “Успішність студентів” має наступний вигляд:


Успішність студентів

Прізвище

Предмет

Оцінка

Таблиці, у яких представляються відношення, прийнято називати реляційними таблицями. Однак, не всяка таблиця є реляційною. Реляційні таблиці повинні задовольняти наступним вимогам:



  1. У таблицях не може бути однакових рядків (кортежів).

  2. Заголовки стовпців (імена атрибутів) повинні бути унікальними.

  3. Усі значення в одному стовпці повинні бути однорідними, тобто мати один тип даних.

  4. Порядок розміщення рядків у таблиці довільний.

Для забезпечення унікальності кортежів у кожнім відношенні визначається первинний ключ.



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

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

Зв'язок між відношеннями встановлюється через атрибути, які називають ключами зв'язку (чи зовнішніми ключами). Значення ключів зв'язку в зв'язаних кортежах повинні бути однаковими.

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

Таким чином, реляційну БД можна розглядати як множину взаємозв’язаних відношень (таблиць).

Основні переваги реляційної моделі даних:


  1. Таблична форма організації даних, що є великою зручністю як для розроблювачів, так і для користувачів БД.

  2. Строге теоретичне обґрунтування моделі, засноване на математичній теорії відношень.

Причому, останнє, очевидно, є найбільш важливим. Зупинимося коротко на деяких основних поняттях математичної теорії відношень.

2.3. Операції над відношеннями. Реляційна алгебра

В основі математичної теорії відношень лежить реляційна алгебра.

Реляці́йна алгебра - відгалуження логіки першого порядку, множина відношень замкнених операторами. Оператори застосовуються до відношень, в результаті застосування отримується нове відношення.
Нагадаємо, що взагалі алгеброю називається множина визначених об'єктів із заданої на ньому сукупністю операцій, замкнутих щодо цієї множини об'єктів. Цю множину називають основною множиною алгебри. Замкнутість операцій означає, що результат кожної з операцій завжди є елементом тієї ж основної множини, з якої вибираються операнди.

У реляційній алгебрі (її також називають реляційною алгеброю Кодда по імені вченого, що запропонував її) основною множиною є множина відношень. Множина операцій реляційної алгебри включає наступні 8 операцій: об'єднання, перетинання, різниця, добуток, вибірка, проекція, ділення, з'єднання.

Операндами реляційних операцій є відношення. Операції можуть бути бінарними (виконуватися над двома відношеннями) чи унарними (виконуватися над одним відношенням).



Для деяких бінарних операцій обов'язковим є вимога сумісності структур відношень, до яких застосовується дана операція.
Біна́рна опера́ція (бінарний оператор) - це математичний об'єкт, що складається з двох величин і певної дії над ними.
Відношення є сумісними за структурою, якщо вони мають однаковий ступінь і атрибути відношення можуть бути впорядковані таким чином, що на однакових місцях у схемі відношень будуть розташовуватися порівнянні атрибути, тобто атрибути, що приймають значення з тих же самих доменів. Далі розглянемо стисло суть кожної з операцій реляційної алгебри.

Об'єднанням R1 R2 двох відношень R1 і R2 називається відношення, яке є множиною кортежів, які одночасно присутні в R1 і R2 і не повторюються. Приклад:


R1

Прізвище

Предмет

Оцінка

Іванов

Математика

5

Петров

Фізика

3




R2

Прізвище

Предмет

Оцінка

Іванов

Математика

5

Іванов

Фізика

4




R1R2

Прізвище

Предмет

Оцінка

Іванов

Математика

5

Петров

Фізика

3

Іванов

Фізика

4



Перетинанням R1R2 двох відношень R1 і R2 називається відношення, що містить тільки ті кортежі, що належать одночасно першому і другому відношенням. Приклад: для тих же відношень R1 і R2 перетинанням є відношення:


R1R2

Прізвище

Предмет

Оцінка

Іванов

Математика

5


Різницею R1\R2 двох відношень R1 і R2 називається відношення, що містить множину кортежів таких, що належать R1, але не приналежних R2. Приклад:

R1\R2

Прізвище

Предмет

Оцінка

Петров

Фізика

3

Операції об'єднання і перетинання є комутативними, тобто їхній результат не залежить від порядку проходження операндів:



R1R2 = R2R1, R1R2 = R2R1.

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



R1\R2 R2\R1.

Добутком R1R2 називається таке відношення, усі кортежі якого отримані шляхом зчеплення кожного кортежу з R1 з кожним кортежем з R2. При цьому ступінь результуючого відношення дорівнює n m, де n – ступінь відношення R1, а m - ступінь відношення R2. Операція добутку може бути застосовна до відношень, не обов'язково сумісних за структурою. Приклад:

R1

Група

Прізвище

АД-21

Іванов

АД-22

Петров



R2

Предмет

Оцінка

Математика

5

Фізика

4




R1R2

Група

Прізвище

Предмет

Оцінка

АД-21

Іванов

Математика

5

АД-22

Петров

Математика

5

АД-21

Іванов

Фізика

4

АД-22

Петров

Фізика

4

У даному прикладі у результуючому відношенні кортеж

АД-21, Іванов, Математика, 5

є зчепленням кортежів:



АД-21, Іванов і Математика, 5.

Вибіркою з відношення R за умовою f називається нове відношення, що складається з кортежів, узятих з R і задовольняючих умові відбору f. Операція вибірки записується наступним чином: R WHERE f. Умова відбору f являє собою логічний вираз, у якому операндами є імена атрибутів чи константи, а операціями – логічні операції: not (“не”), or (“чи”), and (“і”), чи операції порівняння: , , , , ,  . Логічний вираз f може приймати одне з двох значень: Істина (True) – умова виконується, чи Неправда (False) – умова не виконується. Розглянемо приклад:


R

Прізвище

Адреса

РікНар

Іванов

Київ

1982

Петров

Бровари

1980

Козлов

Київ

1981



R WHERE РікНар = 1981

Прізвище

Адреса

РікНар

Козлов

Київ

1981


Проекцією R[X,Y,Z,…] відношення R на атрибути X,Y,Z,…, де множина {X,Y,Z,…} є підмножиною повної множини атрибутів R, називається нове відношення з атрибутами X,Y,Z,…, яке містить частини кортежів, узятих з R. Кортежі, що повторюються, з результуючого відношення виключаються. Приклад:


R

Прізвище

Предмет

Оцінка

Дата

Іванов

Фізика

5

5.10.02

Іванов

Математика

3

3.11.02

Петров

Математика

4

8.10.02

Петров

Філософія

4

15.11.02

Проекція відношення R на атрибути Прізвище й Оцінка буде наступною:




R [Прізвище, Оцінка]

Прізвище

Оцінка

Іванов

5

Іванов

3

Петров

4


Операція ділення. Нехай є двоє відношень: R1 з атрибутами А і В, і R2 з атрибутом В, причому атрибут В є загальним для обох відношень, і визначений на тому ж самому домені. Атрибути А і В взагалі можуть бути складеними. Результатом ділення R1 на R2 буде нове відношення R таке, що містить атрибут А і множину кортежів а таких, що у відношенні R1 маються кортежі а, b, причому множина значень {b} у цих кортежах повинна включати всі значення {b} з R2. Суть операції продемонструємо на наступному прикладі:

R1

A

B

a1

b1

a1

b2

a1

b3

a1

b4

a1

b5

a2

b1

a2

b2

a3

b2

a4

b2

a4

b4



R=R1/R2

A

a1

a4




R2

B

b2

b4

В результуюче відношення R включено кортеж a1 тому, що вихідне відношення R1 містить множину кортежів {a1, b2, a1, b4}, у якої множина значень атрибута B {b2, b4} включає всі значення B, які маються в R2. Кортеж a2 не включено в результуюче відношення тому, що у відношенні R1 відсутня множина {a2, b2, a2, b4}, а є тільки один кортеж a2, b2.



Операція з'єднання має кілька різновидів. Загальна схема операції з'єднання відношень R1 і R2 за умовою f наступна. На початку будується декартовий добуток множин R1 і R2. Потім до отриманого результату застосовується операція вибірки за заданою умовою f. Для пояснення сутності операції з'єднання розглянемо такий простий приклад. Нехай задані наступні відношення R1 і R2:


R1

Прізвище

Адреса

Іванов

Київ

Петров

Бровари




R2

Прізвище

Предмет

Оцінка

Іванов

Фізика

5

Іванов

Математика

3

Петров

Фізика

4

Петров

Математика

4

Потрібно одержати прізвища й адреси студентів, що мають оцінки “4”. Дана задача може бути вирішена шляхом виконання операції з'єднання відношень R1 і R2 за умовою:



f = (R1.Прізвище = R2.Прізвище) and (R2.Оцінка = 4).

Операція реалізується в такий спосіб. На початку формується декартовий добуток:



R1R2

Прізвище

Адреса

Прізвище

Предмет

Оцінка

Іванов

Київ

Іванов

Фізика

5

Іванов

Київ

Іванов

Математика

3

Іванов

Київ

Петров

Фізика

4

Іванов

Київ

Петров

Математика

4

Петров

Бровари

Іванов

Фізика

5

Петров

Бровари

Іванов

Математика

3

Петров

Бровари

Петров

Фізика

4

Петров

Бровари

Петров

Математика

4

Потім до отриманого відношення застосовується операція вибірки за умовою f. Після цього одержимо:




R = R1R2 WHERE f

Прізвище

Адреса

Предмет

Оцінка

Петров

Бровари

Фізика

4

Петров

Бровари

Математика

4

У результуюче відношення включається тільки один атрибут Прізвище, тому що він є загальним для відношень, що з'єднуються. По заданій умові потрібно одержати тільки прізвища й адреси. Тому до останнього відношення (назвемо його R) застосуємо операцію проекція на атрибути Прізвище й Адреса:




R [Прізвище, Адреса]

Прізвище

Адреса

Петров

Бровари

Кортежі, що повторюються, з результуючого відношення виключаються.


Контрольні запитання:




  1. Поняття відношення, кортеж, домен. Надати визначення, навести приклади.

  2. Поняття реляційної таблиці.

  3. Первинні та зовнішні ключі відношення.

  4. Що таке реляційна алгебра? Особливості операцій реляційної алгебри.

  5. Операції об’єднання, перетинання і різниці відношень. Навести приклади.


1   2   3   4   5   6   7   8   9   ...   20



  • 2.1.1. БД які засновані на інвертованих списках
  • 2.1.2. Ієрархічні структури БД
  • 2.1.3. Мережні системи БД
  • 2.2. Реляційна модель даних
  • 2.3. Операції над відношеннями. Реляційна алгебра