Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Anno_otveti_inform.doc
Скачиваний:
4
Добавлен:
25.04.2019
Размер:
331.26 Кб
Скачать

38) Операции над таблицами: объединение, пересечение, проекция, прямое произведение, соединение, отбор, группировка, сортировка, удаление, обновление.

Результатом произвольной операции над таблицами является новая таблица. Элементарные операции либо унарные (операндом является одна таблица), либо бинарные (операндом являются две таблицы). Элементарная операция принадлежит к одному из видов:

  • Объединение;

  • Пересечение;

  • Разность;

  • Прямое произведение;

  • Проекция;

  • Отбор;

  • Соединение;

  • Вычислимое поле;

  • Группировка;

  • Сортировка.

Операции объединения, пересечения, разности и произведения аналогичны теоретико-множественным операциям.

В классической теории множеств объединение, пересечение и разность возможны для любых множеств. В реляционном исчислении операнды этих операций (то есть таблицы) должны быть совместимы: в заголовках обеих таблиц содержится один и тот же набор полей. Если две таблицы совместимы, то при обычном выполнении над ними операций объединения, пересечения и взятия разности результатом операции является таблица с корректно определенным заголовком, совпадающим с заголовком каждой из таблиц-операндов. Объединение (UNION) двух таблиц содержит записи первой и второй таблицы, исключая повторения. Пересечение (INTERSECT) двух таблиц содержит общие идентичные записи обеих таблиц. Разность (DIFFERENCE) двух таблиц содержит записи первой таблицы, не встречающиеся во второй таблице.

Таблица, являющаяся прямым произведением (PRODUCT) двух таблиц-операндов, включает поля обеих таблиц. Записями результирующей таблицы служат все комбинации записей первой и второй таблиц (очевидно, что число комбинаций равно произведению количеств записей в обеих таблицах). Имена полей наследуются. Если таблицы-операнды обладают одноименными полями, указывается таблица-источник. При желании заголовок поля можно изменить (поэтому приходится добавлять отдельную операцию переименования поля).

Остальные реляционные операции позволяют совершать стандартные процедуры обработки данных.

Проекция (PROJECT) применяется к одной таблице и оставляет в ней только заданные столбцы, исключая все остальные. В запросе на выборку языка SQL этому соответствует список отобранных полей непосредственно после ключевого слоя SELECT. В конструкторе Access столбцы, участвующие в проекции, выделяются флажком «Вывод на экран» в нижнем окне конструктора.

Отбор (WHERE) также применяется к одной таблице и позволяет фильтровать записи таблицы. Отбор определяется условием (фильтром), содержащим реквизиты записей таблицы. Если условие выполняется, то запись оставляется, если не выполняется – то отбрасывается. Фильтром может служить любое логическое выражение, составленное из простых условий с использованием логических связок AND, OR и NOT и скобок. Простым условием служит сравнение значений полей или констант.

Операция соединения (JOIN) применяется к паре таблиц и задается критерием соединения (логическим выражением), содержащим реквизиты записей обеих таблиц. Это сложная операция, которую можно представить в виде последовательного действия двух простых операций. На первом этапе берется прямое произведение двух таблиц (операция PRODUCT). На втором этапе производится отбор (операция WHERE) тех записей в полученной таблице, для которых выполняется исходное условие отбора, заданное критерием соединения. Например, если критерий соединения заключается в равенстве пары полей разных таблиц, то отбираются записи, в которых значения указанных полей обеих таблиц одинаковые.

Операция соединения JOIN определена, когда зафиксирована связь между двумя таблицами посредством отождествления полей в обеих таблицах, представляющих один содержательный показатель. Принято различать по типу связи «один-к-одному», «один-ко-многим», «многие-ко-многим». Тип связи задается семантикой отношений между группами объектов предметной области, описываемых таблицами.

Еще одна операция – операция присваивания (DESIGN) заключается в добавлении к таблице нового поля, значение которого в записи вычисляется на основе значений других полей той же записи с использованием констант. Например, имея в записи значения длины и времени, можно добавить к таблице вычисленное значение скорости.

Операция группировки (GROUPE) применяется к одной таблице. Действие операции заключается в разбиении строк таблицы на группы с последующим формированием одной записи на основе каждой группы. Критерием разбиения на группы является одинаковое значение некоторого поля, называемого полем группировки, или одинаковые значения нескольких полей группировки. Запись, сформированная на основе группы, наследует значения полей группировки. Над полями, которые не являются полями группировки, совершается какая-то групповая арифметическая операция (сложение всех значений в записях группы, среднее, минимум, максимум и т.п.).

Сортировка (SORT) позволяет упорядочить записи таблицы согласно условию сортировки. Обычно числовые значения сортируются по величине, а текстовые – по алфавиту. При сортировке по нескольким полям важно установить ранжирование полей сортировки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]