Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Реляционные выражения. Преобразования реляционных выражений
Результатом любой из рассмотренных в 3.1 операций над таблицами является таблица. Поэтому возможно построение реляционных выражений, в которых аргументом операции может быть не только явно указанная таблица, но и вложенное выражение. Для построения выражений важны приоритеты каждой операции.
Рис. 3.10. Деление таблиц. Для операций реляционной алгебры установлены следующие приоритеты:
Для изменения порядка выполнения операций, установленного приоритетами, в выражениях используются скобки. Поскольку аргументами операций реляционной алгебры являются таблицы, для выполнения операций необходимо просмотреть и проанализировать все записи исходных таблиц. Следствием этого является большая размерность реляционных операций. Иногда можно достичь уменьшения размерности операций, изменив порядок их выполнения. При изменении порядка выполнения операций важно, чтобы не изменился результат. То есть преобразованное выражение должно быть эквивалентно исходному. Два выражения реляционной алгебры считаются эквивалентными, если они описывают одну и ту же реляционную таблицу. Существуют законы, которые в соответствии с этим определением позволяют выполнять эквивалентные преобразования выражений реляционной алгебры: Законы коммутативности: 1. для декартовых произведений Т1 ´ Т2 = Т2 ´ Т1 2. для соединений (У – условие соединения) Т1 ><У Т2 = Т2 ><У Т1 Законы ассоциативности: 1. для декартовых произведений (Т1´ Т2 ) ´ Т3 = Т1 ´ (Т2 ´ Т3) 2. для соединений (У1, У2 – условия соединений) (Т1 ><У1 Т2 ) >< У2 Т3 = Т1 ><У1 (Т2 >< У2 Т3) Законы комбинаций: 1. Каскад селекций (У1, У2 – условия селекций, And – логическое И) sУ1 (sУ2 (Т)) = s У1 And У2 (Т) 2. Каскад проекций, {Am} и {Bn} – наборы полей для проекций, {Am} Ì {Bn} p A1,A2,...,Am (p B1,B2,...,Bn(Т)) = p A1,A2,...,Am (Т) Законы перестановок: 1. Селекция и проекция (У – условие селекции, {Am} – набор полей для проекции) sУ (p A1,A2,...,Am (Т)) = p A1,A2,...,Am (sУ (Т)) 2. Селекция и объединение (У – условие селекции) sУ (Т1 U Т2)=sУ (Т1) U sУ (Т2) 3. Селекция и разность (У – условие селекции) sУ (R1 – R2)=sУ (R1) – sУ (R2) 4. Проекция и декартово произведение {Am}, {Bk}, {Cn} – наборы полей для проекций, поля {Сn} принадлежат таблице Т1, поля {Bk} – таблице Т2, {Cn} Ì {Am}, {Bk} Ì {Am} p A1,A2,...,Am ( Т1 ´ Т2 ) = p C1,C2,...,Cn(Т1) ´ p B1,B2,...,Bk(Т2) 5. Проекция и объединение, {Am} – набор полей из проекции p A1,A2,...,Am ( Т1 U Т2 ) = p A1,A2,...,Am (Т1) U pA1,A2,...,Am (Т2) 6. Селекция и декартово произведение. Закон имеет несколько вариантов в зависимости от накладываемого условия селекции: · Если условие наложено только на поля таблицы Т1 sУ (Т1 ´ Т2) = sУ (Т1) ´ Т2 · Если условие можно представить в виде У = У1 And У2, причем У1 наложено только на поля таблицы Т1, а У2 – только на поля таблицы Т2 sУ (Т1 ´ Т2) = sУ1(Т1) ´ sУ2 (Т2) · Если условие можно представить в виде У = У1 And У2, причем У1 наложено только на поля таблицы Т1, а У2 – на поля обеих таблиц Т1 и Т2 sУ (Т1 ´ Т2) = sУ2 (sУ1( Т1) ´ Т2)
Дата добавления: 2015-06-30; просмотров: 200; Нарушение авторских прав Мы поможем в написании ваших работ! |