ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 1658
Скачиваний: 26
66
3.
яционного
исчисления
,
буде
атрибутов
ИМЯ
и
ГОРОД
из
корт
кортежи
результирующего
отношения
,
не
касаясь
того
,
каким
образом
это
отношение
может
быть
характер
,
а
построенная
на
основе
исчисления
носит
что
любой
запр
ный
с
а
быть
преобразован
в
фор
исчислении
наоб
и
ются
в
э
во
и
илям
в
ом
,
алгебр
иж
е
м
языкам
прогр
ирова
к
естеств
ому
с
ык
.
Ре
ионн
овывается
на
разделе
математики
,
называемом
исчисление
пре
Предикат
(p
te)
логическая
,
которая
для
некоторого
Выполнить
проекцию
полученного
отношения
на
атрибуты
ИМЯ
и
ГОРОД
.
Этот
же
запрос
,
построенный
на
принципах
рел
т
иметь
следующий
вид
: «
Получить
значение
ежей
отношения
СТУДЕНТЫ
,
для
которых
в
отношении
УСПЕВАЕМОСТЬ
существуют
кортежи
с
совпадающими
значениями
атрибута
КОД
_
СТУД
и
со
значениями
атрибута
КОД
_
ДИСЦИПЛ
равными
Д
2»
.
Видно
,
что
приведенная
формулировка
фактически
задает
характеристики
или
условия
,
которым
должны
удовлетворять
получено
,
предоставляя
решение
этого
вопроса
СУБД
.
Можно
сказать
,
что
формулировка
запроса
,
использующая
алгебру
носит
процедурный
,
предписывающий
описательный
или
декларативный
характер
.
При
этом
следует
иметь
в
виду
,
что
при
всем
при
этом
алгебра
и
исчисление
являются
эквивалентными
друг
другу
в
том
смысле
,
ос
,
построен
нн
использованием лгебры
,
может
и
му
,
основа
том
ысле
ую
на
,
и
ст
орот
.
Алгебра
и
фо
лиро
счисление
явля
ри
эт
см
двумя
зможным
рму
ки
запроса
,
п
исчисление
а
бл
е
к
проц дурны
амм
ния
,
а
енн
человече кому
яз
у
ляц
ое
исчисление
осн
дикатов
.
redica
–
это
функция
аргумента
(
а
то
а т
значения
–
ИСТИН
или
ЛОЖЬ
.
ргумен
в
),
приним е
А
Центральн
исчисления
является
понятие
пер
щей
ачение
из
некоторой
области
определения
.
В
свя
та
реляционного
исчисления
:
исчисление
кор
.
В
исчислении
кортежей
областью
определения
такой
еменной
ляются
кортежи
отношения
,
а
в
исчислении
домено
ременна
ределена
доменах
отношения
.
Рассмотрим
основные
понятия
реляционного
исчисления
на
примере
исчисления
кортеж
Следующие
примеры
определений
RANGE
OF
SX
IS
СТУДЕНТЫ
DX
IS
ДИСЦИПЛИНЫ
переменной
SX
являются
кортежи
енной
SX
являются
кортежи
этого
отношения
).
Соответственно
переменная
DX
определяется
на
множестве
ым
понятием
реляционного
еменной
,
принимаю
зн
зи
с
этим
,
тежей
и
различают
дв
исчисление
а
вариан
доменов
пер
яв
в
пе
я
оп
на
ей
.
RANGE
OF
RANGE
OF
MX
IS
УСПЕВАЕМОСТЬ
указывают
,
что
областью
определения
отношения
СТУДЕНТЫ
(
значениями
перем
67
корт
ения
ДИСЦИПЛИНЫ
,
а
переменная
MX
на
множестве
кортежей
отно
исчисления
будем
записыват в
виде
HERE
Ψ
(t)
,
Ψ
это
называемая
пра
),
описывающая
условия
,
которым
должны
удовлетворят
кортежи
t
искомого
отно
о
определить
следующим
|
Ψ
(
x
)
ч
тавления
Кортежные
переменные
в
нных
формулах
выражения
реля
исления
могут
находиться
в
свободном
или
связанном
сост
квантор
случае
она
называется
кванторной
переменной
)
вантора
и
имеет
такое
же
имя
,
что
и
ременная
Примеры
правильно
построенных
формул
ОЦЕНКА
ка
’)
ах
переменные
SX
,
MX
и
DX
являются
ежей
отнош
шения
УСПЕВАЕМОСТЬ
.
ь
Выражения
реляционного
t
W
где
t
–
это
кортеж
или
кортежи
,
котор
требуется
получить
,
ые
а
(
t
)
–
логическая
формула
(
так
вильно
построенная
формула
–
ППФ
шения
.
Правильно
построенную
формулу
Ψ
(
x
)
можн
образом
Ψ
(
x
)::=
предикат
|
NOT
Ψ
(
x
)
|
Ψ
(
x
)
AND
Ψ
(
x
)
|
Ψ
(
x
)
OR
Ψ
(
x
)
→
Ψ
(
x
)
|
EXISTS
x
(
Ψ
(
x
))
|
FORALL
x
(
Ψ
(
x
))
Здесь
вертикальная
ерта
разделяет
возможные
варианты
предс
правильно
построенных
формул
.
правильно
построе
ционного
исч
ояниях
.
Переменная
называется
связанной
,
если
сразу
же
за
ней
следует
EXISTS
или
FORALL
(
в
этом
или
она
находится
в
пределах
к
применяемая
кванторная
переменная
.
В
противном
случае
пе
называется
свободной
.
F1
= (
SX
.
ГОРОД
= ‘
Воронеж
’)
.
= 3
MX
.
= 4)
F2
= (
MX
ОЦЕНКА
OR
=
OT
(
.
= ‘
Физи
F3
N
DX
ИМЯ
Используемые
в
этих
формул
свободными
.
F4
=
EXISTS
SX
(
SX
.
ИМЯ
= ‘
Иванов
’)
68
Эт формула
читается
как
: «
Существует
по
крайней
мере
одно
значени
кортежной
переменной
SX
,
определенной
на
кортежах
отношения
СТУДЕНТЫ
ой
значение
атрибута
ИМЯ
равно
‘
Иванов
’».
а
е
,
для
котор
F5 =
FORALL
MX
(
MX
.
ОЦЕНКА
>=2)
состоянии
.
ДИСЦИПЛИНЫ
Эта
формула
читается
как
: «
Для
всех
значений
кортежной
переменной
MX
значение
атрибута
ОЦЕНКА
больше
или
равно
2
».
В
последних
двух
формулах
F4
и
F5
переменные
SX
и
MX
находятся
в
связанном
(
кванторами
)
Примеры
использования
реляционного
исчисления
кортежей
для
формулировки
запросов
.
Также
как
и
в
предыдущем
разделе
при
использовании
реляционной
алгебры
для
иллюстрации
рассматриваются
следующие
отношения
.
СТУДЕНТЫ
КОД
_
СТУД
ИМЯ
ГОРОД
КОД
_
ДИСЦИПЛ
НАИМЕНОВАНИЕ
С
2
Иванов
Орел
Д
2
Информатика
С
5
Петрова
Курск
Д
6
Физика
С
4
Сидоров
Москва
Д
1
Математика
С
7
Кузнецов
Брянск
Д
5
История
С
8
Зайцева
Липецк
Д
7
Английский
С
3
Павлов
Воронеж
Д
4
Физкультура
С
10
Котов
Орел
С
15
Лукин
Воронеж
С
3
Белкин
Воронеж
2
УСПЕВАЕМОСТЬ
КОД
_
ТУД
КОД
_
ДИСЦИПЛ
ОЦЕНКА
С
С
2
Д
2 5
С
4
Д
2 4
С
8
Д
2 5
С
7
Д
6 3
С
7
Д
1 4
С
3
Д
4 5
Пример
1
Получить
имена
студентов
проживающих
в
Воронеже
.
RANGE
OF
SX
IS
СТУДЕНТЫ
SX
.
ИМЯ
WHERE
SX
.
ГОРОД
= ‘
Воронеж
’
69
Пример
2
Получить
имена
студентов
,
сдававших
дисциплину
Д
2
.
RANGE
OF
SX
IS
СТУДЕНТЫ
RANGE
OF
MX
IS
УСПЕВАЕМОСТЬ
SX
.
И
Е
=
СТУД
D
RAN
Пример
5
Получить
имена
студентов
,
которые
сдавали
все
дисциплины
.
RANGE
OF
SX
IS
СТУДЕНТЫ
RANGE
OF
DX
IS
ДИСЦИПЛИНЫ
RANGE
OF
MX
IS
УСПЕВАЕМОСТЬ
SX
.
ИМЯ
WHERE
FORALL
DX
(
EXISTS
MX
(
MX
.
КОД
_
СТУД
=
SX
.
КОД
_
СТУД
AND
MX
.
КОД
_
ДИСЦИПЛ
=
DX
.
КОД
_
ДИСЦИПЛ
))
МЯ
WHERE
EXISTS
MX
(
MX
.
КОД
_
СТУД
=
SX
.
КОД
_
СТУД
AND
MX
.
КОД
_
ДИСЦИПЛ
= ‘
Д
2’)
Пример
3
Получить
имена
студентов
,
сдававших
физику
.
RANGE
OF
SX
IS
СТУДЕНТЫ
RANGE
OF
DX
IS
ДИСЦИПЛИНЫ
RANGE
OF
MX
IS
УСПЕВАЕМОСТЬ
SX
.
ИМЯ
WHERE
EXISTS
MX
(
MX
.
КОД
_
СТУД
=
SX
.
КОД
_
СТУД
AND
EXISTS
DX
(
DX
.
КОД
_
ДИСЦИПЛ
=
MX
.
КОД
_
ДИСЦИПЛ
AND
DX
.
НАИМ НОВАНИЕ
‘
Физика
’)
или
другая
форма
того
же
запроса
SX
.
ИМЯ
WHERE
EXISTS
MX
(
EXISTS
DX
(
SX
.
КОД
_
СТУД
=
MX
.
КОД
_
AND
MX
.
КОД
_
ДИСЦИПЛ
=
DX
.
КОД
_
ДИСЦИПЛ
AND
X
.
НАИМЕНОВАНИЕ
= ‘
Физика
’))
Пример
4
Получить
имена
студентов
,
которые
не
сдавали
дисциплину
Д
2
.
GE
OF
SX
IS
СТУДЕНТЫ
RANGE
OF
MX
IS
УСПЕВАЕМОСТЬ
SX
.
ИМЯ
WHERE
NOT
EXISTS
MX
(
MX
.
КОД
_
СТУД
=
SX
.
КОД
_
СТУД
AND
MX
.
КОД
_
ДИСЦИПЛ
= ‘
Д
2’)
Интересно
сравнить
этот
запрос
с
запросом
из
примера
2.
70
7.3.
Операции
над
данными
–
реляционная
алгебра
и
реляцион
ное
исчисление
а
с
выразительной
о
полным
,
если
он
по
своим
В
двух
предыдущих
разделах
были
проиллюстрированы
две
возможности
реализации
математического
аппарата
для
осуществления
операций
над
данными
–
реляционная
алгебра
и
реляционное
исчисление
(
в
варианте
исчисления
кортежей
).
Как
уже
говорилось
,
оба
эти
подхода
являются
эквивалентными
,
т
.
е
.
любой
запрос
,
представленный
на
языке
реляционной
алгебры
может
быть
выражен
средствами
реляционного
исчисления
и
наоборот
.
Важность
реляционной
алгебры
и
реляционного
исчисления
состоит
в
том
,
что
на
их
основе
могут
строиться
практически
используемые
языки
работы
с
базами
данных
.
При
этом
сравнение этих языков
с
языками
лгебры
и
исчисления
могут
лужить
мерой
оценки
силы
языка
баз
данных
.
Язык
баз
данных
называют
реляционн
возможностям
,
по
крайней
мере
,
не
уступает
реляционной
алгебре
и
реляционному
исчислению
.
Важно
также
иметь
в
виду
,
что
возможность
предст
же
запросов
с
помощью
различных
эквивалентных
ф
авления
одних
и
тех
орм
алгебраических
выражений
или
предложений
реляционного
исчисления
дает
возможность
реализации
в
СУБД
механизма
оптимизации
запросов
,
позволяющего
путем
тожд
щей
наибольшую
эффективность
их
выполнения
.
Для
разр
о
глуб
ественных
преобразований
выражений
запросов
преобразовать
их
к
форме
,
обеспечиваю
аботчика
,
использующего
язык
запросов
к
базам
данных
SQL,
знание
,
лежащих
в
основе
этого
языка
,
алгебры
и
исчисления
позволяют
горазд
же
понимать
механизм
выполнения
запросов
СУБД
,
осознанно
осуществлять
выбор
такой
формы
выражения
запроса
,
которая
обеспечивает
более
высокую
эффективность
их
выполнения
.