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

Презентация:



Advertisements
Похожие презентации
Базы данных Лекция 6 Базисные средства манипулирования реляционными данными: реляционное исчисление.
Advertisements

Модуль 1. Математические основы баз данных и знаний 1.
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Базы данных Лекция 5 Базисные средства манипулирования реляционными данными: алгебра A Дейта и Дарвена.
Реляционное исчисление. Общая характеристика Запрос – формула некоторой формально-логической теории; описывает свойства желаемого результата. Ответ –
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 4 ДОСТУП К ДАННЫМ В РЕЛЯЦИОННЫХ МОДЕЛЯХ ХРАНЕНИЯ ДАННЫХ.
Реляционная алгебра – механизм манипулирования реляционными данными Все операции производятся над отношениями, и результатом операции является отношение.
Модуль 1. Математические основы баз данных и знаний 1.
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
Базы данных Лекция 7 Элементы теории реляционных баз данных: функциональные зависимости и декомпозиция без потерь.
Свойства функций Область определения, множество значений, чётность, нечётность, возрастание, убывание.
Информатика ЕГЭ Уровень-А8. Вариант 1 Укажите логическое выражение, равносильное данному: (А^B) v ((¬B ^ ¬A) v A). 1) (A^ B) v (¬B) 2) (A ^ B) v (¬A)
Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
1 Построение логических схем (Презентация). 2 Правило построения логических схем: 1.Определить число логических переменных. 2.Определить количество базовых.
Логика первого порядка ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекции Н.В. Белоус Факультет компьютерных наук Кафедра.
Учитель : Шарова Светлана Геннадьевна, МБОУ гимназия, г. Урюпинск, Волгоградская область УЧИМСЯ РЕШАТЬ ЗАДАЧИ С ПАРАМЕТРАМИ. ПОДГОТОВКА К ЕГЭ. ЗАДАНИЕ.
Булевы функции и алгебра логики. Двойственность булевых функций ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекции 4-5 Н.В. Белоус.
Базы данных Лекция 9 Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация.
1 АЛГЕБРА АЛГЕБРА ВЫСКАЗЫВАНИЙ АЛГЕБРА2 В алгебре высказываний суждениям (простым высказываниям) ставятся в соответствие логические переменные (заглавные.
A & B A B A v B Основы логики. A&B AvBAvB AvBAvB AvBAvB AvBAvB AvBAvB AB 2 Логика – это наука о формах и способах мышления Джордж Буль ( )
Транксрипт:

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

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

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

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

Запрос через средства реляционной алгебры: (СЛУЖАЩИЕ JOIN ПРОЕКТЫ WHERE (СЛУ_ИМЯ = ПРОЕКТ_РУК AND ПРО_ЗАРП > )) PROJECT (СЛУ_ИМЯ, СЛУ_НОМ) 5 1. Исчисление кортежей

Расшифровка запроса: выполнить эквисоединение отношений СЛУЖАЩИЕ и ПРОЕКТЫ по условию СЛУ_ИМЯ = ПРОЕКТ_РУК; ограничить полученное отношение по условию ПРО_ЗАРП > ; спроецировать результат предыдущей операции на атрибут СЛУ_ИМЯ, СЛУ_НОМ Исчисление кортежей

Запрос через средства реляционного исчисления: определения переменных: RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ RANGE ПРОЕКТ IS ПРОЕКТЫ выражение СЛУЖАЩИЙ.СЛУ_ИМЯ, СЛУЖАЩИЙ.СЛУ_НОМ WHERE EXISTS (СЛУЖАЩИЙ.СЛУ_ИМЯ = ПРОЕКТ.ПРОЕКТ_РУК AND ПРОЕКТ.ПРО_ЗАРП > ) 7 1. Исчисление кортежей

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

кортежная переменная оператор RANGE - определение кортежной переменной RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ Ссылка на значение атрибута переменной СЛУЖАЩИЙ.СЛУ_ИМЯ 9 1. Исчисление кортежей

Правильно построенные формулы (Well-Formed Formula, WFF) служат для выражения условий, накладываемых на кортежные переменные простые условия - операции сравнения скалярных значений сложные варианты WFF строятся с помощью логических связок NOT, AND, OR и IF... THEN Исчисление кортежей

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

12 1. Исчисление кортежей IF СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов THEN (СЛУЖАЩИЙ.СЛУ_ЗАРП >= AND СЛУЖАЩИЙ.ПРО_НОМ = 1) Через IF … THEN обозначается логическая функция – импликация По определению, IF a THEN b эквивалентно NOT a OR b

13 1. Исчисление кортежей формула будет принимать значение true для следующих значений кортежной переменной СЛУЖАЩИЙ СЛУ_НОМЕРСЛУ_ИМЯСЛУ_ЗАРППРО_НОМ 2934Иванов Петров Сидоров Федоров Иванова Петров Сидоренко Федоренко Иваненко

результат эквивалентен алгебраической операции СЛУЖАЩИЕ WHERE (NOT (СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов') OR (СЛУЖАЩИЙ.СЛУ_ЗАРП >= AND СЛУЖАЩИЙ.ПРО_НОМ = 1) Исчисление кортежей

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

16 Если form – это WFF, в которой участвует переменная var, то конструкции EXISTS var (form) FORALL var (form) представляют собой WFF 1.Исчисление кортежей Кванторы, свободные и связанные переменные

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. Исчисление кортежей

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

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

23 1.Исчисление кортежей Целевые списки (target list) Вид целевого списка: var.attr, var – имя свободной переменной соответствующей WFF attr – имя атрибута отношения, на котором определена var ; var, что эквивалентно наличию подсписка var.attr 1, var.attr 2,..., var.attr n, где {attr 1, attr 2,..., attr n } включает имена всех атрибутов определяющего отношения; new_name = var.attr ; new_name – новое имя соответствующего атрибута результирующего отношения

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

25 Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного множества предикатов, позволяющих выражать так называемые условия членства 2. Исчисление доменов

26 Если R – это n-арное отношение с атрибутами a 1, a 2,..., a n, то условие членства имеет вид R (a i1 : v i1, a i2 : v i2,..., a im : v im ) (m n), где v ij – это либо литерально задаваемая константа, либо имя доменной переменной. 2. Исчисление доменов

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

Если v ij – константа, то на атрибут a ij накладывается жесткое условие, не зависящее от текущих значений доменных переменных; если же v ij – имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной Исчисление доменов

29 2. Исчисление доменов WFF исчисления доменов СЛУЖАЩИЕ (СЛУ_НОМ:2934, СЛУ_ИМЯ:'Иванов', СЛУ_ЗАРП: , ПРО_НОМ:1) примет значение true в том и только в том случае, когда в теле отношения СЛУЖАЩИЕ содержится кортеж

30 2. Исчисление доменов WFF исчисления доменов СЛУЖАЩИЕ (СЛУ_НОМ:2934, СЛУ_ИМЯ:'Иванов', СЛУ_ЗАРП: , ПРО_НОМ:ПРО_НОМ) примет значение true для всех комбинаций явно заданных значений и допустимых значений переменной ПРО_НОМ Область значений

31 запрос "Выдать номера и имена служащих, не получающих минимальную заработную плату": СЛУ_НОМ, СЛУ_ИМЯ WHERE EXISTS СЛУ_ЗАРП1(СЛУЖАЩИЕ (СЛУ_ЗАРП1) AND СЛУЖАЩИЕ (СЛУ_НОМ, СЛУ_ИМЯ, СЛУ_ЗАРП) AND СЛУ_ЗАРП > СЛУ_ЗАРП1) 2. Исчисление доменов