Реляционное исчисление кортежей. Система запросов

Содержание

Слайд 2

Исчисле́ние
Лат. calculus — небольшой камешек, используемый для подсчёта.

Исчисле́ние Лат. calculus — небольшой камешек, используемый для подсчёта.

Слайд 3

Система запросов «Реляционное исчисление кортежей»

Система запросов «Реляционное исчисление кортежей»

Слайд 4

Система запросов «Реляционное исчисление кортежей»

Система запросов «Реляционное исчисление кортежей»

Слайд 5

Выражение реляционного исчисления кортежей

x – переменная TC
f – предикат
{x(R) | f(x)} –

Выражение реляционного исчисления кортежей x – переменная TC f – предикат {x(R)
выражение TC, если:
f(x) разрешена над TC
x – единственная переменная в f(x), имеющая свободный тип вхождения
R ⊆ U
Если type(x, f) определен, то type(x, f) = R, иначе R ⊇ men(f,x)

Слайд 6

Выражение реляционного исчисления кортежей

Отношение, определяемое выражением TC:
r(R) = {t(R) : f(t) ≡

Выражение реляционного исчисления кортежей Отношение, определяемое выражением TC: r(R) = {t(R) :
true}
type(x, f) – тип переменной x в формуле f
men(f, x) – множество ссылок переменной x в формуле f

Слайд 7

Формула реляционного исчисления кортежей

Формула реляционного исчисления кортежей

Слайд 8

Формула реляционного исчисления кортежей

Формула реляционного исчисления кортежей

Слайд 9

Формула реляционного исчисления кортежей

II. Формула

Формула реляционного исчисления кортежей II. Формула

Слайд 10

Формула реляционного исчисления кортежей

II. Формула

Примечание
Допускается следующий вариант записи формул:
Qx(R)∈r(f)
x –

Формула реляционного исчисления кортежей II. Формула Примечание Допускается следующий вариант записи формул:
переменный кортеж,
f ∍ x – формула,
r ∈ d – отношение,
R ⊆ U,
Q – квантор

Слайд 11

Разрешенная формула реляционного исчисления кортежей

Разрешенная формула реляционного исчисления кортежей

Слайд 12

Разрешенная формула реляционного исчисления кортежей

Формула
g – разрешенная формула

f

Разрешенная формула реляционного исчисления кортежей Формула g – разрешенная формула f =
= ¬g ⇨ f – разрешена
типы вхождения переменных в f, а также типы и
множества ссылок, сохраняются по сравнению
с типами вхождения переменных в g
type(x, f) = type(x, g), men(x, f) = men(x, g)

Слайд 13

Разрешенная формула реляционного исчисления кортежей

Формула
g, h – разрешенные формулы

Разрешенная формула реляционного исчисления кортежей Формула g, h – разрешенные формулы f
f = g ∧ h ⇨ f – разрешена
типы вхождения переменных в f сохраняются по
сравнению с типами вхождения переменных в g
type(x, f) = type(x, g) = type(x, h), если определены
type(x, g) и type(x, h)
type(x, f) = type(x, g), если определен type(x, g), но не
определен type(x, h); men(x, h) ⊆ type(x, g)
men(x, f) = men(x, g) ∪ men(x, h), если не определены
type(x, g) и type(x, h)

Слайд 14

Разрешенная формула реляционного исчисления кортежей

Формула
g, h – разрешенные формулы

Разрешенная формула реляционного исчисления кортежей Формула g, h – разрешенные формулы f
f = g ∨ h ⇨ f – разрешена
типы вхождения переменных в f сохраняются по
сравнению с типами вхождения переменных в g
type(x, f) = type(x, g) = type(x, h), если определены
type(x, g) и type(x, h)
type(x, f) = type(x, g), если определен type(x, g), но не
определен type(x, h); men(x, h) ⊆ type(x, g)
men(x, f) = men(x, g) ∪ men(x, h), если не определены
type(x, g) и type(x, h)

Слайд 15

Разрешенная формула реляционного исчисления кортежей

Формула
g – разрешенная формула

f =

Разрешенная формула реляционного исчисления кортежей Формула g – разрешенная формула f =
∃x(R)g
f разрешена, если тип вхождения х в g – свободный,
type(x, g) = R (если type(x, g) определен в g) или
men(x, g) ⊆ R
тип вхождения х в g – связанный ⇨ type(x, f) и
men(x, f) не определены
типы вхождения переменных, ≠ х, в f сохраняются
по сравнению с типами вхождения переменных в g

Слайд 16

Разрешенная формула реляционного исчисления кортежей

Формула
g – разрешенная формула

f

Разрешенная формула реляционного исчисления кортежей Формула g – разрешенная формула f =
= ∀x(R)g
f разрешена, если тип вхождения х в g – свободный,
type(x, g) = R (если type(x, g) определен в g) или
men(x, g) ⊆ R
тип вхождения х в g – связанный ⇨ type(x, f) и
men(x, f) не определены
типы вхождения переменных, ≠ х, в f сохраняются по
сравнению с типами вхождения переменных в g

Слайд 17

Разрешенная формула реляционного исчисления кортежей

Формула
g – разрешенная формула

f

Разрешенная формула реляционного исчисления кортежей Формула g – разрешенная формула f =
= (g) ⇨ f – разрешена
типы вхождения переменных в f, а также типы и
множества ссылок, сохраняются по сравнению с
типами вхождения переменных в g
type(x, f) = type(x, g), men(x, f) = men(x, g)

Слайд 18

Значение выражения реляционного исчисления кортежей:

Подстановка
f(x) – разрешенная формула
type(x, f) = R, R⊆U,

Значение выражения реляционного исчисления кортежей: Подстановка f(x) – разрешенная формула type(x, f)
или men(x, f)⊆R
f(t/x) – подстановка
кортежа t вместо переменной x,
определяемая модификацией ∀ атома,
содержащего свободное вхождение х в f
по правилам:

Слайд 19

Значение выражения реляционного исчисления кортежей:

Подстановка

Значение выражения реляционного исчисления кортежей: Подстановка

Слайд 20

Значение выражения реляционного исчисления кортежей

Интерпретация
f(x) – разрешенная формула

Значение выражения реляционного исчисления кортежей Интерпретация f(x) – разрешенная формула ∄ свободных
свободных переменных в f
I(f) – интерпретация формулы f

f = true ⇨ I(f) = true
f = false ⇨ I(f) = false
f = ¬g, в g ∄ свободных переменных
I(f) = true, если I(g) = false
I(f) = false, если I(g) = true

Слайд 21

Значение выражения реляционного исчисления кортежей

Интерпретация
f(x) – разрешенная формула

Значение выражения реляционного исчисления кортежей Интерпретация f(x) – разрешенная формула ∄ свободных
свободных переменных в f
I(f) – интерпретация формулы f

f = g ∧ h, в g и h ∄ свободных переменных
I(f) = true, если I(g) = true и I(h) = true,
иначе I(f) = false
f = g ∨ h, в g и h ∄ свободных переменных
I(f) = false, если I(g) = false и I(h) = false,
иначе I(f) = true

Слайд 22

Значение выражения реляционного исчисления кортежей

Интерпретация
f(x) – разрешенная формула

Значение выражения реляционного исчисления кортежей Интерпретация f(x) – разрешенная формула ∄ свободных
свободных переменных в f
I(f) – интерпретация формулы f

f = ∃x(R)g, х – единственная свободная переменная в g
I(f) = true, если ∃ t ∈ dom(R) : I(g(t/x)) = true,
иначе I(f) = false
f = ∀x(R)g, х – единственная свободная переменная в g
I(f) = true, если ∀ t ∈ dom(R) I(g(t/x)) = true,
иначе I(f) = false
f = (g) ⇨ I(f) = I(g)

Слайд 23

Значение выражения реляционного исчисления кортежей

Значение выражения реляционного исчисления кортежей

Слайд 24

Реляционное исчисление кортежей: пример

r(R), R = {“№ студ. билета“, “Фамилия“, “Группа“}
Задание:
Получить фамилии всех

Реляционное исчисление кортежей: пример r(R), R = {“№ студ. билета“, “Фамилия“, “Группа“}
студентов, обучающихся в
группе 2232

Слайд 25

{x(“Фамилия“) | ∃y(R) (r(y) ∧ x(“Фамилия“) =
y(“Фамилия“) ∧ y(“Группа“) =

{x(“Фамилия“) | ∃y(R) (r(y) ∧ x(“Фамилия“) = y(“Фамилия“) ∧ y(“Группа“) = 2232)}
2232)}
{x(“Фамилия“) | ∃y(R) ∈ r (x(“Фамилия“) =
y(“Фамилия“) ∧ y(“Группа“) = 2232)}

Реляционное исчисление кортежей: пример

Слайд 26

Реляционное исчисление кортежей: пример

Реляционное исчисление кортежей: пример

Слайд 27

Реляционное исчисление кортежей: пример

Реляционное исчисление кортежей: пример

Слайд 28

Реляционное исчисление кортежей: пример

Реляционное исчисление кортежей: пример

Слайд 29

Реляционное исчисление кортежей: пример

Реляционное исчисление кортежей: пример

Слайд 30

Реляционное исчисление кортежей: пример

Реляционное исчисление кортежей: пример