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

Содержание

Слайд 2

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

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

Слайд 3

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

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

Слайд 4

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

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

Слайд 5

Выражение реляционного исчисления кортежей x – переменная TC f – предикат

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

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

– выражение 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)

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

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

≡ true}
type(x, f) – тип переменной x в формуле f
men(f, x) – множество ссылок переменной x в формуле f
Слайд 7

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

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

Слайд 8

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

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

Слайд 9

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

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

II. Формула

Слайд 10

Формула реляционного исчисления кортежей II. Формула Примечание Допускается следующий вариант записи

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

II. Формула

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

– переменный кортеж,
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 = 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 = 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(x) – разрешенная формула
type(x, f) = R,

R⊆U, или 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)}
{x(“Фамилия“) | ∃y(R) ∈ r (x(“Фамилия“) =
y(“Фамилия“) ∧ y(“Группа“) = 2232)}

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

Слайд 26

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

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

Слайд 27

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

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

Слайд 28

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

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

Слайд 29

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

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

Слайд 30

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

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