Cтраница 3
К первой относятся простейшие интеграторы с ручным управлением. Основное их назначение состоит в выполнении наиболее трудоемкой операции алгоритма первичной обработки - вычислении определяющего параметра пика ( ин - Операции селекции пика, коррекции базисного как правило, выполняются вручную. Обычно такие интеграторы снабжаются простейшей системой отображения информации - визуальной индикацией. [31]
Приведенные выше выражения с несколькими селекциями могут быть преобразованы в форму, приведенную во второй строке, и использующую and. Преимуществом такого преобразования является то, что получешюе выражение может быть вычислено за один просмотр отношения А. Кроме того, если А само является результатом соединения, то мы можем разбить Р и Q на части, а затем переставить эти части, чтобы переставить операции селекции и соединения рассмотренным только что способом. [32]
Значительные успехи в оптимизации запросов часто могут быть достигнуты просто путем изменения порядка выполнения операций. Например, переставляя операции селекции так, чтобы они выполнялись до соединений, а не после них, мы часто можем ответить на запрос быстрее. Это происходит потому, что операции типа соединения и декартова произведения работают как генераторы, создавая большое количество кортежей; поэтому, если мы сможем выполнить некоторые из операций селекции вначале, то уменьшим количество генерированных кортежей. Это один из примеров применения общего принципа: всегда следует использовать присущую данной задаче информацию для того, чтобы уменьшить количество информации на выходе генератора, управляя ее источником, вместо того чтобы ожидать вывода всей информации и потом отбрасывать ненужные элементы. [33]
Приведенные выше законы можно применять для оптимизации реляционных выражений. Получаемые в результате оптимизированные выражения удовлетворяют принципам, изложенным в разд. Мы попытаемся перемещать операции селекции и проекции, насколько это возможно, вниз в дереве разбора выражения, хотя нам хотелось бы организовать каскад таких операций в виде одной селекции с одной последующей проекцией. По возможности будем также группировать операции селекции и проекции с предшествующей двуместной операцией, такой, как объединение, декартово произведение или разность множеств. [34]
Если операндами двуместной операции являются селекции и ( или) проекции1, применяемые к листьям дерева, имеют место некоторые специальные случаи. Следует внимательно рассмотреть, как нужно выполнять эту двуместную операцию. Иногда целесообразно слить с ней селекцию или проекцию. Например, когда двуместная операция представляет собой объединение, можно слить операции селекции и проекции, находящиеся ниже ее в дереве, без потери эффективности, поскольку мы так или иначе должны копировать операнды, чтобы сформировать объединение. Если, однако, двуместной операцией является декартово произведение без последующей селекции, которая превратила бы его в эквисоединение, предпочтительнее выполнить сначала селекцию и проекцию, оставляя результаты во временном файле, так как размер файлов-операндов весьма влияет на время, требуемое для вычисления полного декартова произведения. [35]
Установление сооветствия между элементами двух множеств: отображение множества X во множество Y есть функция, определенная на множестве X и принимающая значения из множества Y. В языке SEQUEL - операция выборки данных из таблицы, соответствующая операциям селекции и проекции. [36]
Кроме того, селектировать объекты можно, выбирая их с учетом результатов работы фильтра, а также выбирая объекты, связанные с указанными записями в таблице. Все перечисленные операции можно выполнять, добавляя, пересекая или исключая результат операции из текущей селекции объектов. Многообразие операций селекции позволяет селектировать объекты по сложной смеси геометрических и логических критериев. Все вышеперечисленное позволяет отвечать на нетривиальные запросы, объединяющие пространственную и табличную информацию. Выполнив операцию селекции по указанному кварталу, получаем в селекции объектов здания, расположенные в квартале. Затем открываем окно просмотра таблицы с указанием, что отображаться должны только те записи таблицы, которые присоединены к объектам, попавшим в селекцию. [37]