Обчислення кортежів
Будь-який вираз обчислення кортежів може бути представлений у такому вигляді:
{ t / f(t) }
де t – єдина вільна змінна – кортеж, яка позначає кортеж фіксованої довжини; f(t) – деякий предикат над змінною t.
Формули в реляційному обчисленні кортежів будують з атомів і сукупності операторів (арифметичних і логічних). Вираз в реляційному обчисленні кортежів будують над множиною відношень. Типи можливих атомів подані в табл. 3.5.
Для побудови формули (запиту) використовуються логічні зв'язки (∧,∨,), а також квантори загальності ∀x і квантори існування ∃x. Квантори зв'язують певні змінні. Зв'язана змінна відповідає локальній змінній у мові програмування, а вільна змінна (змінна, яка не зв'язана кванторами) відповідає глобальній змінній.
Таблиця 3.5
Правила побудови атомів формул
Номер | |
типу | Правила побудови атомів |
атому | |
R(t),де R − ім'я відношення;цей атом | |
означає, що t є кортеж у відношенні R | |
(s[i]θu[j]), де s і u − змінні кортежі; θ − | |
арифметичний оператор відношення; i і j − | |
номери або імена компонентів (стовпчиків) у | |
відповідних кортежах; s[i] − позначення i-го | |
компонента в кортежі-змінній s; u[j] − | |
позначення j-го компонента в кортежі- | |
змінній u | |
(s[i]θa) або (aθs[i]), де a − константа | |
Формули будуються за певними правилами. Правила побудови формул наведені в табл. 3.6.
Таблиця 3.6 | ||
Правила побудови формул | ||
Номер | Правила побудови формул | |
правила | ||
Кожен атом є формула | ||
Якщо f1 і f2− формули, то вирази: | ||
– f1 ∧ f2; | ||
– f1 ∨ f2; | ||
– f1 ; | ||
також є формулами | ||
Якщо f − формула, то вирази: | ||
– ∀t f(t); | ||
– ∃t f(t); | ||
також є формулами | ||
Якщо f − формула, то (f) – також є формулою | ||
Ніщо інше не є формулою | ||
Приклад.
1. Вираз {t/R1 ∧R2} означає, що в якості формули виступає запис R1∧R2 і що тут визначається множина кортежів, яка одночасно належить відношенням R1 і R2. Цей вираз
є еквівалентним до виразу реляційної алгебри R1∩R2.
2. Визначити всіх студентів спеціальності ІУСТ. {t(прізвище)/∃tСтудент(t)∧t(спеціальність)="ІУСТ"}
3. Визначити всіх студентів, для яких у 7 семестрі викладач Гавриш проводить заняття.
{t(прізвище) / ∃t Студент(t) ∧ ∃s Дисципліна(s) ∧ s(семестр)=7∧ s(викладач)="Гавриш"∧
t(курс, спеціальність) = s(курс, спеціальність) }
4. Обчислення доменів
Будь-який вираз обчислення доменів може бути представлений у такому вигляді:
{ x1,x2,…,xn/ f(x1,x2,…,xn) }
де f − формула; x1,x2,…,xn − вільні змінні
В обчисленні доменів не існує змінних кортежів. Замість них вводяться змінні на доменах. У всіх інших випадках реляційне обчислення зі змінними на доменах будується так само, як і реляційне обчислення зі змінними на кортежах.
Формули в реляційному обчисленні доменів будують з атомів і сукупності операторів (арифметичних і логічних). Вираз в реляційному обчисленні доменів будують над множиною відношень. Типи можливих атомів подані в табл. 3.7.
Для побудови формули (запиту) використовуються логічні зв'язки (∧, ∨, ), а також квантори загальності ∀x і квантори існування ∃x.
Таблиця 3.7 | ||
Правила побудови атомів | ||
Номер | ||
типу | Правила побудови атомів | |
атому | ||
R(x1,x2,…,xn),де R − n-арне відношення; xi − | ||
константа або змінна на деякому домені. | ||
Атом R(x1,x2,…,xn) вказує на те, що значення | ||
тих xi, які є змінними, повинні бути вибрані | ||
так, щоби (x1,x2,…,xn) було кортежем | ||
відношення R | ||
(xθy), де x і y− константи або змінні на | ||
деякому домені; θ − арифметичний оператор | ||
відношення; | ||
Атом (xθy) вказує на те, що x і y являють | ||
собою значення, при яких істинно (xθy) | ||
Приклад.
1. Визначити всіх студентів спеціальності ІУСТ. {прізвище/∃x ∃y Студент(прізвище,x,y, "ІУСТ")}
2. Визначити всіх студентів, для яких у 7 семестрі викладач Гавриш проводить заняття.
{прізвище/∃x ∃y∃zСтудент(прізвище,x,y,z)∧ ∃s Дисципліна(s,x,z,"Гавриш",7)}
Дата добавления: 2016-03-22; просмотров: 1159;