Классика баз данных - статьи

       

Тело блока содержит граф. Вершины


Тело блока содержит граф. Вершины графа (черные круги в нашей диаграмме) представляют квантифицированные кортежные переменные, называемые квантификаторами. В блоке 3 имеются квантификаторы q1, q2 и q4. Областями определения квантификаторов q1 и q2 являются базовые таблицы inventory и quotations соответственно, и эти квантификаторы соответствуют ссылками на таблицы в разделе FROM SQL-запроса. Заметим, что узлы q1 и q2 связаны межблочными дугами с заголовками inventory и quotations. Дуга между q1 и q2 специфицирует предикат соединения. (Циклическая) дуга, присоединенная к q1, соответствует локальному предикату на q1.

В действительности, единственная межквантификаторная дуга представляет конъюнкт раздела WHERE в блоке запроса – конъюнкты представляются в диаграмме помеченным прямоугольником на дуге. Такие дуги также называются булевскими термами [SAC+79]. Квантификатор 3 является квантором всеобщности, ассоциированным с подзапросом ALL в разделе WHERE. Это выражает тот факт, что для всех кортежей, ассоциированных с q4, предикат, который представлен дугой между q2 и q4, является true.

В блоке 3 q1 и q2 участвуют в соединениях, и их столбцы используются в кортежах результата. Эти квантификаторы имеют тип F, поскольку они происходят из раздела FROM запроса. У квантификатора q4 тип A, представляющий квантор всебщности (ALL). Предикаты SQL EXISTS, IN, ANY и SOME принимают значение true, если, по крайней мере, один кортеж подзапроса удовлетворяет предикату. Следовательно, все эти предикаты являются экзистенциальными, и у квантификаторов, ассоциированных с такими подзапросами, имеется тип E. Каждый квантификатор помечается столбцами, которые ему требуются из таблицы, являющейся его областью определения.

Блок 4 представляет подзапрос. Он содержит F-квантификатор q3 над таблицей quotations, и в нем имеется предикат, ссылающийся на q2 и q3.

В теле каждого блока имеется атрибут, называемый distinct, который может иметь значения ENFORCE, PRESERVE или PERMIT.

Содержание  Назад  Вперед