Модель Кодда

Содержание

Слайд 2

Реляційна алгебра

Основна ідея реляційної алгебри полягає в тому що, засоби

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

Слайд 3

Основні поняття

В простому розумінні відношення є таблицею з інформацією про сукупність екземплярів

Основні поняття В простому розумінні відношення є таблицею з інформацією про сукупність
певного об'єкта предметної області.
Заголовком таблиці є перелік назв характеристик об'єкту. Характеристики об'єкту створюють множину атрибутів відношення. Імена атрибутів є назвами стовпчиків цієї таблиці
Кожен рядок таблиці містить інформацію про окремий екземпляр об'єкта. Рядки таблиці створюють множину кортежів відношення
Реляційна база даних – це набір відношень, імена яких співпадають з іменами схем відношень в схемі БД.

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

Відношення ТОВАР

Первинний
ключ

Атрибути

Кортежі

Слайд 4

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

У самому

Домен – загальна сукупність значень, з яких вибираються значення для атрибутів. У
загальному вигляді домен визначається завданням деякого базового типу даних, до якого відносяться елементи домену, і довільного логічного виразу, що застосовується до елемента типу даних. Якщо обчислення цього логічного виразу дасть результат «істина», то елемент даних є елементом домену.
Найбільш правильним інтуїтивним тлумаченням поняття домену є розуміння його як допустимої потенційної множини значень визначеного типу (або певним чином типізованих даних, які можна порівнювати та проводити деякі операції над ними, тільки за умови їх визначення на базі одного домену).
Тобто “Код_тов=Код_тов”, “Кількість=Кількість”, але не “Код_тов=Кількість” і не “Назва_тов=Колір_тов”

Кожен атрибут повинен бути визначений на одному домені

Слайд 5

Побудова відношення

Нехай D1, D2,…Dn – деякі скінченні множини.
Декартовим добутком цих множин D1×

Побудова відношення Нехай D1, D2,…Dn – деякі скінченні множини. Декартовим добутком цих
D2 ×… × Dn є множина всіх можливих кортежів, довжиною n, які містять по одному елементу з кожної множини
Наприклад: D1={a1,a2} D2 ={b1, b2,b3}
D1× D2 ={a1b1, a1b2, a1b3, a2b1, a2b2, a2b3}
Відношенням R, визначеним на множинах доменів D1, D2,…Dn називається підмножина декартового добутку цих доменів
R ⊆ D1× D2 ×… × Dn
Елементи декартового добутку – кортежі відношення.
Число n визначає степінь (арність) відношення, а кількість кортежів, його потужність (кардинальне число)

Відношення ТОВАР

Товар ⊆ D1× D2 ×… × Dn

Слайд 6

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

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

Слайд 7

Особливості реляційної моделі БД

Відношення зручно розглядати у вигляді таблиць.
Схема відношення задається ім'ям

Особливості реляційної моделі БД Відношення зручно розглядати у вигляді таблиць. Схема відношення
відношення та переліком доменів, на яких побудовано відношення.
R (D1, D2,…Dn) , Товар (Код_тов, Назва_тов, Колір, Ціна)
Схема реляційної БД задається переліком всіх відношень, які належать до БД.
Особливості реляційної моделі БД
Структура даних визначається тільки у термінах відношень.
Основна одиниця обробки даних – відношення. Доступ до окремого кортежу – не передбачено.
Зв'язків між об'єктами предметної області – не передбачено. Зв'язки між об'єктами БД реалізуються шляхом побудови нових відношень за допомогою виразів реляційної алгебри.

Слайд 8

Засоби маніпулювання реляційними даними.

У маніпуляційній частині реляційної моделі визначаються два базових механізми

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

Слайд 9

Реляційна алгебра

Основна ідея реляційної алгебри полягає в тому що, засоби

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

Слайд 10

8 базових операцій

До теоретико-множинних операцій входять:
об’єднання відношень;
переріз відношень;
різниця відношень;
декартовий добуток відношень.
До спеціальних

8 базових операцій До теоретико-множинних операцій входять: об’єднання відношень; переріз відношень; різниця
реляційних операцій відносяться:
обмеження (селекція, фільтрація) відношення;
проекція відношення;
сполучення відношень;
ділення відношень.
Крім того, до складу алгебри входить
операція присвоювання, яка дозволяє зберегти у базі даних результати обчислення алгебраїчних виразів;
операція перейменування атрибутів, яка дає можливість коректно сформувати заголовок (схему) відношення, яке є результатом обчислення.

Слайд 11

Загальна інтерпретація реляційних операцій

Результатом операції об’єднання двох відношень буде нове відношення,

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

Select * From A
UNION
Select * From B

Слайд 12

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

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

Select * From A Where Exists
(Select * From B Where A.P1=B.P1 and … and A.Pn=B.Pn)

Слайд 13


Відношення, що є різницею двох відношень, містить всі кортежі, які

Відношення, що є різницею двох відношень, містить всі кортежі, які входять у
входять у перше відношення-операнд, але жоден з них не входить у друге відношення-операнд.

Select * From A Where not Exists
(Select * From B Where A.P1=B.P1 and … and A.Pn=B.Pn)

Слайд 14


Декартовий добуток

А

В

С

×

=

Select * From A, B

Декартовий добуток А В С × = Select * From A, B

Слайд 15


Селекцією (фільтрацією) відношення R по логічному виразу β є нове

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

Спеціальні реляційні операції

Студент

F(Студент, спец=07)

Select * From A Where A.P=n

Слайд 16


Проекцією відношення R на набір доменів А є нове відношення,

Проекцією відношення R на набір доменів А є нове відношення, яке складається
яке складається з кортежів відношення R, з яких видалені атрибути доменів, що не входять в набір А

Спеціальні реляційні операції

Студент

Студент[Курс, Спец]

Select distinct P1,P2 From A

Слайд 17


Сполучення відношень R1 і R2 за умовою β є селекція

Сполучення відношень R1 і R2 за умовою β є селекція декартового добутку
декартового добутку цих множин за умовою β

Спеціальні реляційні операції

Студент

Спеціальності

Fх(Студент, Спеціальності, Студент.спец=Спеціальності.Код_Сп)

Select A.*, B.*
From A,B
Where A.P=B.P

Слайд 18


Результатом ділення відношення R1(A1,A2,...,Ak) (k

Результатом ділення відношення R1(A1,A2,...,Ak) (k Спеціальні реляційні операції Студент Успішність Студент / Успішність
відношення, визначене на атрибутах відношення R1, яких немає у відношенні R2. Кортежі включаються у результуюче відношення тільки в тому випадку, якщо його декартовий добуток з відношенням R2 міститься в R1

Спеціальні реляційні операції

Студент

Успішність

Студент / Успішність