
Алгебра А.ppt
- Количество слайдов: 28
Алгебра А К. Дейта и Х. Дарвина Теоретическим базисом Алгебры А, предложенной Крисом Дейтом и Хью Дарвином, являются операции алгебры логики
План 1. Основные операции алгебры А 2. Полнота и избыточность алгебры
Базовые операции Алгебры А 1. Операция реляционного дополнения <NOT> Реляционное дополнение – это операция <NOT>, в результате которой получается отношение заголовок которого совпадает с заголовком операнда, а тело составляют все кортежи, соответствующие заголовку и не входящие в тело операнда.
НОМЕРА ПРОЕКТОВ ПРО_НОМ 1 2 в состав домена ДОПУСТИМЫЕ_НОМЕРА_ПРОЕКТОВ, на котором определен атрибут ПРО_НОМ отношения, входит пять значений { 1 , 2, 3, 4, 5}
НОМЕРА ПРОЕКТОВ ПРО_НОМ 1 2 <NOT> НОМЕРА ПРОЕКТОВ ПРО_НОМ 3 4 5
Базовые операции Алгебры А 2. Операция удаления атрибутов <REMOVE> Результатом выполнения операции <REMOVE> является новое отношение, формируемое путем удаления указанного атрибута А из заданного отношения-операнда.
СЛУЖАЩИЕ Номер ФИО Зарплата Про_номер 2934 Иванов 22000. 00 Проект 1 2935 Петров 30000. 00 Проект 1 2936 Сидоров 18000. 00 Проект 2 СЛУЖАЩИЕ <REMOVE> Про_номер Номер 2934 2935 2936 ФИО Иванов Петров Сидоров Зарплата 22000. 00 30000. 00 18000. 00
Базовые операции Алгебры А 3. Операция переименования <RENAME> Результатом выполнения операции <RENAME> является отношение, которое отличается от заданного отношения-операнда только именем одного атрибута, которое изменяется с А на В.
СЛУЖАЩИЕ <RENAME> (Зарплата, Доход) Номер ФИО Итог 2934 Иванов 22000. 00 2935 Петров 30000. 00 2936 Сидоров 18000. 00
Базовые операции Алгебры А 4. Операция реляционной конъюнкции <AND> Результатом выполнения операции реляционной конъюнкции <AND> является новое отношение, заголовок которого получается путем объединения заголовков исходных отношений-операндов, а кортежи отношения-результата определяется как объединение кортежей операндов.
1. Исходные данные, когда у отношений есть общий атрибут СЛУЖАЩИЕ Номер 2934 2935 2939 2940 ФИО Зарплата 22000. 00 30000. 00 18000. 00 20000. 00 Иванов Петров Сидоренко Федоренко Про_номер Проект 1 Проект 2 ПРОЕКТЫ Про_номер Проект 1 Проект 2 Руководитель Иванов Иваненко
Результат выполнения операции 2936 Сидоренко Зарплата Про_номер Руководитель Иванов 22000. 00 Проект 1 Иваненко 30000. 00 Проект 2 18000. 00 Проект 1 Иванов 2937 Федоренко 20000. 00 Номер ФИО Иванов 2934 Петров 2935 Проект 2 Иваненко СЛУЖАЩИЕ <AND> ПРОЕКТЫ
2. Исходные данные, когда у отношений нет общих атрибутов СЛУЖАЩИЕ В ПРОЕКТЕ 1 Номер Отдел 2934 310 2935 310 2936 313 ФИО Иванов Петров Сидоров Зарплата 22000. 00 30000. 00 18000. 00 ПРОЕКТЫ Название проекта Руководитель Проект 1 Иванов Проект 2 Иваненко
Результат выполнения операции Номер Отдел ФИО Зарплата Название проекта Руководитель 2934 310 Иванов 22000. 00 Проект 1 Иванов 2935 310 Петров 30000. 00 Проект 1 Иванов 2936 313 Сидоров 18000. 00 Проект 1 Иванов 2934 310 Иванов 22000. 00 Проект 2 Иваненко 2935 310 Петров 30000. 00 Проект 2 Иваненко 2936 313 Сидоров 18000. 00 Проект 2 Иваненко СЛУЖАЩИЕ В ПРОЕКТЕ 1 <AND> ПРОЕКТЫ
3. Исходные данные, когда схемы отношений совпадают СЛУЖАЩИЕ В ПРОЕКТЕ 1 Номер 2934 2935 2936 Отдел 310 313 ФИО Иванов Петров Сидоров Зарплата 22000. 00 30000. 00 18000. 00 СЛУЖАЩИЕ В ПРОЕКТЕ 2 Номер 2934 2939 2940 Отдел 310 313 310 2935 310 ФИО Федоренко Зарплата 22000. 00 18000. 00 20000. 00 Петров 30000. 00 Иванов Сидоренко
Результат выполнения операции Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 СЛУЖАЩИЕ В ПРОЕКТЕ 1 <AND> СЛУЖАЩИЕ В ПРОЕКТЕ 2
Базовые операции Алгебры А 5. Операция реляционной дизъюнкции <OR> Результатом выполнения операции реляционной дизъюнкции <OR> является новое отношение, в котором заголовок нового отношения есть объединение заголовков отношений – операндов, а тело отношения состоит из всех кортежей, являющихся надмножеством либо некоторого кортежа из тела первого операнда либо некоторого кортежа из тела второго операнда.
1. Схемы отношений имеют непустое пересечение ПРОЕКТЫ 2 Про_номер НОМЕР_ПРОЕКТА Руководитель Про_номер 1 Иванов 1 2 Иваненко 2
Результат выполнения операции когда схемы отношений имеют непустое пересечение ПРОЕКТЫ 2 Про_номер НОМЕР_ПРОЕКТА Руководитель Про_номер 1 Иванов 1 2 Иваненко 2 ПРОЕКТЫ 2 <OR> НОМЕР ПРОЕКТА Про_номер Руководитель 1 2 Иванов Иваненко 2 1 Иванов Иваненко
2. Схемы отношений не совпадают ПРОЕКТЫ Про_назван Руководитель Проект 1 Иванов Проект 2 Иваненко НОМЕР_ПРОЕКТА Про_номер 1 2 • Предположим, что домен атрибута ПРОЕКТ_НАЗВАН включает значения ПРОЕКТ_1, ПРОЕКТ_2, ПРОЕКТ_3, • домен атрибута ПРОЕКТ_РУК ограничен значениями Иванов, Иваненко, • а доменом атрибута ПРО_НОМ является множество {1, 2, 3}.
Результат выполнения операции при наличии операндов с несовпадающими схемами Про_назван Руководитель Про_номер Проект 1 Иванов 1 Проект 2 Иванов 1 Проект 3 Иванов 1 Проект 1 Иваненко 1 Проект 2 Иваненко 1 Проект 3 Иваненко 1 Проект 1 Иванов 2 Проект 2 Иванов 2 Проект 3 Иванов 2 Проект 1 Иваненко 2 Проект 2 Иваненко 2 Проект 3 Иваненко 2 Проект 1 Иванов 3 Проект 2 Иваненко 3 …. ПРОЕКТЫ <OR> НОМЕР ПРОЕКТА
3. Исходные данные, когда схемы отношений совпадают СЛУЖАЩИЕ В ПРОЕКТЕ 1 Номер 2934 2935 2936 Отдел 310 313 ФИО Иванов Петров Сидоров Зарплата 22000. 00 30000. 00 18000. 00 СЛУЖАЩИЕ В ПРОЕКТЕ 2 Номер 2934 2939 2940 Отдел 310 313 310 2935 310 ФИО Федоренко Зарплата 22000. 00 18000. 00 20000. 00 Петров 30000. 00 Иванов Сидоренко
3. Исходные данные, когда схемы отношений совпадают Номер 2934 2935 2936 Отдел 310 313 2939 2940 313 310 ФИО Иванов Петров Сидоренко Федоренко Зарплата 22000. 00 30000. 00 18000. 00 20000. 00
На практике допустима только в том случае, если в исходных отношениях - операндах имеются одноименные атрибуты, и они должны быть определены на одном и том же типе (домене). Операция <OR> является обобщением операции объединения.
Полнота алгебры А Алгебра A является полной, то есть на основе введенных операций выражаются все операции алгебры Кодда К настоящему моменту в состав базовых операций Алгебры А входят: 1. операция удаления атрибутов <REMOVE> (аналог операции PROJECT) 2. операция переименования атрибутов <RENAME> 3. операция реляционной дизъюнкции <OR> (UNION является частным случаем) 4. операция реляционной конъюнкции <AND> (TIMES, INTERSECT, NATURAL JOIN является частным случаем)
Полнота алгебры А Остальные операции алгебры Кодда (взятие разности, ограничения, соединение, реляционного деления) могут быть выведена через базовые операции Алгебры А: 5. взятие разности: R 1 MINUS R 2 = R 1 <AND> <NOT> R 2 6. операции ограничения: Через операции Алгебры А выражаются операции ограничения, условия сравнения которых базируются на операциях сравнения (<, >, <=, >=) R 1 WHERE R 2 = R 1 знак R 2
Полнота алгебры А 7. Соединение общего вида: В общем случае для выполнения данной операции необходимо: Выполнить над одним из отношений одну или несколько операций <REMOVE>, что бы избавиться от общих атрибутов; 2. Выполнить над полученными отношениями операцию <AND>. Производящую расширенное декартово произведение, а затем должным образом ограничить его. 1. 8. Реляционное деление: Можно доказать, что в алгебре Кодда R 1 DIVIDE BY R 2 = (R 1 PROJECT A) MINUS (((R 2 TIMES (R 1 PROJECT A)) MINUS R 1) PROJECT A) Аналогично в терминах Алгебры А (R 1 <REMOVE> B) <AND> <NOT> (((R 2 <AND> (R 1<REMOVE> B)) <AND> <NOT> R 1) <REMOVE> B).
Избыточность Алгебры А n. А AND В = NOT (NOT А OR NOT В) n А OR В = NOT (NOT А AND NOT В). n. В наборе базовых операций Алгебры А можно оставить операции <AND> и < NOT > (или < OR > и < NOT>).
Алгебра А.ppt