Модуль 1. презентация

Содержание

Лекция 6 Базисные средства манипулирования реляционными данными: реляционное исчисление 1. Исчисление кортежей 2. Исчисление доменов

Слайд 1Модуль 1.
Математические основы баз данных и знаний


Слайд 2Лекция 6 Базисные средства манипулирования реляционными данными: реляционное исчисление 1. Исчисление

кортежей 2. Исчисление доменов

Слайд 31. Исчисление кортежей
Имеются:
Отношение СЛУЖАЩИЕ {СЛУ_НОМ, СЛУ_ИМЯ, СЛУ_ЗАРП, ПРО_НОМ}
Отношение ПРОЕКТЫ

{ПРО_НОМ, ПРОЕКТ_РУК, ПРО_ЗАРП}

Слайд 4Требуется узнать:

имена и номера служащих, которые являются руководителями проектов

со средней заработной платой, превышающей 18000

1. Исчисление кортежей


Слайд 5Запрос через средства реляционной алгебры:

(СЛУЖАЩИЕ JOIN ПРОЕКТЫ WHERE (СЛУ_ИМЯ =

ПРОЕКТ_РУК AND ПРО_ЗАРП > 18000.00)) PROJECT (СЛУ_ИМЯ, СЛУ_НОМ)

1. Исчисление кортежей


Слайд 6Расшифровка запроса:

выполнить эквисоединение отношений СЛУЖАЩИЕ и ПРОЕКТЫ по условию СЛУ_ИМЯ =

ПРОЕКТ_РУК;
ограничить полученное отношение по условию ПРО_ЗАРП > 18000.00;
спроецировать результат предыдущей операции на атрибут СЛУ_ИМЯ, СЛУ_НОМ.

1. Исчисление кортежей


Слайд 7Запрос через средства реляционного исчисления:
определения переменных:
RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ
RANGE ПРОЕКТ

IS ПРОЕКТЫ
выражение
СЛУЖАЩИЙ.СЛУ_ИМЯ, СЛУЖАЩИЙ.СЛУ_НОМ WHERE EXISTS (СЛУЖАЩИЙ.СЛУ_ИМЯ = ПРОЕКТ.ПРОЕКТ_РУК AND ПРОЕКТ.ПРО_ЗАРП > 18000.00)

1. Исчисление кортежей


Слайд 8Расшифровка запроса:
выдать значения СЛУ_ИМЯ и СЛУ_НОМ
для каждого

кортежа служащих такого, что существует кортеж проектов со значением ПРОЕКТ_РУК, совпадающим со значением СЛУ_НОМ этого кортежа служащих, и значением ПРО_ЗАРП, большим 18000.00

1. Исчисление кортежей


Слайд 9кортежная переменная

оператор RANGE - определение кортежной переменной
RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ
Ссылка

на значение атрибута переменной
СЛУЖАЩИЙ.СЛУ_ИМЯ

1. Исчисление кортежей


Слайд 10Правильно построенные формулы
(Well-Formed Formula, WFF) служат для выражения условий, накладываемых на

кортежные переменные
простые условия - операции сравнения скалярных значений
сложные варианты WFF строятся с помощью логических связок NOT, AND, OR и IF ... THEN

1. Исчисление кортежей


Слайд 111. Исчисление кортежей


Слайд 121. Исчисление кортежей
IF СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов‘
THEN (СЛУЖАЩИЙ.СЛУ_ЗАРП >= 22400.00
AND СЛУЖАЩИЙ.ПРО_НОМ

= 1)

Через IF … THEN обозначается логическая функция – импликация
По определению, IF a THEN b эквивалентно
NOT a OR b


Слайд 131. Исчисление кортежей
формула будет принимать значение true для следующих значений кортежной

переменной СЛУЖАЩИЙ

Слайд 14результат эквивалентен алгебраической операции
СЛУЖАЩИЕ WHERE
(NOT (СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов') OR

(СЛУЖАЩИЙ.СЛУ_ЗАРП >= 22400.00 AND СЛУЖАЩИЙ.ПРО_НОМ = 1)

1. Исчисление кортежей


Слайд 151. Исчисление кортежей
кортежная переменная ПРОЕКТ:
RANGE ПРОЕКТ IS ПРОЕКТЫ
правильно построенная формула:
СЛУЖАЩИЙ.СЛУ_ИМЯ =

ПРОЕКТ.ПРОЕКТ_РУК

Слайд 16Если form – это WFF, в которой участвует переменная var, то

конструкции
EXISTS var (form)
FORALL var (form)
представляют собой WFF

Исчисление кортежей

Кванторы, свободные и связанные переменные


Слайд 17формула
EXISTS var (form)
принимает значение true в том и только

в том случае, если в области определения переменной var найдется хотя бы одно значение (кортеж), для которого WFF form принимает значение true

1. Исчисление кортежей


Слайд 18Формула
FORALL var (form)
принимает значение true, если для всех значений

переменной var из ее области определения WFF form принимает значение true

1. Исчисление кортежей


Слайд 19все переменные, входящие в WFF, при построении которой не использовались кванторы,

являются свободными
если имя переменной использовано сразу после квантора при построении WFF вида EXISTS var (form) или FORALL var (form), то в этой WFF и во всех WFF, построенных с ее участием, var является связанной переменной.

1. Исчисление кортежей


Слайд 20Пусть СЛУ1 и СЛУ2 - кортежные переменные, определенные на отношении СЛУЖАЩИЕ.


Тогда WFF
EXISTS СЛУ2 (СЛУ1.СЛУ_ЗАРП > СЛУ2.СЛУ_ЗАРП)
для текущего кортежа переменной СЛУ1 принимает значение true в том и только в том случае, если во всем отношении СЛУЖАЩИЕ найдется такой кортеж (ассоциированный с переменной СЛУ2), чтобы значение его атрибута СЛУ_ЗАРП удовлетворяло внутреннему условию сравнения

1. Исчисление кортежей


Слайд 211. Исчисление кортежей


Слайд 221. Исчисление кортежей


Слайд 23Исчисление кортежей
Целевые списки (target list)

Вид целевого списка:

var.attr,
var – имя

свободной переменной соответствующей WFF
attr – имя атрибута отношения, на котором определена var;
var, что эквивалентно наличию подсписка
var.attr1, var.attr2, ..., var.attrn,
где {attr1, attr2, ..., attrn}
включает имена всех атрибутов определяющего отношения;
new_name = var.attr;
new_name – новое имя соответствующего атрибута
результирующего отношения

Слайд 24Исчисление кортежей
Выражение реляционного исчисления кортежей
Выражением реляционного исчисления кортежей
называется конструкция вида


target_list WHERE WFF
Значением выражения является
отношение, тело которого определяется
WFF, а множество атрибутов
и их имена – целевым списком.

Слайд 25Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного

множества предикатов, позволяющих выражать так называемые условия членства

2. Исчисление доменов


Слайд 26Если R – это n-арное отношение
с атрибутами a1, a2, ...,

an,
то условие членства имеет вид
R (ai1 : vi1, ai2 : vi2, ..., aim : vim) (m ≤ n),
где vij – это либо литерально
задаваемая константа,
либо имя доменной переменной.

2. Исчисление доменов


Слайд 27Условие членства принимает значение
true в том и только в том

случае, если в
отношении R существует кортеж,
содержащий указанные значения
указанных атрибутов

2. Исчисление доменов


Слайд 28Если vij – константа, то на атрибут
aij накладывается жесткое условие,
не

зависящее от текущих значений
доменных переменных;
если же vij – имя доменной переменной,
то условие членства может принимать
разные значения при разных значениях
этой переменной.

2. Исчисление доменов


Слайд 292. Исчисление доменов
WFF исчисления доменов
СЛУЖАЩИЕ (СЛУ_НОМ:2934, СЛУ_ИМЯ:'Иванов',
СЛУ_ЗАРП:22400.00, ПРО_НОМ:1)


примет значение true в том и только в том
случае, когда в теле отношения СЛУЖАЩИЕ
содержится кортеж
<2934, 'Иванов', 22400.00, 1>

Слайд 302. Исчисление доменов
WFF исчисления доменов
СЛУЖАЩИЕ (СЛУ_НОМ:2934, СЛУ_ИМЯ:'Иванов',
СЛУ_ЗАРП:22400.00, ПРО_НОМ:ПРО_НОМ)
примет значение

true для всех комбинаций
явно заданных значений и допустимых значений
переменной ПРО_НОМ
Область значений
<2934, 'Иванов', 22400.00, 1>
<2934, 'Иванов', 22400.00, 2>

Слайд 31запрос "Выдать номера и имена служащих, не получающих минимальную заработную плату":

СЛУ_НОМ,

СЛУ_ИМЯ WHERE EXISTS СЛУ_ЗАРП1(СЛУЖАЩИЕ (СЛУ_ЗАРП1)
AND
СЛУЖАЩИЕ (СЛУ_НОМ, СЛУ_ИМЯ, СЛУ_ЗАРП)
AND СЛУ_ЗАРП > СЛУ_ЗАРП1)

2. Исчисление доменов


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика