4.4.Операции над данными (реляционная алгебра).
4.4.0.Система управления базами данных LEAP
Для практического изучения команд реляционной алгебры здесь используется
СУБД LEAP, разработанная
Ричардом Лейтоном. Для того, чтобы закрепить свои знания:
-
Изучите команды обработки отношений, которые описаны ниже на данной
странице. Описание каждой команды приводится как в виде формального
определения, так и в виде, поддерживаемом LEAP.
-
Здесь находится более подробное описание возможностей
СУБД LEAP.
-
Здесь находится www-интерфейс
к СУБД LEAP, посредством которого можно получить доступ к базе данных по
печатным и электронным публикациям, касающихся темы данного курса.
-
Здесь лежит список заданий, которые предлагается
выполнить как средствами реляционной алгебры, так и средствами языка SQL.
4.4.1.Операции обработки кортежей.
Эти операции связаны с изменением состава кортежей в каком-либо отношении.
-
ДОБАВИТЬ - необходимо задать имя отношения и ключ кортежа.
-
УДАЛИТЬ - необходимо указать имя отношения, а также идентифицировать кортеж
или группу кортежей, подлежащих удалению.
-
ИЗМЕНИТЬ - выполняется для названного отношения и может корректировать
как один, так и несколько кортежей.
4.4.2.Операции обработки отношений.
На входе каждой такой операции используется одно или несколько отношений,
результатом выполения операции всегда является новое отношение.
В рассмотренных ниже примерах (которые заимствованы из книги Э.Озкарахан
"Машины баз данных и управление базами данных" -М: "Мир", 1989) используются
следующие отношения:
P(D1,D2,D3) Q(D4,D5) R(M,P,Q,T) S(A,B)
1 11 x x 1 x 101 5 a 5 a
2 11 y x 2 y 105 3 a 10 b
3 11 z y 1 z 500 9 a 15 c
4 12 x w 50 1 b 2 d
w 10 2 b 6 a
w 300 4 b 1 b
В реляционной алгебре определены следующие операций обработки отношений:
-
ПРОЕКЦИЯ (ВЕРТИКАЛЬНОЕ ПОДМНОЖЕСТВО).
Операция проекции представляет из себя выборку из каждого кортежа отношения
значений атрибутов, входящих в список A, и удаление из полученного отношения
повторяющихся строк.
-
ВЫБОРКА (ОГРАНИЧЕНИЕ, ГОРИЗОНТАЛЬНОЕ ПОДМНОЖЕСТВО).
На входе используется одно отношение, результат - новое отношение,
построенное по той же схеме, содержащее подмножество кортежей исходного
отношения, удовлетворяющих условию выборки.
-
ОБЪЕДИНЕНИЕ.
Отношения-операнды в этом случае должны быть определены по одной схеме.
Результирующее отношение содержит все строки операндов за исключением повторяющихся.
-
ПЕРЕСЕЧЕНИЕ.
На входе операции два отношения, определенные по одной схеме.
На выходе - отношение, содержащие кортежи, которые присутствуют в обоих
исходных отношениях.
-
РАЗНОСТЬ.
Операция во многом похожая на ПЕРЕСЕЧЕНИЕ, за исключением того, что
в результирующем отношении содержатся кортежи, присутствующие в первом
и отсутствующие во втором исходных отношениях.
-
ДЕКАРТОВО ПРОИЗВЕДЕНИЕ
Входные отношения могут быть определены по разным схемам. Схема результирующего
отношения включает все атрибуты исходных. Кроме того:
-
степень результирующего отношения равна сумме степеней исходных отношений
-
мощность результирующего отношения равна произведению мощностей исходных
отношений.
-
СОЕДИНЕНИЕ
Данная операция имеет сходство с ДЕКАРТОВЫМ ПРОИЗВЕДЕНИЕМ. Однако,
здесь добавлено условие, согласно которому вместо полного произведения
всех строк в результирующее отношение включаются только строки, удовлетворяющие
опредленному соотношению между атрибутами соединения (А1,A2)
соответствующих отношений.
-
ДЕЛЕНИЕ
Пусть отношение R , называемое делимым, содержит атрибуты (A1,A2,...,An).
Отношение S - делитель содержит подмножество атрибутов A:
(A1,A2,...,Ak) (k<n).
Результирующее отношение C определено на атрибутах отношения R,
которых нет в S, т.е. Ak+1,Ak+2,...,An.
Кортежи включаются в результирующее отношение C только в том случае,
если его декартово произведение с отношением S содержится в делимом
R.
Следующая глава: 4.5.Реляционное исчисление.
Введение в базы данных. (c) Зеленков
Ю.А. (yz@yars.free.net) 1997
г.
(c) Центр Интернет ЯрГУ