Скачиваний:
125
Добавлен:
02.05.2014
Размер:
2.3 Mб
Скачать

12.20.Kent w. The Universal Relation Revisited // acm tods. — December, 1983. — 8, № 4.

12.21.Korth H.F. et al. System/U: A Database System Based on the Universal Relation Assumption // Ibid. September, 1984. — 9, № 3.

Здесь приводится описание теории, языка определения данных DDL, языка управления данными DML, а также практического воплощения эксперимен­тальной системы на основе "универсального отношения", созданной в Стэн-фордском университете.

12.22.Maier d., Ullman j.D. Fragments of Relations // Proc. 1983 sigmod Intern. Conf. On Management of Data. — San Jose, Calif. — May, 1983.

12.23.Maier D., Ullman J.D., Vardi M.Y. On the Foundations of the Universal Relation Model // ACM TODS. June, 1984. — 9, № 2. (Более ранняя версия этой статьи под заго­ловком "The Revenge of the JD" опубликована в Proc. 2nd ACM SIGFACT-SIGMOD Symposium on Principles of Database Systems. Atlanta, Ga., March, 1983.)

12.24.Maier d., Ullman j.D. Maximal Objects and the Semantics of Universal Relation Databases // acm tods. — March, 1983. — 8, № 1.

Максимальные объекты представляют собой подход для разрешения проблемы двузначности, возникающей в универсальных реляционных системах, базовая структура которых не является ациклической (подробности приводятся в [12.16]). Максимальный объект соответствует предварительно объявленному подмножеству

атрибутов универсальной переменной-отношения, для которого базовая структура будет ациклической. Такие объекты затем используются для интерпретации за­просов, которые в противном случае были бы двусмысленными. 12.25.Nicolas J.M. Mutual Dependencies and Some Results on Undecomposable Relations // Proc. 4th Intern. Conf. on Very Large Data Bases. Berlin, FDR. September, 1978. В работе вводится концепция взаимной зависимости, которая в действительности представляет собой частный случай зависимости соединения, не являющейся мно­гозначной или функциональной зависимостью, и включает точно три проекции (как в примере с зависимостью соединения, упомянутой в разделе 12.3). Однако эта концепция не имеет ничего общего с понятием взаимной зависимости, описан­ным в главе 11.

12.26.0sborn S.L. Towards a Universal Relation Interface // Proc. 5th Intern. Conf. on Very Large Data Bases. Rio de Janeiro, Brazil. October, 1979.

В статье предполагается, что если две или более последовательностей соединений в системе на основе "универсального отношения" генерируют потенциальный от­вет на заданный запрос, то желательным откликом будет соединение всех таких потенциальных ответов. Приводятся алгоритмы для генерации всех таких последо­вательностей соединений. 12.27.Parker D.S., Delobel С. Algorithmic Applications for a New Result on Multivalued Dependencies // Proc. 5th Intern. Conf. on Very Large Data Bases. Rio de Janeiro, Brazil. —October, 1979.

Здесь описано применение результатов работы [12.12] для решения различных проблем, например для тестирования операции декомпозиции без потерь. 12.28.Sagiv Y., Delobel С, Parker D.S., Fagin R. An Equivalence between Relational Database Dependencies and a Subclass of Propositional Logic // JACM.June,

1981. —28, №3.

Это комбинация работ [10.8] и [12.29]. 12.29.Sagiv Y., Fagin R. An Equivalence between Relational Database Dependencies and a

Subclass of Propositional Logic // IBM Research Report RJ2500. March, 1979.

Здесь результаты работы [10.8], полученные для функциональных зависимостей,

расширены для многозначных зависимостей. 12.30.Sciore Е. A Complete Axiomatization of Full Join Dependencies // JACM.April,

1982. —29, №2.

Здесь результаты работы [12.2], полученные для функциональных зависимостей, расширены для многозначных зависимостей. 12.31.Smith J.M. A Normal Form for Abstract Syntax // Proc. 4th Intern. Conf. on Very Large Data Bases. Berlin, FDR. September, 1978.

Здесь впервые представлено понятие нормальной формы типа (3,3)НФ. 12.32.Ullman J.D. On Kent's Consequences of Assuming a Universal Relation // ACM

TODS. December, 1983. — 8, № 4. 12.33.Ullman J.D. The U.R. Strikes Back // Proc. 1st ACM SIGFACT-S1GMOD Symposium

on Principles of Database Systems. Los Angeles, Calif. March, 1982.

Ответы к упражнениям

12.1. Сначала приведем выражение для МЗЗ для переменной-отношения СТХ.

CONSTRAINT CTX_MVD "

WITH

(СТХ RENAME COURSE AS С, TEACHER AS T, TEXT AS X)

AS Tl,

(EXTEND Tl

ADD (CTX WHERE COURSE = С) {T} AS A)

AS T2,

(EXTEND T2

ADD (CTX WHERE COURSE = С AND TEXT = X) {T} AS B)

AS T3,

(T3 WHERE А Ф B) AS T4 : IS_EMPTY (T4) ;

Для нее существует, конечно, и более простое выражение.

CONSTRAINT CTX_MVD СТХ = СТХ {COURSE, TEACHER} JOIN

СТХ {COURSE, TEXT} ;

А вот выражение для зависимости соединения для переменной-отношения SPJ.

CONSTRAINT SPJ_JD SPJ = SPJ {St, Pf} JOIN

SPJ {Pt, Jf} JOIN SPJ {J#, S#} ;

12.2. Прежде всего обратите внимание, что переменная-отношение R содержит все воз- можные значения атрибута А в паре со всеми возможными значениями атрибута В. Более того, множество всех возможных значений атрибута А, например S, такое же, как и множество всех значений атрибута В. Следовательно, переменная-отношение R равносильна декартову произведению множества S с самим собой. Эквивалент- ная формулировка такова: переменная-отношение R равносильна декартову произ- ведению проекции переменной-отношения R по атрибуту А и проекции перемен- ной-отношения R по атрибуту В. Таким образом, переменная-отношение R удовле- творяет следующим многозначным зависимостям (которые не являются тривиаль- ными, поскольку не удовлетворяют всем двойным переменным-отношениям).

{ } —»-» А | В

Эквивалентно также утверждение, что переменная-отношение R удовлетворяет за­висимости соединения *(А, В) (вспомните, что соединение без общих атрибутов вырождается в декартово произведение его операндов). Отсюда следует, что пере­менная-отношение R не находится в 4НФ и может быть подвергнута декомпозиции без потерь на две проекции по атрибутам А и В (причем тела этих проекций будут, безусловно, идентичны). Однако переменная-отношение R находится в НФБК (поскольку является полностью ключевой) и не удовлетворяет никаким нетриви­альным функциональным зависимостям.

Замечание, Переменная-отношение R также удовлетворяет двум многозначным за­висимостям.

А -—0 j ^ у В -*> А | { }

Однако они являются тривиальными, поскольку удовлетворяют любым двойным переменным-отношениям с атрибутами А и В.

12.3. Сначала введем три переменные-отношения, первичными ключами которых будут имена торговых агентов, названия регионов и названия товаров соответственно.

REP { REPf, ... } KEY { REPi }

AREA { AREAf, ... } KEY { AREAt }

PRODUCT { PRODf, ... } KEY { PRODI }

Затем представим связь между торговыми агентами и регионами с помощью сле­дующей переменной-отношения.

RA { REPi, AREAt } KEY { REPi, AREAf }

Связь между торговыми агентами и продукцией представим с помощью перемен­ной-отношения RP.

RP { REPf, PRODf } KEY { REPf, PRODf }

Обе эти переменные-отношения представляют связи типа "многие ко многим". Далее для описания того, что каждый вид продукции продается в каждом регионе, необходимо ввести следующую переменную-отношение.

АР { AREAf, PRODf } KEY { AREAf, PRODf }

Для представления связей, существующих между регионами и продукцией, устано­вим ограничение (назовем его С).

АР = AREA { AREAf } TIMES PRODUCT { PRODf }

Обратите внимание на следующее: в ограничении С подразумевается, что перемен­ная-отношение АР не находится в четвертой нормальной форме (см. упр. 12.2). На самом деле переменная-отношение АР не дает никакой дополнительной информа­ции, которая не может быть получена из других переменных-отношений.

АР { AREAf } = AREA { AREAt } АР { PRODf } = PRODUCT { PRODf }

Тем не менее пока будем считать, что переменная-отношение АР включена в проект создаваемой базы данных.

Условие, что никаких два торговых агента не продают один и тот же вид продукции в одном и том же регионе, означает, что заданной комбинации атрибутов

{AREAi, PRODf} соответствует только одно значение номера торгового агента (атрибут REPi). Исходя из этого, можно ввести следующую переменную-отношение.

APR { AREA#, PRODI, REPf }

KEY { AREAt, PRODI } Здесь явным образом реализована следующая функциональная зависимость. { AREA!, PRODI } -> REPi

Безусловно, определение комбинации атрибутов {AREA!, PRODI} в качестве потен­циального ключа переменной-отношения APR является достаточным условием для выражения этой функциональной зависимости. Однако теперь переменные-отношения RA, RP и АР оказались избыточными, поскольку они являются проек­циями переменной-отношения APR, а потому могут быть опущены. Вместо ограни­чения С теперь необходимо ввести следующее ограничение С1.

APR { AREAi, PRODI } = AREA { AREA* } TIMES PRODUCT { PROD* }

Оно также должно быть задано отдельно и явным образом (поскольку оно не пред­полагается существующими потенциальными ключами).

Кроме того, поскольку каждый торговый агент продает весь свой набор товаров в каждом из обслуживаемых им регионов, для переменной-отношения APR необхо­димо установить дополнительное ограничение С2 (оно представляет нетривиаль­ную МЗЗ, следовательно, переменная-отношение APR не находится в 4НФ).

REP* AREA* | PROD*

Таким образом, в окончательном виде проект базы данных состоит из переменных-отношений REPS, AREAS, PRODUCTS и APR вместе с заданными явным образом огра­ничениями С1 и С2. |

Это упражнение хорошо иллюстрирует тот факт, что в общем случае порядок нор­мализации адекватно представляет некоторые семантические аспекты заданной проблемы (в основном, зависимости, которые подразумеваются потенциальными ключами, где под "зависимостями" имеются в виду функциональные и многознач­ные зависимости, а также зависимости соединения). Однако может также потребо­ваться явное указание дополнительных зависимостей для некоторых особых аспек­тов, а отдельные аспекты могут быть и вовсе непредставимы с помощью подобных типов зависимостей. Это упражнение демонстрирует, что не всегда желательно "полностью" нормализовать некоторую переменную-отношение (в нашем примере переменная-отношение APR находится в НФБК, но не в 4НФ).

12.4. Все вносимые изменения достаточно просты — стоит лишь заменить упоминания функциональных зависимостей и НФБК понятиями многозначной зависимости и 4НФ. Тогда алгоритм декомпозиции будет следующим.

  1. Зададим переменную-отношение R в качестве начального значения для деком­позиции D.

  2. Для каждой переменной-отношения Т (которая не находится в 4НФ), входящей в состав декомпозиции D, выполним действия, которые перечислены в пп. 2 и 3.

  3. Пусть зависимость X —н Y является многозначной зависимостью в перемен­ной-отношении Т, которая не удовлетворяет требованиям 4НФ.

I 4. Заменим переменную-отношение Т в декомпозиции D двумя ее проекциями, а ч-'д»т ^ имеЧно.: одной по атрибутам X и Y, а другой — по всем атрибутам, за исключе­нием атрибута Y.

12.5. Это пример "циклического ограничения", которому соответствует приведенная ниже реляционная структура.

REP { REPi, ... }

KEY { REPi } AREA { AREAt, ... }

KEY { AREAt }

PRODUCT { REPi, ... } KEY { PRODi }

RA { REPi, AREAt } KEY { REPi, AREAf }

AP { AREAt, PRODi } KEY { AREAt, PRODi }

PR { PRODi, REPi }

KEY { PRODi, REPi }

Кроме того, пользователя следует информировать о том, что соединение перемен­ных-отношений RA, RP и АР не содержит никаких ловушек соединения.

( RA JOIN АР JOIN PR ) { REPf, AREAf } = RA AND ( RA JOIN AP JOIN PR ) { AREAt, PRODi } = AP AND ( RA JOIN AP JOIN PR ) { PRODi, REPf } = PR

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]