Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений, или выборка.
Операция Выборка применяется к существующему отношению. В результате генерируется новое отношение, получаемое путем выборки только тех кортежей из исходного отношения, которые удовлетворяют заданному условию. Эту операцию можно записать в следующем виде:
R[a(r)] = {r | r Î R Ù a(r) = "Истина"}, где a(r) - условие.
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие a может быть сколь угодно сложным.
Следующей специальной операцией является операция проектирования или проекции.
Операция применяется к одному существующему отношению для получения нового отношения. Новое отношение получается путем выбора (проецирования) определенных столбцов из текущего отношения. Если результат выполнения операции Проекция содержит повторяющиеся кортежи, то в новом отношении сохраняется только один кортеж из повторяющейся группы. (В большинстве СУБД повторяющиеся кортежи автоматически не удаляются, это обязан сделать пользователь. Следует помнить, что корректное отношение не может содержать повторяющихся кортежей).
Операция проектирования, называемая иногда также операцией вертикального выбора, позволяет получить только требуемые характеристики моделируемого объекта. Чаще всего операция проектирования употребляется как промежуточный шаг в операциях горизонтального выбора (фильтрации). Кроме того, она используется самостоятельно на заключительном этапе получения ответа на запрос.
Следующей специальной операцией реляционной алгебры является операция соединения.
В отличие от рассмотренных специальных операций реляционной алгебры фильтрации и проектирования, которые являются унарными, то есть производятся над одним отношением, операция соединения является бинарной, то есть исходными для нее являются два отношения, а результатом — одно.
Новое отношение получается путем соединения (конкатенации) кортежей первого отношения с кортежами второго отношения. Соединение можно выполнить, если отношения связаны между собой по атрибутам из одного домена.
Отношение, полученное в результате соединения двух отношений является подмножеством декартова произведения этих отношений. В полученном отношении ряд кортежей исходных отношений может отсутствовать.
В полученном отношении в двух столбцах всегда будут содержаться одинаковые значения. Если один из этих столбцов удалить, то результат принято называть Естественным соединением.
Вариантом операции соединения является операция условного соединения.
Пусть R = { r }, Q = { q } — исходные отношения,
SR, SQ — схемы отношений R и Q соответственно.
SR = (A1, А2,..., Аk); SQ = (B1, В2,..., Вm), где Аi, Bj — имена атрибутов в схемах отношений R и Q соответственно.
При этом полагаем, что заданы наборы атрибутов А и В
А Í { Аi }i=1,k; В Í { Bj } j=1,m
и эти наборы состоят из q-сравнимых атрибутов.
Тогда соединением отношений R и Q при условии b будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию b, рассматриваемому как одновременное выполнение условий:
- r.Аi qi Вi: i =l,k, где k — число атрибутов, входящих в наборы А и В, а qi — конкретная операция сравнения.
- Ai qi Bi D; qi — i-й предикат сравнения, определяемый из множества допустимых на домене Di операций сравнения.
R [ b ] Q = { (r,q) ½ (r, q) ½r.А qi q.Bi = «Истина», i =1,k}
Последней операцией, включаемой в набор операций реляционной алгебры, является операция деления.
Операция деления достаточно сложна для абстрактного представления и она может быть заменена последовательностью других операций реляционной алгебры.
Контрольные вопросы
2.6.1. Что понимается под безопасностью и секретностью данных?
2.6.2. Назовите уровни доступа к базе данных и к отношениям.
2.6.3. Как осуществляется управление доступом к данным?
2.6.4. Каким образом реализована система зажиты данных в MS SQL Server?
2.6.5. Что понимается под целостностью данных?
2.6.6. Назовите аспекты поддержки целостности в реляционной модели данных.
2.6.7. Какие типы ограничений используются в базе данных?
2.6.8. В чем особенности параллельных процессов обработки данных?
2.6.9. Какие уровни восстановления баз данных существуют и их особенности?
2.6.10. Какие операции реляционной алгебры относятся к теоретико-множественным?
2.6.11. Перечислите специальные операции реляционной алгебры.






