Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 12

2.3. Манипулирование реляционными базами данных. Реляционная алгебра

В разделе 1 были выделены две разновидности операций по обработке данных: определение и манипулирование. К манипулированию данными были отнесены такие операции, как добавление, обновление, удаление и поиск информации.

Если говорить о реляционной модели и языке структурированных запросов (SQL), то в качестве основных операторов манипулирования данными следует назвать оператор добавления строк в таблицу (INSERT), оператор удаления строк их таблицы (UPDATE), оператор удаления строк из таблицы (DELETE) и оператор выборки (SELECT).

Ознакомление с синтаксисом перечисленных операторов не входит в теоретическую часть курса. Сами команды и примеры их использования приведены в описаниях лабораторных работ 2 и 3; более подробную информацию о них можно найти в специальной литературе по SQL, в частности, в разделах MSDN, посвященных диалекту Transact-SQL.

Необходимо отметить, что первые три операции являются достаточно простыми в том плане, что связаны всегда с набором записей из одной определенной таблицы. Что же касается возможностей поиска информации в реляционных СУБД, то они довольно широки, поэтому именно они представляют наибольший интерес с теоретической точки зрения. В теории баз данных существует специальный раздел – реляционная алгебра. В нем описывается набор операций поиска данных в реляционных таблицах. Предложенный Коддом базовый вариант реляционной алгебры включает, во-первых, традиционные теоретико-множественные операции:

·  объединение;

·  пересечение;

·  взятие разности;

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

а также дополнительные операции, специфичные для отношений:

·  ограничение;

·  проекция;

·  соединение;

·  расширенная проекция;

·  сортировка;

·  агрегирование;

·  группирование.

В процессе развития СБД реляционная алгебра развивалась, и в настоящее время она расширена такими операциями, как вычисление арифметических/логических выражений, переименование атрибутов, группирование, агрегирование и сортировка.

2.3.1. Особенности теоретико-множественных операций

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

Объединением отношений R1 и R2 является отношение, содержащее все кортежи, содержащиеся как в R1, так и R2.

Пересечение отношений R1 и R2 содержит кортежи, входящие в оба отношения-операнда.

Разность отношений R1 и R2 есть отношение, которое состоит из кортежей, входящих в R1, но не входящих в R2.

Перечисленные операции имеют следующие обозначения:

 - объединение;

 - пересечение;

 - разность.

Примеры объединения, пересечения и разности отношений показаны на рис. 2.11. Операции выполняются над двумя исходными отношениями: students_fio и teachers_fio (соответственно, ФИО студентов и преподавателей, рис. 2.11(а)). Отношения являются совместимыми по схеме, поэтому выполнение всех трех операций над ними возможно. Результаты выполнения операций показаны на рис. 2.11 (б, в, г).