АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Реляционная алгебра Кодда. Перечислить все операции. Приоритет операций. Замкнутость реляционной алгебры

Читайте также:
  1. IV. Алгебра
  2. IV. Региональные приоритеты
  3. А теперь запишите все самые важные для вас дела, разместив их в порядке приоритетности. Даже простое занесение их в список вызовет у вас чувство уже некоторого контроля над ними.
  4. Адаптивные сайты имеют высокий приоритет у поисковиков, в сравнении с обычными сайтами, так как это необходимый тренд времени.
  5. Алгебра
  6. Алгебра симплексного процесса при определении opt min
  7. Алгебра событий
  8. Алгебра событий
  9. Алгебраические дополнения и миноры
  10. Алкоголь и табак как генетические приоритеты управления.
  11. Анализ временного ряда на стационарность (автокорреляционная функция)
  12. Базовые понятия реляционной модели данных. Ключи. Неопределенные значения. Ссылочная целостность и способы ее поддержания. Атомарность атрибутов и 1НФ.

Отношения, с которыми идет работа в реляционных БД, являются множествами. У Кодда появилась идея составить на них алгебру. Есть общие операции (теоретико-множественные), а есть специальные (реляционные операции). Везде вместо «отношение» ó «тело отношения» можно читать «таблица», так проще понять.

 

В состав теоретико-множественных операций входят операции:

Объединение (UNION) двух отношений с одинаковыми заголовками производится отношение, включающее все кортежи, которые входят хотя бы в одно из отношений-операндов (таблица из строк первой и второй таблицы).

П ересечение (INTERSECT) двух отношений с одинаковыми заголовками производит отношение, включающее все кортежи, которые входят в оба отношения-операнда.

Р азность (MINUS) двух отношений с одинаковыми заголовками, включает все кортежи, входящие в отношение-первый операнд, такие, что ни один из них не входит в отношение, которое является вторым операндом.

Д екартово произведение (TIMES) двух отношений, пересечение заголовков которых пусто, производится отношение, кортежи которого производятся путем объединения кортежей первого и второго операндов (сливаются столбцы).

 

Специальные реляционные операции включают:

· О граничение (WHERE) отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.

  • П роекции (PROJECT) отношения на заданное подмножество множества его атрибутов производится отношение, кортежи которого являются соответствующими подмножествами кортежей отношения-операнда.

· С оединение (JOIN) двух отношений по некоторому условию образуется результирующее отношение, кортежи которого производятся путем объединения кортежей первого и второго отношений и удовлетворяют этому условию. Заметим также, что в практических реализациях соединение обычно не выполняется именно как ограничение декартого произведения. Имеются более эффективные алгоритмы, гарантирующие получение такого же результата.

· Р еляционное деление (DIVIDE BY) имеет два операнда — бинарное и унарное отношения. Результирующее отношение состоит из унарных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) включает множество значений второго операнда.

Дополнительно:

· П ереименование (RENAME) производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

· П рисваивание (:=) позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

Приоритеты:

RENAME WHERE = PROJECT TIMES = JOIN = INTERSECT = DIVIDE BY UNION = MINUS Алгебра не является замкнутой в математическом смысле (например, TIMES в случае одинаковых заголовков не является отношением). Но применение операции RENAME позволяет использовать алгебру Кодда почти как замкнутую алгебру.

Реляционное деление: объяснение для людей. Пусть заданы два отношения - A с заголовком {a1, a2,..., an, b1, b2,..., bm} и B с заголовком {b1, b2,..., bm}. Будем считать, что атрибут bi отношения A и атрибут bi отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {aj} составным атрибутом a, а множество атрибутов {bj} - составным атрибутом b. После этого будем говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение B(b).

Результатом деления A на B является унарное отношение C(a), состоящее из кортежей v таких, что в отношении A имеются кортежи <v, w> такие, что множество значений {w} включает множество значений атрибута b в отношении B.

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


 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)