Tema8_Relyatsionnye_operatsii.ppt
- Количество слайдов: 15
Обработка данных (операторы) Реляционная алгебра, определяемая Коддом, состоит из 2 -х групп операторов: -традиционные операции над множествами: объединение, пересечение, вычитание и декартово произведение; -специальные реляционные операции: выборка, проекция, соединение и деление. Операции объединения, пересечения и вычитания требуют совместимости по типу.
Два отношения совместимы по типу, если у них идентичны заголовки, т. е. если каждое из них имеет одинаковое множество имен атрибутов и соответствующие атрибуты определены на одном и том же домене. Объединение – возвращает отношение с тем же заголовком что и R 1 и R 2, содержащим все кортежи, которые принадлежат или одному из 2 -х исходных отношений, или обоим. R 1 UNION R 2
R 2 R 1 Code 1 2 Name Address Петров У-Ка Назаров Семск Code 5 7 Name Address Иванов У-Ка Сидоров Семск R 3 Code 1 2 5 7 Name Петров Назаров Иванов Сидоров Address У-Ка Семск
Пересечение – возвращает отношение с тем же заголовком что и R 1 и R 2, содержащим все кортежи, которые принадлежат одновременно 2 -м исходным отношениям. R 1 INTERSECT R 2
R 1 R 2 Code 1 2 Name Address Петров У-Ка Назаров Семск Code 1 5 Name Петров Иванов R 3 Code 1 Name Петров Address У-Ка Семск
Вычитание – возвращает отношение с тем же заголовком что и R 1 и R 2, содержащим все кортежи, которые принадлежат первому из 2 -х определенных отношений и не принадлежат второму. R 1 MINUS R 2
R 1 Code 1 2 R 2 Name Address Петров У-Ка Назаров Семск Code 1 5 Name Петров Иванов R 3 Code 2 Name Назаров Address Семск Address У-Ка Семск
Декартово произведение – двух отношений, не имеющих общих имен атрибутов, определяется как отношение с заголовком, которое представляет собой сцепление двух заголовков исходных отношений. R 1 TIMES R 2
R 1 R 2 A a 1 a 2 B b 1 b 2 R 3 A a 1 a 2 B b 1 b 2
Выборка – возвращает отношение, содержащее все кортежи из исходного отношения, которые удовлетворяют сформированным условиям. В результате выполнения этой операции получим горизонтальное подмножество данного отношения, т. е. такое подмножество кортежей, для которого выполняется данное условие. Select * from R 1 where (Name=‘Петров’)
Проекция – возвращает отношение, содержащее все кортежи определенного отношения, после исключения из него некоторых атрибутов. В результате получается вертикальное подмножество данного отношения. Select Color from R 1 where (City=‘Paris’) City London Paris Rome Paris Color Red Green Blue Color Green Blue
Соединение – возвращает отношение с заголовком, сформированным из атрибутов R 1 и R 2 и телом, содержащим кортежи, которые получены сцеплением каждого кортежа из R 1 с теми кортежами из R 2, для которых выполняется условие сцепления. R 1 JOIN R 2 Если R 1 и R 2 не имеют общих имен атрибутов, то R 1 JOIN R 2 = R 1 TIMES R 2
R 1 Code 1 2 R 2 Name Иванов Петров Year 2000 2001 Code 1 1 Address Paris London R 3 Code 1 1 Name Иванов Year 2000 Address Paris London Fax 11 12
Деление для двух отношений (бинарного и унарного) возвращает отношение, содержащее все значения одного атрибута бинарного отношения, которые соответствуют (в другом атрибуте) всем значениям в унарном отношении. R 1 DIVIDE R 2
R 1 (Делимое) S S 1 S 1 S 2 S 3 S 4 P P 1 P 2 P 3 P 4 P 1 P 2 P 2 R 2 (Делитель) P P 2 R 3 (Результат) S S 1 S 2 S 3 S 4
Tema8_Relyatsionnye_operatsii.ppt