Практичне заняття №1. Обчислення кортежів.
 Мета: придбання практичних навичок побудови кортежів.
 Теоретичні відомості.

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

{ t / f(t) }

де t – єдина вільна змінна – кортеж, яка позначає кортеж фіксованої довжини; f(t) – деякий предикат над змінною t.

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

Для побудови формули (запиту) використовуються логічні зв'язки (∧,∨,¬), а також квантори загальності ∀x і квантори існування ∃x. Квантори зв'язують певні змінні. Зв'язана змінна відповідає локальній змінній у мові програмування, а вільна змінна (змінна, яка не зв'язана кванторами) відповідає глобальній змінній.

Таблиця 3.5

Правила побудови атомів формул

  

Номер

типу атому

 

Правила побудови атомів

1

R(t), де R - ім'я відношення; цей атом означає, що t є кортеж у відношенні R

2

(s[iu[j]), де s і u - змінні кортежі; θ - арифметичний оператор відношення; i і j - номери або імена компонентів (стовпчиків) у відповідних кортежах; s[i] - позначення i-го компонента в кортежі-змінній s; u[j] - позначення j-го компонента в кортежі- змінній u

3

(s[ia) або (aθs[i]), де a - константа

 

Формули будуються за певними правилами. Правила побудови формул наведені у наступній таблиці.

                                                                Таблиця 3.6

Правила побудови формул

 

Номер правила

Правила побудови формул

1

Кожен атом є формула

2

Якщо f1 і f2 - формули, то вирази:

– f1 f2;

– f1 f2;

– ¬ f1 ;

також є формулами

3

Якщо f - формула, то вирази:

– ∀t f(t);

– ∃t f(t);

також є формулами

4

Якщо f - формула, то (f) – також є формулою

5

Ніщо інше не є формулою

Приклад.

  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(курс, спеціальність) }

 

Остання зміна: четвер 14 липня 2022 08:08 AM