ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.








       EW1 ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ   W0


         W1   ГЛАВА 6                     W0


         W1   ФРАЗЫ ОПЕРАТОРА SELECT      W0




         Данная глава  расширяет сведения об операторе SELECT, данные
         в Главе 5 данного руководства.  Здесь  детально  описывается
         каждая фраза оператора SELECT,  а также показывается вспомо-
         гательное использование данного оператора.

         В главу входят следующие разделы:

                  * фраза FROM
                  * фраза WHERE
                  * фразы GROUP BY и HAVING
                  * фраза ORDER BY
                  * фраза CONNECT BY
                  * простые объединения
                  * внешние объединения
                  * запросы
                  * коррелированные запросы
                  * распределенные запросы
                    
                  Справочное руководство по языку SQL        6-2





















                                   -- 252 --




E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фраза FROM                                    F


         Назначение Специфицирует  таблицу (или таблицы) для операто-
                    ров SELECT и DELETE.

         Предпосылки Нет.

         Синтаксис  В операторах DELETE:

                DELETE [EFROMF] [user.]table [@databaselink] [alias]
                [WHERE ...]
                ...

                    В операторах SELECT:

                    SELECT select_list
                    EFROMF [user.]table [alias] [@databaselink] [,...]
                    WHERE ...
                    ...


         Ключевые   user             владелец таблицы или обзора.
         слова и    table            имя таблицы или обзора.
         параметры  alias            временное имя,  назначаемое таб-
                                     лице или столбцу в качестве али-
                                     аса, позволяющее   ссылаться   в
                                     коррелированном запросе ссылать-
                                     ся на ту же таблицу. Кроме того,
                                     алиас позволяет   Вам  применять
                                     внутри запроса  сокращение имени
                                     таблицы.
                    databaselink     действительная межбазовая связь,
                                     ссылающаяся на   удаленную  базу
                                     данных. Более подробно см.  опе-
                                     ратор CREATE   DATABASE  LINK  в
                                     Главе 5 данного руководства.


         Замечания  FROM - обязательная фраза оператора SELECT и нео-
         по исполь- бязательная - оператора DELETE. Она идентифициру-
         зованию    ет таблицу,  из  которой  должны удаляться строки
                    или таблицу(ы), из которых выбираются строки.

                    Оператор REVOKE также имеет фразу FROM,  но в нем
                    она выполняет  другие функции.  К этому оператору
                    данное описание не относится.

                    Если таблица  принадлежит  другому  пользователю,
                    имени таблицы должно предшествовать имя соответс-
                    твующего пользователя. Имя пользователя отделяет-
                    ся от имени таблицы точкой (.).
                    
                      Фразы оператора SELECT                 6-3


                                   -- 253 --




         Примеры    Чтобы удалить из таблицы EMP  строки,  содержащие
                    50 в столбце DEPTNO, наберите:

                    DELETE FROM EMP
                         WHERE DEPTNO = 50

                    Чтобы выбрать все строки из таблицы EMP, содержа-
                    щие в столбце DEPTNO значение 50, введите:

                    SELECT * FROM EMP
                         WHERE DEPTNO + 40

                    Чтобы выбрать строки,  содержащие значение  40  в
                    столбце DEPTNO  из двух таблиц - EMP и EMP2,  вы-
                    полните следующую команду:

                    SELECT *
                         FROM EMP, EMP2
                         WHERE EMP.EMPNO = EMP2.EMPNO
                           AND DEPTNO = 40

                    Если таблица EMP2 принадлежит другому пользовате-
                    лю - BEN, введите:

                    SELECT *
                         FROM EMP, BEN.EMP2
                         WHERE EMP.EMPNO = EMP2.EMPNO
                           AND DEPTNO = 40

         Связанные  Операторы SELECT и DELETE в Главе 5 данного руко-
         темы       водства.


E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фразы GROUP BY и HAVING                       F


         Назначение Работа с группой строк,  возвращаемых запросом  и
                    ограничение (с помощью фразы HAVING), какие груп-
                    пы затрагиваются.

         Предпосылки Нет.

         Синтаксис  SELECTexpr [,expr]...
                        FROM table [,table]...
                        EGROUP BYF expr [,expr] ...
                        EHAVINGF condition
                        ...


         Ключевые   expr             см. описание  синтаксиса  expr в
         слова и                     Главе 4 данного руководства.
         параметры  table            таблица или обзор,  к которым Вы
                                     имеете доступ.
                    condition        см. описание синтаксиса condition


                                   -- 254 --



                                     в Главе 4 данного руководства.
                                     
                  Справочное руководство по языку SQL        6-4


         Замечания  Фраза GROUP BY используется для того,  чтобы опе-
         по исполь- ратор SELECT выдавал одну объединенную строку для
         зованию    каждой группы выбранных строк. Каждая группа фор-
                    мируется на основе одинаковых значений для столб-
                    цов или выражений.

                    Каждое выражение  expr в SELECT должно быть одним
                    из следующих:

                    * быть константой  или  функцией  без  параметров
                      (например SYSDATE)
                    * содержать группирующую функцию вроде SUM, COUNT
                      или MAX
                    * в точности совпадать с выражением expr  в фразе
                      GROUP BY

                    Выражения GROUP BY могут ссылаться на любой стол-
                    бец из фразы FROM независимо от того, упоминаются
                    они или нет в списке SELECT.

                    Специфицируйте фразы GROUP BY и HAVING после фраз
                    WHERE и CONNECT BY...START WITH. Если присутству-
                    ют обе фразы (GROUP BY и HAVING), они могут зада-
                    ваться в любом порядке.

                    Для общего  количества  байтов,  содержащихся  во
                    всех выражениях  фразы GROUP BY существует систе-
                    мозависимое ограничение.

         Фраза HAVING

                    Эта фраза используется для указания, какие группы
                    из GROUP  BY будут включаться в окончательный ре-
                    зультат. ORACLE обрабатывает фразы  WHERE,  GROUP
                    BY и HAVING следующим образом:

                       1. Удаляет все строки, не удовлетворяющие усло-
                          вию WHERE.
                       2. Вычисляет и формирует группы как указано во
                          фразе GROUP BY.
                       3. Удаляет все группы,  не удовлетворяющие ус-
                          ловию HAVING.

         Примеры    Чтобы выдать минимальное и максимальное жалование
                    для каждого отдела таблицы EMP введите:

                    SELECT DEPTNO, MIN(SAL), MAX(SAL)
                        FROM EMP
                        GROUP BY DEPTNO

                    DEPTNO       MIN(SAL)      MAX(SAL)
                    ---------    ------------- ------------
                    10           1300          5000

                                   -- 255 --



                    20            800          3000
                    30            950          2850
                    
                      Фразы оператора SELECT                 6-5


                    Чтобы сделать такой  же  запрос  применительно  к
                    клеркам, введите:

                    SELECT DEPTNO, MIN(SAL), MAX(SAL)
                        FROM EMP
                        WHERE JOB = 'CLERK'
                        GROUP BY DEPTNO

                    DEPTNO       MIN(SAL)      MAX(SAL)
                    ---------    ------------- ------------
                    10           1300          1300
                    20            800          1100
                    30            950          950

                    Чтобы заставить запрос выдать только  те  отделы,
                    чье минимальное жалование меньше $1000:

                    SELECT DEPTNO, MIN(SAL), MAX(SAL)
                        FROM EMP
                        WHERE JOB = 'CLERK'
                        GROUP BY DEPTNO
                        HAVING MIN(SAL) < 1000


                    DEPTNO       MIN(SAL)      MAX(SAL)
                    ---------    ------------- ------------
                    20            800          1100
                    30            950          950


         Связанные  Раздел "Групповые функции"  Главы  4  и  оператор
         темы       SELECT в Главе 5 данного руководства.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фраза WHERE                                   F


         Назначение Ограничить строки,  возвращаемые  из  таблице  по
                    оператору SELECT или строки,  обрабатываемые опе-
                    раторами DELETE и UPDATE.

         Предпосылки Нет.

         Синтаксис  DELETE ...
                         EWHEREF condition

                    SELECT ...
                         EWHEREF condition


                                   -- 256 --



                    UPDATE ...
                         EWHEREF condition


         Ключевые   condition        см. описание синтаксиса condition
         слова и                     в Главе 4 данного руководства.
         параметры
         
                  Справочное руководство по языку SQL        6-6


















































                                   -- 257 --




         Замечания  Фраза WHERE  предназначена  для  специфицирования
         по исполь- условия condition. Оператор, содержащий эту фразу
         зованию    будет работать только со строками,  удовлетворяю-
                    щими условию.

                    Condition определяется как  логическое выражение.
                    Например:

                    DEPTNO = 30

                    это логическое выражение,  которое истинно (true)
                    для значений DEPTNO, равных 30 и ложно (false) во
                    всех остальных случаях.

                    Операции AND  и  OR могут использоваться для сос-
                    тавных выражений. Например, выражение:

                    DEPTNO = 30 AND JOB = 'SALESMAN'

                    истинно только если обе его компоненты имеют зна-
                    чение TRUE.

                    Операция NOT  используется для смены значения вы-
                    ражения на противоположное. Например, выражение:

                    NOT (DEPTNO = 30 AND JOB = 'SALESMAN')

                    истинно, если DEPTNO = 30 AND JOB =  'SALESMAN' -
                    ложно.


         Примеры    Следующий оператор выбирает все строки, в которых
                    DEPTNO не равен 30:

                    SELECT *
                        FROM EMP
                        WHERE DEPTNO !=30

                    А следующий - изменяет все строки, в которых COMM
                    имеет значение null:

                    UPDATE EMP
                        SET SAL = (1.1*SAL)
                        WHERE COMM IS NULL

                    И, наконец,  последний оператор использует корре-
                    лированный запрос для удаления всех отделов,  ко-
                    торые не содержат служащих:

                    DELETE FROM DEPT A
                        WHERE NOT EXISTS
                            (SELECT 'TRUE'
                                FROM EMP B
                                WHERE A.DEPTNO = B.DEPTNO)
                    
                      Фразы оператора SELECT                 6-7


                                   -- 258 --




                    Для каждой  строки  таблицы DEPT ORACLE выполняет
                    следующую последовательность шагов:

                    1. Определяет значение DEPTNO для строки.
                    2. Использует  это значение для определения,  су-
                       ществует ли такой DEPTNO в таблице EMP.
                    3. Если  не  существует,  строка удаляется.  Если
                       DEPTNO существует для  какой-нибудь  из  строк
                       таблицы EMP, не удаляет строку.

                    Заметьте, что  эта команда DELETE использует кор-
                    релированный запрос,  так как запрос ссылается на
                    ту же таблицу.  'TRUE' - просто константа,  поло-
                    женная по синтаксису и может быть  заменена любой
                    другой константой или столбцом таблицы EMP.  Опе-
                    рация NOT EXISTS специфицирует,  что строка будет
                    удалена, если запрос не вернет ни одной строки.

         Связанные  Описание синтаксиса запроса (query) ниже по текс-
         темы       ту. Раздел "Операции"  из  Главы  4  и  операторы
                    DELETE, SELECT,  UPDATE  из Главы 5 данного руко-
                    водства.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фраза WHERE (Встроенный SQL)                  F


         Назначение Ограничение   строк,   возвращаемых   операторами
                    SELECT, DELETE или UPDATE.

         Предпосылки Нет.

         Синтаксис  SELECT ...
                       FROM ...
                       EWHEREF [condition | CURRENT OF cursor_name]


         Ключевые   condition        логическое выражение,    которое
         слова и                     может ссылаться на host -  пере-
         параметры                   менные или  массивы (фраза WHERE
                                     оператора SELECT не может содер-
                                     жать массивов host - переменных).
                                     Условие поиска может  включать в
                                     себя запрос.  См.  ниже описание
                                     синтаксиса query.
                    CURRENT OF       может  использоваться  только  с
                                     DELETE или UPDATE;  ссылается на
                                     строку, обработанную   последней
                                     оператором FETCH   в   указанном
                                     курсоре.
                                     
                  Справочное руководство по языку SQL        6-8



                                   -- 259 --




         Замечания  Если опущена  фраза  WHERE,  обрабатываются   все
         по исполь- строки таблицы или обзора. Ссылки на host - пере-
         зованию    менные могут быть использованы везде,  где допус-
                    тимо использование констант.

                    Если фраза  WHERE отсутствует в операторах DELETE
                    или UPDATE,  пятый элемент sqlwarn (SQLCA)  уста-
                    навливается в  'W' (предупреждение) и выполняются
                    действия по EXEC SQL WHENEVER SQLWARNING.

                    Если все host - переменные во фразе WHERE являют-
                    ся массивами,  результат идентичен том, как будто
                    оператор выполнился по разу для  каждой компоненты
                    массива.

                    Если какая-либо  host - переменная во фразе WHERE
                    является массивом,  массивами должны быть  и  все
                    остальные host - переменные.

                    Если массивы различаются размерностью,  будет вы-
                    бираться минимальный (или значение,  указанное во
                    фразе FOR)  для определения числа повторений опе-
                    ратора, содержащего фразу WHERE.

                    Фраза WHERE оператора SELECT не  может  содержать
                    массивов host - переменных.

         Фраза CURRENT OF

                    Если фраза  CURRENT  OF  используется в операторе
                    UPDATE, курсор предварительно должен быть опреде-
                    лен с фразой FOR UPDATE а операторе SELECT.  Кур-
                    сор должен быть открыт и позиционирован на  стро-
                    ку. Если курсор не был открыт или не был выполнен
                    FETCH, фраза CURRENT OF завершится  с  ошибкой  и
                    вернется нулевое число строк.


         Пример     Для замены в текущей  строке  жалования  на  2000
                    введите:

                    UPDATE EMP
                       SET SAL = 2000
                       WHERE CURRENT OF CURSOR EMP_CURSOR

         Связанные  Фраза FOR;   операторы   DECLARE  CURSOR,  FETCH,
         темы       EXECUTE, SELECT из Главы 5 данного руководства.
                    
                      Фразы оператора SELECT                 6-9









                                   -- 260 --




E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фразы CONNECT BY и START WITH                 F


         Назначение Выдача данных на основании их иерархической взаи-
                    мосвязи.

         Предпосылки Нет.

         Синтаксис  SELECT ...
                        FROM ...
                        ...
                        [ ECONNECT BYF {PRIOR expr operator expr
                                       | expr operator PRIOR expr}
                        [ ESTART WITHF condition  ] ]


         Ключевые   PRIOR            специфицирует направление обхода
         слова и                     дерева.  ORACLE берет вершину  с
         параметры                   PRIOR  прежде  вершины  без этой
                                     фразы.
                    expr             См. описание синтаксиса "expr" и
                                     "condition" в  разделе   "Опера-
                    operation        ции" Главы 4 данного руководства.
                    START WITH
                    condition


         Замечания  Фраза CONNECT BY используется для запросов по ие-
         по исполь- рархическим связям. Она специфицирует строки, вы-
         зованию    бираемые в   иерархическом   порядке   а    также
                    определяет отношение,  используемое для объедине-
                    ния строк в иерархию.

         PRIOR

                    Фраза PRIOR определяет  порядок  выборки  (сперва
                    родительскую или дочернюю вершину).

                    Фраза PRIOR  должна использоваться перед одним из
                    выражений фразы CONNECT BY.  Часть  выражения,  в
                    которой находится  PRIOR,  определяет  родителя в
                    каждом отношении "родитель-потомок"; другая часть
                    выражения определяет потомка.  Например,  CONNECT
                    BY PRIOR EMPNO=MGR означает, что CONNECT BY будет
                    возвращать менеджеров  (определяемых в EMPNO) пе-
                    ред служащими (определяемых в  MGR).  CONNECT  BY
                    EMPNO=PRIOR MGR означает, что теперь служащие бу-
                    дут выдаваться перед менеджерами.

                    Количество уровней фразы CONNECT BY ограничивает-
                    ся доступной пользователю памятью.





                                   -- 261 --



                    Фразу CONNECT  BY  нельзя  использовать  вместе с
                    подзапросами и объединениями.
                    
                  Справочное руководство по языку SQL        6-10


         START WITH

                    Фраза START WITH идентифицирует строки (или стро-
                    ку), которые будут использоваться в качестве кор-
                    ня дерева,  назначая условие, которому они должны
                    удовлетворять. Отсутствие   этой  фразы  означает
                    начало со всех столбцов,  удовлетворяющих условию
                    фразы WHERE.
                    Во фразе START WITH допустимы подзапросы.
                    Если в   операторе   SELECT   используется  фраза
                    CONNECT BY,  в нем же можно воспользоваться псев-
                    достолбцом LEVEL, который возвращает 1 для корня,
                    2 - для вершины, порожденной корнем, 3 - для вну-
                    ка и т.д.

         Использование ORDER BY

                    Использование ORDER BY нарушает порядок,  в кото-
                    ром CONNECT BY возвращает строки. При использова-
                    нии CONNECT BY существует неявный  порядок (ORDER
                    BY). Если уровень строки меньше, чем уровень пре-
                    дыдущей строки,  она рассматривается как дочерняя
                    к предыдущей.  Однако, ORDER BY маскирует неявный
                    порядок выдачи строк  помощью  CONNECT  BY.  Хотя
                    ошибки и не выдается,  использование ORDER BY от-
                    рицает результаты работы CONNECT BY.

         Пример     SELECT LPAD(' ',2*LEVEL) || ENAME ORG_CHART, EMPNO,
                                                MGR, JOB
                       FROM EMP
                       CONNECT BY PRIOR EMPNO = MGR
                       START WITH ENAME = 'KING'


                    ORG_CHART              ENPNO     MGR    JOB
                    ---------------    ---------  ------    ----------
                    KING                    7839            PRESIDENT
                      JONES                 7566    7839    MANAGER
                        SCOTT               7788    7566    ANALYST
                          ADAMS             7876    7788    CLERK
                        FORD                7902    7566    ANALYST
                          SMITH             7369    7902    CLERK
                      BLAKE                 7698    7839    MANAGER
                        ALLEN               7499    7698    SALESMAN
                        WARD                7521    7698    SALESMAN
                        MARTIN              7654    7698    SALESMAN
                        TURNER              7844    7698    SALESMAN
                        JAMES               7900    7698    CLERK
                      CLARK                 7782    7839    MANAGER
                    MILLER                  7934    7782    CLERK



                                   -- 262 --



         Связанные  Описание синтаксиса "condition" в Главе 4; опера-
         темы       тор SELECT в Главе 5 данного руководства.
                    
                      Фразы оператора SELECT                 6-11























































                                   -- 263 --




E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Фраза ORDER BY                                F


         Назначение Сортировка результатов запроса.

         Предпосылки Нет.

         Синтаксис  SELECT ...
                       EORDER BYF {expr|position} [ASC|DESC],...


         Ключевые   expr             выражение, базирующееся на одном
         слова и                     или нескольких   столбцах  фразы
         параметры                   SELECT или из  одной  из   таблиц
                                     фразы FROM.
                    position         число,  идентифицирующее позицию
                                     столбца из фразы SELECT.  Напри-
                                     мер, вместо указания имен столб-
                                     цов, можно указать номер позиции
                                     столбца в списке SELECT. При ис-
                                     пользовании операций      UNION,
                                     INTERSECT, MINUS  элементы ORDER
                                     BY должны указываться по позици-
                                     ям.
                    ASC|DESC         специфицирует возрастающий   или
                                     убывающий порядок  сортировки  в
                                     соответствии с    последователь-
                                     ностью слияния символьного набо-
                                     ра. Значения  null сортируются в
                                     конец при сортировке  в  порядке
                                     возрастания и  в  начало  -  при
                                     убывании. Следовательно,     они
                                     рассматриваются как "наибольшие".


         Замечания  Фраза ORDER BY специфицирует порядок,  в  котором
         по исполь- будут выдаваться результаты запроса.  Таким обра-
         зованию    зом, это только метод  гарантирования  отсортиро-
                    ванности строк.

                    Строки упорядочиваются  по значению первого выра-
                    жения (expr) или  позиции  (position).  Строки  с
                    одинаковыми значениями упорядочиваются по второму
                    элементу (если таковой указан) и так далее.

                    Сортировка с помощью позиции полезна,  если выра-
                    жение очень длинное. Вместо повторного набора вы-
                    ражения в фразе ORDER BY можно просто указать но-
                    мер позиции выражения во фразе SELECT. Сортировка
                    по позициям необходима при использовании операций
                    UNION, INTERSECT и MINUS, так как для них не обя-
                    зательно одинаковое  именование   соответствующих
                    столбцов.



                                   -- 264 --



                    Во фразе ORDER BY Вы не можете ссылаться на алиас
                    столбца.
                    
                  Справочное руководство по языку SQL        6-12


                    Для фразы  ORDER BY действуют следующие ограниче-
                    ния:

                       * Она должна специфицироваться после всех  ос-
                         тальных фраз  за  исключением FOR UPDATE OF.
                         Фразы ORDER BY и FOR UPDATE OF  можно менять
                         местами.
                       * Если вместе указаны фразы DISTINCT  и  ORDER
                         BY, последняя  не  должна содержать столбцы,
                         не упоминавшиеся в списке SELECT.
                       * Фраза  ORDER  BY  не разрешена в подзапросах
                         для операторов INSERT,  UPDATE, CREATE TABLE
                         и CREATE VIEW.
                       * Для общего числа байтов во  всех  выражениях
                         фразы ORDER BY существуют ограничения, зави-
                         сящие от операционной системы.

                    Фразу ORDER  BY  разрешено   использовать   после
                    CONNECT BY, однако делать этого не рекомендуется,
                    так как фраза ORDER  BY  отрицает  влияние  фразы
                    CONNECT BY.

         Пример     Для выборки  записей  продавцов  из таблицы EMP с
                    целью выдачи их комиссионных в  убывающем порядке
                    можно выполнить следующий оператор:

                    SELECT *
                        FROM EMP
                        WHERE JOB = 'SALESMAN'
                        ORDER BY COMM DESC

                    Для выборки служащих из таблицы EMP и  расположе-
                    ния в порядке возрастания отделов, а внутри отде-
                    лов - в порядке убывания жалования, введите:

                    SELECT ENAME, EMPNO, SAL
                        FROM EMP
                        ORDER BY DEPTNO ASC, SAL DESC

                    Для выполнения того же запроса,  но используя по-
                    зиционную запись, введите:

                    SELECT ENAME, EMPNO, SAL
                        FROM EMP
                        ORDER BY 2 ASC, 3 DESC

         Связанные  Оператор SELECT в Главе 5 данного руководства.
         темы
                    
                      Фразы оператора SELECT                 6-13



                                   -- 265 --




E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Простое объединение                           F


         Назначение Комбинирование данных из нескольких  таблиц.  Ре-
                    зультат может быть показан или использован в дру-
                    гом SQL - операторе.

         Предпосылки Необходимо иметь доступ по SELECT или быть  вла-
                    дельцем всех используемых таблиц.

         Синтаксис  SELECT [{table|table_alias}.]column
                         [,[{table|table_alias}.]column]...
                      FROM table [table_alias], table [table_alias]...
                      [WHERE {table|table_alias}.column =
                             {table|table_alias}.column

         Замечания  Объединение - это форма оператора SELECT, в кото-
         по исполь- ром комбинируются строки из двух и  более таблиц.
         зованию    Следовательно, каждая строка результата будет со-
                    держать данные из более чем одной  таблицы.  Объ-
                    единение получается, если во фразе FROM оператора
                    SELECT присутствует более одной таблицы. Необяза-
                    тельная  фраза  WHERE  определяет,  каким образом
                    комбинируются строки таблиц.  Дальнейшее обсужде-
                    ние  предполагает объединение из двух таблиц,  но
                    применимо к объединению двух и более таблицам.

                    Наиболее часто встречающийся  тип  объединения  -
                    простое объединения,  возвращающее строки из двух
                    таблиц на основании условия равенства.  Это усло-
                    вие представляется во фразе WHERE следующим обра-
                    зом:

                     = 

                    Строки table1 комбинируются со строками  table2 и
                    в результате возвращаются строки с равными значе-
                    ниями table1.columnname и table2.columnname.

                    Имена столбцов  во  фразе  WHERE  не  обязательно
                    должны иметь одинаковые имена. Если же имена оди-
                    наковые, необходимо во  избежание неоднозначности
                    предварять их именами соответствующих таблиц.
                    Если во фразе FROM на месте действительного имени
                    таблицы используется алиас,  он должен  использо-
                    ваться везде  в данном операторе,  включая ссылки
                    на таблицу в списке SELECT и фразе WHERE.
                    ORACLE не накладывает никаких ограничений на  вы-
                    даваемые столбцы любых таблиц: будут ли выдавать-
                    ся все столбцы, некоторые или не будет выдаваться
                    никаких. Таким  образом,  столбцы,  указываемые во
                    фразе WHERE не обязательно  должны присутствовать
                    в списке SELECT.



                                   -- 266 --



                    Простое объединение     также     называют    еще
                    "equi-join" (экви-джоин) из-за  использования  во
                    фразе WHERE операции равенства.
                    
                  Справочное руководство по языку SQL        6-14


         Декартово произведение

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

                    Таким образом,  если Вы не  хотите  действительно
                    скомбинировать все  строки одной таблицы со всеми
                    строками другой,  обязательно включайте в объеди-
                    нение фразу WHERE.

         Примеры    Следующее простое объединение отвечает на вопрос:
                    "Каковы номера и названия отделов,  в которых ра-
                    ботает каждый служащий ?":

                    SELECT ENAME, EMP.DEPTNO, DNAME
                        FROM EMP, DEPT
                        WHERE EMP.DEPTNO = DEPT.DEPTNO

                    ENAME         DEPTNO       DNAME
                    ------------  -----------  ---------------
                    CLARK         10           ACCOUNTING
                    MILLER        10           ACCOUNTING
                    KING          10           ACCOUNTING
                    SMITH         20           RESEARCH
                    SCOTT         20           RESEARCH

                    Объединение в  данном  случае потребовалось из-за
                    того, что данные хранятся в двух различных табли-
                    цах. Строки объединяются в соответствии с услови-
                    ем:

                    EMP.DEPTNO = DEPT.DEPTNO

         Связанные  Описание синтаксиса "Внешнего  объединения"  -  в
         темы       следующем разделе.  Оператор  SELECT  в  Главе  5
                    данного руководства.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Внешнее объединение                           F



                                   -- 267 --



         Назначение Объединить вместе две таблицы и кроме того,  вер-
                    нуть строки одной таблицы, не имеющие прямого со-
                    ответствия в другой.

         Предпосылки Необходимо иметь привилегию SELECT или быть вла-
                    дельцем всех участвующих таблиц.

         Синтаксис  SELECT ...
                        FROM table1, table2 ...
                        WHERE table1.column = table2.column(+)
                    
                      Фразы оператора SELECT                 6-15















































                                   -- 268 --




         Замечания  Внешнее объединение  расширяет  диапазон простого
         по исполь- объединения. Внешнее объединение  возвращает  все
         зованию    строки, которые вернуло бы простое и дополнитель-
                    но возвращает строки из одной таблицы,  не сопос-
                    тавившиеся ни с какими строками другой. Например,
                    мы выбираем всех служащих из таблицы EMP  и места
                    их работы из таблицы DEPT. И допустим, что в таб-
                    лице EMP есть служащие,  чей отдел отсутствует  в
                    таблице DEPT,  а  мы хотели бы видеть и записи по
                    этим сотрудникам.

                    Внешнее объединение должно содержать  фразу WHERE
                    в одной из двух форм:

                    table1.column = table2.column (+)

                    table1.column (+) = table2.column

                    Дополнительные "пустые" (null) столбцы будут вре-
                    менно создаваться для таблицы с операцией внешне-
                    го объединения  "(+)"  и  объединяться  со  всеми
                    строками другой таблицы,  которые не возвращаются
                    при нормальном объединении.

                    Символ внешнего объединения во фразе WHERE должен
                    следовать непосредственно за столбцом.

                    Внутри одного оператора SELECT таблица может объ-
                    единена максимально - с одной внешней таблицей.

         Пример     Чтобы выдать суммарное месячное жалование по всем
                    отделам без использования  внешнего  объединения,
                    введите:

                    SELECT DEPT.DEPTNO, DNSME, SUM(SAL) MONTHLY SALARY
                        FROM EMP, DEPT
                        WHERE EMP.DEPTNO = DEPT.DEPTNO
                        GROUP BY DEPT.DEPTNO
                        ORDER BY DEPT.DEPTNO


                    DEPTNO     DNAME       MONTHLY SALARY
                    ---------- ----------- --------------
                            10 ACCOUNTING            8750
                            20 RESEARCH             10875
                            30 SALES                 9400
                    
                  Справочное руководство по языку SQL        6-16










                                   -- 269 --




                    Чтобы выдать  месячное жалование по всем отделам,
                    даже если отдел не содержит служащих  (с  помощью
                    внешнего объединения), введите:

                    SELECT DEPT.DEPTNO, DNSME, SUM(SAL) MONTHLY SALARY
                        FROM EMP, DEPT
                        WHERE EMP.DEPTNO(+) = DEPT.DEPTNO
                        GROUP BY DEPT.DEPTNO
                        ORDER BY DEPT.DEPTNO


                    DEPTNO     DNAME       MONTHLY SALARY
                    ---------- ----------- --------------
                            10 ACCOUNTING            8750
                            20 RESEARCH             10875
                            30 SALES                 9400
                            40 OPERATIOS

                    В предыдущем  примере отдел DEPARTMENT появляется
                    в выходном результате несмотря на то,  что в  нем
                    не работает ни одного сотрудника.

                    Практическое правило  - добавлять символ внешнего
                    объединения после имени  таблицы,  не  содержащей
                    несравнивающих строк.

         Связанные..Описание синтаксиса  простого объединения ранее в
                    этой главе; оператор SELECT в Главе 5 данного ру-
                    ководства.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Запрос (query)                                F


         Назначение Оператор SELECT,  используемый внутри другого SQL
                    - оператора для получения промежуточных результа-
                    тов.

         Предпосылки Зависят от используемого SQL - оператора.

         Синтаксис  SELECT [ALL|DASTINCT]{* | table.* | expr [c_alias]}
                                   [,{table.* | expr [c_alias] } ]...}
                       FROM [user.]table [t_alias]
                                       [,[user.]table [t_alias]]...
                       [WHERE condition]
                       [CONNECT BY condition [START WITH condition] ]
                       [GROUP BY expr[,expr]...[HAVING condition] ]
                    
                      Фразы оператора SELECT                 6-17






                                   -- 270 --




         Замечания  Запросы могут  использоваться  в  следующих SQL -
         по исполь- операторах:
         зованию
                    CREATE ... AS query
                    DELETE ... WHERE expr operator (query) ...
                    INSERT ... query
                    SELECT ... WHERE expr operator (query)
                           ... HAVING expr operator (query)
                           ... START WITH expr operator (query)
                    UPDATE ...
                       SET (column, column, ...) operator (query)
                    ... WHERE expr operator (query) ...

                    Все "нормальные" операторы SELECT не нуждаются во
                    фразах ORDER  BY  или  FOR  UPDATE  OF.  Оператор
                    SELECT называется query (запрос),  когда он нахо-
                    дится внутри  фразы  WHERE  оператора  SELECT или
                    фразы SET оператора UPDATE.  Подзапросы  называют
                    также "гнездованными  запросами" или "встроенными
                    запросами". В  данном  руководстве   используется
                    термин "запрос".

                    Запросы используются в следующих ситуациях:

                       * для определения множества строк, вставляемых
                         в целевую  таблицу  с   помощью   операторов
                         INSERT, CREATE TABLE или COPY
                       * для определения  одного  и  более  значений,
                         назначаемых существующим строкам в операторе
                         UPDATE
                       * для получения значений для сравнения во фра-
                         зах WHERE,  HAVING и START  WITH  операторов
                         SELECT, UPDATE или DELETE.

                    Уровень гнездования запроса не ограничен.

                    Запросы используются для ответа на вопросы,  сос-
                    тоящие из нескольких частей. Например, для ответа
                    на вопрос  "Кто работает в отделе Тейлора?" необ-
                    ходимо сперва в подзапросе ответить "В каком  от-
                    деле работает  Тейлор?".  Тогда Вы в родительском
                    запросе сможете ответить на основной вопрос.  Ро-
                    дительский запрос  -  это  часть SQL - оператора,
                    сама содержащая запрос.

                    Запрос выполняется однажды для всего родительско-
                    го запроса в отличие от коррелированного запроса,
                    который выполняется для каждой  строки  родитель-
                    ского запроса.  См. далее описание коррелирован-
                    ного запроса.
                    
                  Справочное руководство по языку SQL        6-18






                                   -- 271 --




         Примеры    Для определения,  кто  работает в отделе Тейлора,
                    введите:

                    SELECT ENAME, DEPTNO
                        FROM DEPT
                        WHERE DEPTNO =
                            (SELECT DEPTNO
                                FROM EMP
                                WHERE ENAME = 'TAYLOR')

                    Для добавления  всем  сотрудникам из таблицы EMP,
                    не получившим премии (т.е.  - не  содержащихся  в
                    таблице BONUS),  необходимо  выполнить  следующий
                    оператор:

                    UPDATE EMP
                        SET SAL = SAL * 1.1
                        WHERE EMPNO NOT IN (SELECT EMPNO FROM BONUS)

                    Для создания таблицы NEWDEPT,  дублирующей  DEPT,
                    введите:

                    CREATE TABLE NEWDEPT (DEPTNO, DNAME, LOC)
                      AS SELECT DEPTNO, DNAME, LOC FROM DEPT

         Связанные  Следующее ниже описание коррелированного запроса;
         темы       оператор SELECT в Главе 5 данного руководства.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Коррелированный запрос                        F


         Назначение Выполнить запрос для каждой строки в родительском
                    SQL - операторе.

         Предпосылки Зависит от используемого SQL - оператора.

         Синтаксис  SELECT column_list
                      FROM table1 table_alias1
                      WHERE expr operator
                        (SELECT column_list
                           FROM table2 table_alias2
                           WHERE table_alias1.column operator
                                          table_alias2.column)

                    UPDATE table1 table_alias1
                      SET column =
                        (SELECT expr
                           FROM table2 table_alias2
                           WHERE table_alias1.column=table_alias2.column)

                    DELETE FROM table1 table_alias1
                      WHERE column operator
                        (SELECT expr

                                   -- 272 --



                           FROM table2 table_alias2
                           WHERE table_alias1.column=table_alias2.column)
                    
                      Фразы оператора SELECT                 6-19


         Замечания  Коррелированный запрос - это форма запроса,  при-
         по исполь- меняющаяся   в   операторах  SELECT,  UPDATE  или
         зованию    DELETE. Обсуждкние будет фокусироваться на опера-
                    торе  SELECT,  хотя  она  применима ко всем типам
                    коррелированных запросов.

                    Коррелированный запрос используется, чтобы заста-
                    вить ORACLE  выполнять  запрос  для каждой строки
                    родительского запроса (вместо одного раза на весь
                    запрос).
                    Этот тип запроса применяется для ответа на  слож-
                    ные вопросы, которые (ответы) зависят от значения
                    каждой строки  родительского  запроса.  Например,
                    коррелированный  запрос  может использоваться для
                    ответа: "Какие служащие получают жалование больше
                    среднего по отделу?".  Коррелированный запрос ис-
                    пользуется для вычисления средней оплаты по  каж-
                    дому отделу.
                    ORACLE распознает,  что Вы хотите воспользоваться
                    коррелированным запросом, когда внутри запроса Вы
                    ссылаетесь на столбец,  принадлежащий таблице  из
                    родительского запроса. Столбцы, принадлежащие ро-
                    дительскому запросу,  предваряются алиасом, соот-
                    ветствующим родительской таблице.

                    Имена столбцов  в  коррелированном запросе должны
                    для ясности предваряться именем  таблицы  или  ее
                    алиасом. Ссылка  на столбец из родительского зап-
                    роса должна содержать в качестве  префикса именем
                    таблицы или алиасом, если таблицы содержат столб-
                    цы с  одинаковыми  именами.   Неквалифицированные
                    столбцы сперва  отыскиваются в таблицах родитель-
                    ского запроса,  затем - следующего,  заключающего
                    родительский и так далее.

                    В случае использования с оператором UPDATE корре-
                    лированный запрос может использоваться для  изме-
                    нения строк одной таблицы на основании строк дру-
                    гой таблицы.  Например,  если у Вас  есть  четыре
                    поквартальных таблицы  продаж,  которые надо объ-
                    единить в одну годовую, надо воспользоваться кор-
                    релированным запросом.

                    В случае с оператором DELETE коррелированный зап-
                    рос можно использовать для  удаления  только  тех
                    строк, которые существуют в другой таблице.

         Примеры    Для показа   служащих,  чей  заработок  превышает
                    средний по  отделу,  необходимо   воспользоваться
                    коррелированным запросом. Прежде всего, назначьте
                    алиас для таблицы EMP,  содержащей  информацию  о
                    зарплате и уже к нему ссылайтесь в запросе:

                                   -- 273 --



                    SELECT DEPTNO, ENAME, SAL
                       FROM EMP X
                       WHERE SAL > (SELECT AVG(SAL)
                                      FROM EMP
                                      WHERE X.DEPTNO = DEPTNO)
                       ORDER BY DEPTNO
                    
                  Справочное руководство по языку SQL        6-20



















































                                   -- 274 --




                    Для каждой  строки из EMP родительский запрос ис-
                    пользует коррелированный  запрос  для  вычисления
                    среднего жалования  для сотрудников того же отде-
                    ла. Коррелированный запрос проделывает для каждой
                    строки таблицы EMP следующие действия:

                      1. Определяет DEPTNO.
                      2. Использует DEPTNO для выполнения запроса.
                      3. Если  жалование в данной строке больше сред-
                         него по отделу, строка принимается.

                    Таким образом,  запрос  выполняется  для   каждой
                    строки таблицы EMP.

                    Примеры запросов  для  операторов  CREATE TABLE и
                    UPDATE приводятся в описании соответствующих опе-
                    раторов в Главе 5 данного руководства.

         Связанные  Операторы DELETE,  SELECT  и  UPDATE  в Главе 5 -
         темы       "Справочник по SQL - операторам" - данного  доку-
                    мента.



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Распределенные запросы                        F


                    В данном разделе обсуждаются распределенные  зап-
                    росы для  распределенной архитектуры ORACLE.  Эта
                    архитектура позволяет обращаться к данным в  уда-
                    ленных базах с помощью SQL*Net и ORACLE RDBMS. За
                    дополнительной информацией обратитесь к  Главе 22
                    "Распределенные базы  данных и распределенная об-
                    работка" документа "ORACLE RDBMS Руководство  ад-
                    министратора базы данных", а также - к "Руководс-
                    тву пользователя по  SQL*Net"  для  используемого
                    Вами протокола.

         Идентифицирование удаленных таблиц

                    Ссылка на  таблицу может по желанию содержать имя
                    межбазовой связи:

                    [user.] table [@database_link]

                    Следующий пример  объединяет  локальную   таблицу
                    DEPT и таблицу EMP в удаленной базе HOUSTON:

                    SELECT ENAME, DNAME
                       FROM EMP@HOUSTON, DEPT
                       WHERE EMP.DEPTNO = DEPT.DEPTNO
                    
                      Фразы оператора SELECT                 6-21



                                   -- 275 --




         Ограничения для распределенных запросов

                    ORACLE RDBMS в настоящее время накладывает  неко-
                    торые ограничения  на  распределенную  обработку,
                    которые рассматриваются ниже.

                    Удаленные ссылки на таблицы поддерживаются только
                    в следующих областях:

                      * фразы FROM в операторах SELECT,INSERT INTO...
                        SELECT, CREATE TABLE ...  AS  SELECT и CREATE
                        VIEW ... AS SELECT
                      * фразы FOR операторов CREATE SYNONYM
                      * квалификатор  таблицы у столбца,  ссылающийся
                        на предыдущие операторы.

                    Из удаленных таблиц нельзя выбирать столбцы с ти-
                    пом данных LONG.

                    Запросы к удаленным таблицам,  использующие фразу
                    CONNECT BY, имеют следующие ограничения:

                      * ключевое  слово  PRIOR  может  использоваться
                        только совместно с фразой CONNECT BY
                      * фраза START WITH не может содержать подзапро-
                        сов
                      * ни фраза START WITH,  ни CONNECT BY не  могут
                        содержать в  себе  функцию  USERENV(ENTRYID),
                        определенные пользователем функции или  псев-
                        достолбец ROWNUM.

                    Вы можете  выполнять над данными удаленных таблиц
                    операции INSERT, UPDATE и DELETE. Для этого необ-
                    ходимо через SQL*Net зарегистрироваться в качест-
                    ве пользователя удаленной базы.
                     






















                                   -- 276 --










       EW1 ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ   W0


         W1   ПРИЛОЖЕНИЕ А                W0


         W1   СЛОВАРЬ ДАННЫХ              W0





         Словарь данных содержит информацию об:

                    * объектах базы данных
                    * пользователях базы данных
                    * событиях, произошедших в базе данных

         Обратиться к этой информации можно через набор обзоров,  ко-
         торые и описываются в данном приложении.
         
                  Справочное руководство по языку SQL        А-2






























                                   -- 277 --



E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Обзоры словаря данных                         F

                    В этом разделе описываются обзоры Словаря Данных.
                    Информация раздела может быть также найдена в об-
                    зоре словаря данных "DICTIONARY".

                    Некоторые имена обзоров словаря данных имеют пре-
                    фикс "DBA".  Эти обзоры доступны лишь пользовате-
                    лям с привилегией DBA.  Остальные обзоры доступны
                    всем пользователям.

                    В следующей  таблице  приводятся  обзоры  словаря
                    данных:


E           Обзор                       Описание        F
           ----------------------------------------------------------

           ACCESSIBLE_COLUMNS          Столбцы таблиц,    обзоров   и
                                       кластеров, доступные пользова-
                                       телю.
           ACCESSIBLE_TABLES           Таблицы и  обзоры,   доступные
                                       пользователю.
           ALL_CATALOG                 Таблицы, обзоры,  синонимы   и
                                       последовательности, доступные
                                       пользователю.
           ALL_COL_COMMENTS            Комментарии для  столбцов таб-
                                       лиц и обзоров, доступные поль-
                                       зователю.
           ALL_COL_GRANTS              Синоним для COLUMN_PRIVILEGES
           ALL_COL_GRANTS_MADE         Привилегии для столбцов, кото-
                                       рыми владеет  пользователь или
                                       на которые он предоставил дру-
                                       гим.
           ALL_COL_GRANTS_RECD         Привилегии для столбцов,  пре-
                                       доставленные данному пользова-
                                       телю или PUBLIC.
           ALL_CONSTRAINTS             Ограничения на        таблицы,
                                       доступные пользователю.
           ALL_CONS_COLUMNS            Основные, уникальные и внешние
                                       ключевые столбцы в ограничени-
                                       ях, владельцем которых являет-
                                       ся пользователь  или  в табли-
                                       цах, доступных пользователю.
           ALL_DB_LINKS                Межбазовые связи,    доступные
                                       пользователю.
           ALL_DF_AUDIT_OPTS           Умалчиваемые опции регистрации
                                       доступа для  вновь создаваемых
                                       объектов.
           ALL_INDEXES                 Индексы таблиц  или кластеров,
                                       доступные пользователю.
           ALL_IND_COLUMNS             Столбцы, заключающие   индексы
                                       для таблиц  и кластеров,  дос-
                                       тупные пользователю.
           ALL_OBJECTS                 Объекты, доступные пользователю
           ALL_SEQUENCES               Последовательности, доступные

                                   -- 278 --



                                       пользователю.
           ALL_SYNONYMS                Синонимы, доступные  пользова-
                                       телю.
                                       
                           Словарь Данных                    А-3


E           Обзор                       Описание          F
           ----------------------------------------------------------
           ALL_TABLES                  Таблицы, доступные пользователю
           ALL_TAB_COLUMNS             Синоним для ACCESSIBLE_COLUMNS
           ALL_TAB_COMMENTS            Комментарии для таблиц и обзо-
                                       ров, доступных пользователю.
           ALL_TAB_GRANTS              Синоним для TABLE_PRIVILEGES
           ALL_TAB_GRANTS_MADE         Права для объектов, владельцем
                                       которых  является пользователь
                                       или он предоставил права  дос-
                                       тупа к ним другим пользователям
           ALL_TAB_GRANTS_RECD         Права доступа к таблицам, пре-
                                       доставленные  пользователю или
                                       PUBLIC.
           ALL_USERS                   Все пользователи базы данных
           ALL_VIEWS                   Обзоры, доступные пользователю
           AUDIT_ACTIONS               Имена и  коды  для журнала ре-
                                       гистрации доступа к объектам
           COLUMN_PRIVILEGES           Права доступа   для  столбцов,
                                       для которых пользователь явля-
                                       ется  владельцем, предоставил,
                                       получил или доступ PUBLIC
           CONSTRAINT_COLUMNS          Столбцы внешнего ключа,  в ог-
                                       раничениях, владельцем которых
                                       является пользователь   или  в
                                       таблицах, ему доступных.
           CONSTRAINT_DEFS             Ограничения для  таблиц,  дос-
                                       тупных пользователю.
           DBA_AUDIT_CONNECT           Синоним для USER_AUDIT_CONNECT
           DBA_AUDIT_DBA               Элементы журнала   регистрации
                                       доступа для действий,  требую-
                                       щих привилегии DBA.
           DBA_AUDIT_EXISTS            Элементы журнала   регистрации
                                       доступа для  любого  действия,
                                       повлекшего ошибку   из-за  от-
                                       сутствия в   базе   указанного
                                       объекта.
           DBA_AUDIT_RESOURCE          Синоним для USER_AUDIT_RESOURCE
           DBA_AUDIT_TRAIL             Синоним для USER_AUDIT_TRAIL
           DBA_CATALOG                 Все таблицы,  обзоры, синонимы
                                       и последовательности, хранящи-
                                       еся в базе данных.
           DBA_CLUSTERS                Все кластеры базы данных
           DBA_CLU_COLUMNS             Отображение столбцов таблиц
                                       на столбцы кластеров
           DBA_COL_COMMENTS            Комментарии для  столбцов всех
                                       таблиц и обзоров базы данных
                                       
                  Справочное руководство по языку SQL        А-4



                                   -- 279 --




E           Обзор                       Описание                F
           ----------------------------------------------------------
           DBA_COL_GRANTS              Все права  на  столбцы  в базе
                                       данных
           DBA_CONSTRAINTS             Ограничения для  всех объектов
                                       базы данных
           DBA_CONS_COLUMNS            Все столбцы  базы данных,  ис-
                                       пользуемые в ограничениях
           DBA_CROSS_REFS              Перекрестные ссылки  для  всех
                                       обзоров, синонимов и ограниче-
                                       ний базы данных
           DBA_DATA_FILES              Файлы базы данных
           DBA_DB_LINKS                Все межбазовые  связи в данной
                                       базе
           DBA_EXP_FILES               Файлы экспорта
           DBA_EXP_OBJECTS             Объекты, которые были  экспор-
                                       тированы дополнительно
           DBA_EXP_VERSION             Номер версии последнего сеанса
                                       экспорта
           DBA_EXTENTS                 Экстенты, составляющие     все
                                       сегменты базы данных
           DBA_FREE_SPACE              Свободные экстенты   во   всех
                                       табличных пространствах   базы
                                       данных
           DBA_INDEXES                 Все индексы базы данных
           DBA_IND_COLUMNS             Столбцы, составляющие индексы,
                                       для всех  таблиц  и  кластеров
                                       базы данных
           DBA_OBJECTS                 Все объекты базы данных
           DBA_ROLLBACK_SEGS           Сегменты отката
           DBA_SEGMENTS                Память, распределенная     для
                                       всех сегментов базы данных
           DBA_SEQUENCES               Все последовательности    базы
                                       данных
           DBA_SYNONYMS                Все синонимы базы данных
           DBA_SYS_AUDIT_OPTS          Текущие системные  опции   ре-
                                       гистрации доступа
           DBA_TABLES                  Все таблицы базы данных
           DBA_TABLESPACES             Все табличные пространства
           DBA_TAB_AUDIT_OPTS          Опции регистрации  доступа для
                                       всех таблиц   и  обзоров  базы
                                       данных
           DBA_TAB_COLUMNS             Столбцы во всех таблицах,  об-
                                       зорах и кластерах базы данных
           DBA_TAB_COMMENTS            Комментарии для  всех таблиц и
                                       обзоров базы данных
           DBA_TAB_GRANTS              Все привилегии   для  объектов
                                       базы данных.
                                       
                           Словарь Данных                    А-5








                                   -- 280 --




E           Обзор                       Описание                  F
           ----------------------------------------------------------
           DBA_TS_QUOTAS               Квоты всех   пользователей   в
                                       табличных пространствах
           DBA_USERS                   Все пользователи базы данных
           DBA_VIEWS                   Все обзоры базы данных
           DICTIONARY                  Таблицы и обзоры Словаря Данных
           DICT_COLUMS                 Столбцы в таблицах  и  обзорах
                                       Словаря Данных
           DUAL                        Пустая таблица,     содержащая
                                       один столбец и одну строку
           TABLE_PRIVILEGES            Права доступа к  объектам, для
                                       которых  пользователь является
                                       владельцем, предоставил, полу-
                                       чил или доступ PUBLIC
           USER_AUDIT_CONNECT          Элементы журнала   регистрации
                                       для подключения  и  отключения
                                       пользователя от базы данных
           USER_AUDIT_RESOURCE         Элементы журнала   регистрации
                                       для действий по созданию и
           USER_AUDIT_TRAIL            Элементы журнала   регистрации
                                       доступа, относящиеся к пользо-
                                       вателю.
           USER_CATALOG                Таблицы, обзоры,  синонимы   и
                                       последовательности,  принадле-
                                       жащие пользователю.
           USER_CLUSTERS               Кластеры, принадлежащие  поль-
                                       зователю.
           USER_CLU_COLUMNS            Отображение столбцов таблиц на
                                       столбцы кластера пользователя.
           USER_COL_COMMENTS           Комментарии для  столбцов таб-
                                       лиц и обзоров пользователя.
           USER_COL_GRANTS             Привилегии столбцов, для кото-
                                       рых пользователь является вла-
                                       дельцем, предоставляет     или
                                       получает.
           USER_COL_GRANTS_MADE        Привилегии для столбцов объек-
                                       тов пользователя.
           USER_COL_GRANTS_RECD        Привилегии для столбцов,  пре-
                                       доставленные пользователю.
           USER_CONSTRAINTS            Ограничения, владельцем  кото-
                                       рых является пользователь.
           USER_CONS_COLUMNS           Ограничения для      столбцов,
                                       владельцем которых    является
                                       пользователь.
           USER_CROSS_REFS             Перекрестные ссылки для  обзо-
                                       ров, синонимов  и  ограничений
                                       пользователя.
           USER_DB_LINKS               Межбазовые связи,   владельцем
                                       которых является пользователь.








                                   -- 281 --



                  Справочное руководство по языку SQL        А-6


E           Обзор                       Описание                F
           ----------------------------------------------------------
           USER_EXTENTS                Экстенты, входящие в сегменты,
                                       владельцем которых    является
                                       пользователь.
           USER_FREE_SPACE             Свободные экстенты в табличных
                                       пространствах, доступных поль-
                                       зователю.
           USER_INDEXES                Индексы пользователя
           USER_IND_COLUMNS            Столбцы, входящие  в   индексы
                                       пользователя или в индексы для
                                       таблиц и кластеров,  принадле-
                                       жащих пользователю.
           USER_OBJECTS                Объекты пользователя
           USER_SEGMENTS               Память, распределенная     для
                                       сегментов,  владельцем которых
                                       является пользователь.
           USER_SEQUENCES              Последовательности,  принадле-
                                       жащие пользователю.
           USER_SYNONYMS               Личные синонимы пользователя.
           USER_TABLES                 Таблицы, принадлежащие пользо-
                                       вателю.
           USER_TABLESPACES            Табличные пространства,   дос-
                                       тупные пользователю.
           USER_TAB_AUDIT_OPTS         Опции регистрации  доступа для
                                       таблиц и обзоров,  принадлежа-
                                       щих пользователю.
           USER_TAB_COLUMNS            Столбцы в     пользовательских
                                       таблицах, обзорах и кластерах.
           USER_TAB_COMMENTS           Комментарии для таблиц и обзо-
                                       ров пользователя.
           USER_TAB_GRANTS             Привилегии на объекты, принад-
                                       лежащие пользователю,  а также
                                       те, которые   он   предоставил
                                       другим или предоставили ему.
           USER_TAB_GRANTS_MADE        Привилегии к объектам, принад-
                                       лежащим пользователю.
           USER_TAB_GRANTS_RECD        Привилегии к объектам, предос-
                                       тавленные пользователю.
           USER_TS_QUOTAS              Квоты пользователя в табличных
                                       пространствах.
           USER_USERS                  Привилегии текущего  пользова-
                                       теля.
           USER_VIEWS                  Обзоры, принадлежащие  пользо-
                                       вателю.
                                       
                           Словарь Данных                    А-7









                                   -- 282 --




E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Аббревиатуры для Словаря Данных               F

                    Многие обзоры  словаря  данных  имеют  достаточно
                    длинные имена.  Для  наиболее  часто используемых
                    обзоров словаря сделаны общие синонимы:

E                    Аббревиатура          Для обзора     F
                    ------------------------------------------Д
                    CAT                   USER_CATALOG
                    CLU                   USER_CLUSTERS
                    COLS                  USER_TAB_COLUMNS
                    DICT                  DICTIONARY
                    IND                   USER_INDEXES
                    MYPRIVS               USER_USERS
                    OBJ                   USER_OBJECTS
                    SEQ                   USER_SEQUENCES
                    SYN                   USER_SYNONYMS
                    TABS                  USER_TABLES


E         ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ                   F

E         Таблица DUAL                                  F


         Назначение DUAL  -  это таблица,  а не обзор словаря данных.
                    Она содержит один столбец,  DUMMY CHAR(1) и  одну
                    строку со значением 'X'.  Таблица DUAL обычно ис-
                    пользуется, когда Вы хотите вычислить константное
                    выражение  с  помощью  оператора SELECT.  Так как
                    таблица содержит только  одну  строку,  константа
                    может быть возвращена лишь однажды.  Если бы таб-
                    лица DUAL имела несколько строк,  константа возв-
                    ращалась бы по разу для каждой строки.

                    Константу, псевдостолбец или выражение можно выб-
                    рать из любой доступной Вам таблицы,  но  для  но
                    для удобства можно работать именно с DUAL.

                    Таблица DUAL  создается в процессе создания обзо-
                    ров словаря данных. Таблица принадлежит пользова-
                    телю SYS, но обратиться к ней может любой пользо-
                    ватель.

         Пример     Для выдачи текущей даты наберите:

                    SELECT SYSDATE FROM DUAL

                    Вы можете выбрать дату и из  таблицы  EMP,  но  в
                    этом случае  выдастся  14  текущих дат - по коли-
                    честву строк таблицы. Именно из-за наличия единс-
                    твенной строки предпочтительнее работать с табли-
                    цей DUAL.
                    


                                   -- 283 --










       EW1 ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ   W0


         W1   ПРИЛОЖЕНИЕ В                W0


         W1   СИНТАКСИС SQL               W0





         Данное приложение содержит синтаксис каждого SQL -  операто-
         ра. Полное  описание  приводится  в Главе 5 - "Справочник по
         SQL - операторам".
         
                  Справочное руководство по языку SQL        B-2



































                                   -- 284 --





E         ALTER CLUSTER                                 F
                    ALTER CLUSTER [user.]cluster
                       [PCTUSED integer] [PCTFREE integer]
                       [SIZE integer]
                       [INITRANS integer] [MAXTRANS integer]
                       [STORAGE storage]


E         ALTER DATABASE                                  F
                    ALTER DATABASE [ database ]
                       {ADD LOGFILE  filespec  [,filespec ...]
                       |DROP LOGFILE 'filename' [,'filename'] ...]
                       |RENAME FILE 'filename' [,'filename'] ...
                       TO filename [,filename] ... ]
                       |ARCHIVELOG
                       |NOARCHIVELOG
                       |MOUNT [SHARED | EXCLUSIVE]
                                        --------Д
                       | DISMOUNT
                       |OPEN
                       | CLOSE [NORMAL | IMMEDIATE]}



E         ALTER INDEX                                   F
                    ALTER INDEX [user.]index
                       [INITRANS integer] [MAXTRANS integer]
                       [STORAGE storage]


E         ALTER ROLLBACK                                F
E         SEGMENT                                       F
                    ALTER [PUBLIC] ROLLBACK SEGMENT rollback_segment
                       STORAGE storage



E         ALTER SEQUENCE                                  F
                    ALTER SEQUENCE [user.]sequence
                       [INCREMRNT BY integer]
                       [MAXVALUE integer | NOMAXVALUE]
                       [MINVALUE integer | NOMINVALUE]
                       [CYCLE | NOCYCLE]
                       [CACHE integer | NOCACHE]
                       [ORDER | NOORDER]



E         ALTER SESSION                                 F
                    ALTER SESSION
                       SET SQL_TRACE {TRUE | FALSE}






                                   -- 285 --



E         ALTER TABLE                                   F
                    ALTER TABLE [user.]table
                       [ADD ({column_element|table_constraint}
                       [,{column_element|table_constraint}]...)]
                       [MODIFY (column_element [,column_element]...)]
                       [DROP CONSTRAINT constraint]...
                       [PCTFREE integer] [PCTUSED integer]
                       [INITRANS integer] [MAXTRANS integer]
                       [STORAGE storage]
                       [BACKUP]
         
                           Синтаксис SQL                     B-3


E         ALTER TABLESPACE                              F
                    ALTER TABLESPACE tablespace
                       {ADD DATAFILE filespec [,filespec [REUSE] ] ...
                       |RENAME DATAFILE 'filename' [,'filename'] ...
                       TO 'filename' [,'filename']...
                       |DEFAULT STORAGE storage]
                       |ONLINE
                       | OFFLINE [ NORMAL | IMMEDIATE ]
                       | {BEGIN BACKUP | END BACKUP}}



E         ALTER USER                                    F
                    ALTER USER username [IDENTIFIED BY password]
                       [DEFAULT TABLESPACE tablespace]
                       [TEMPORARY TABLESPACE tablespace]



E         AUDIT (Форма I)                               F
                    AUDIT {system_option [,system_option]... | ALL]
                       WHENEVER [NOT] SUCCSESSFUL]



E         AUDIT (Форма II)                              F
                    AUDIT {table_option [,table_option]... | ALL}
                       ON { [user.]table | DEFAULT}
                       [BY {SESSION | ACCESS}]
                            ------Д
                       [WHENEVER [NOT] SUCCSESSFUL]



E         CLOSE cursor                                  F
E         (Встроенный SQL)                              F
                    EXEC SQL CLOSE cursor_name


E         CONSTRAINT (для столбца)                      F
                    [NULL] | [NOT NULL [CONSTRAINT constraint_name] ]
                    [{UNIQUE | PRIMARY KEY} [CONSTRAINT constraint_name] ]



                                   -- 286 --



                    [REFERENCES [user.]table [(column)]
                     [CONSTRAINT constraint_name] ]
                    [CHECK (condition) [CONSTRAINT constraint] ]



E         Column - элемент                              F
                    column datatype [DEFAULT expr] [column constraint]



E         COMMENT                                       F
                    COMMENT ON { TABLE [user.]table
                               | COLUMN [user.]table.column }
                        IS 'text'



E         COMMIT                                        F
                    COMMIT [WORK]



E         COMMIT                                        F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] COMMIT [WORK] [RELEASE]
                  
                  Справочное руководство по языку SQL        B-4































                                   -- 287 --




E         CONNECT                                       F
E         (Встроенный SQL)                              F
                    EXEC SQL CONNECT :user_password
                        [AT dbname]
                        [USING :dbstring]

                    или

                    EXEC SQL CONNECT :user IDENTIFIED BY :password
                        [AT dbname]
                        [USING :dbstring]



E         CREATE CLUSTER                                F
                    CREATE CLUSTER [user.]cluster
                       (column datatype [,column datatype] ...]
                       [PCTUSED integer] [PCTFREE integer]
                       [SIZE integer]
                       [INITRANS integer] [MAXTRANS integer]
                       [TABLESPACE tablespace]
                       [STORAGE storage]



E         CREATE DATABASE                               F
                    CREATE DATABASE [database]
                       [CONTROLFILE REUSE]
                       [LOGFILE filespec [,filespec] ...]
                       [MAXLOGFILES integer ]
                       [DATAFILE filespec [,filespec] ...]
                       [MAXDATAFILES integer ]
                       [MAXINSTANCES integer ]
                       [ARCHIVELOG | NOARCHIVELOG]
                                     ------------
                       [EXCLUCIVE]
                        --------Д


E         CREATE DATABASE                               F
E         LINK                                          F
                    CREATE [PUBLIC] DATABASE LINK link
                       [CONNECT TO user IDENTIFIED BY password]
                       USING 'connect_string'


E         CREATE INDEX                                  F
                    CREATE [UNIQUE] INDEX index ON
                       {table (column [ASC|DESC][,column [ASC|DESC]]...]
                       | CLUSTER cluster}
                       [INITRANS n] [MAXTRANS n]
                       [TABLESPACE tablespace]
                       [STORAGE storage]
                       [PCTFREE n]
                       [NOSORT]



                                   -- 288 --




E         CREATE ROLLBACK                               F
E         SEGMENT                                       F
                    CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment
                       [ TABLESPACE tablespace ]
                       [ STORAGE storage ]
              
                           Синтаксис SQL                     B-5



















































                                   -- 289 --




E         CREATE SEQUENCE                               F
                    CREATE SEQUENCE [user.]sequence
                       [INCREMENT BY n]
                       [START WITH n]
                       [MAXVALUE n | NOMAXVALUE]
                       [MINVALUE n | NOMINVALUE]
                       [CYCLE | NOCYCLE]
                                ------Д
                       [CACHE n | NOCACHE]
                       [ORDER | NOORDER]
                                ------Д


E         CREATE SYNONYM                                F
                    CREATE [PUBLIC] SYNONYM [user.]synonym
                       FOR [user.]table [@databaselink]



E         CREATE TABLE                                  F
                    CREATE TABLE [user.]table
                       ( {column_element | table_constraint}
                       [, {column_element | table_constraint} ]...)
                       [PCTFREE n] [PCTUSED n]
                       [INITRANS n] [MAXTRANS n]
                       [TABLESPACE tablespace]
                       [STORAGE storage]
                       [CLUSTER cluster (column [,column]...)]
                       [AS query]



E         CREATE                                        F
E         TABLESPACE                                    F
                    CREATE TABLESPACE tablespace
                       DATAFILE {filespec [,filespec] ...}
                       [DEFAULT STORAGE storage]
                       [ONLINE | OFFLINE]
                        ------


E         CREATE VIEW                                   F
                    CREATE VIEW [user.]view [(alias [,alias]...)]
                       AS query
                       [WITH CHECK OPTION [CONSTRAINT constraint]]



E         DECLARE CURSOR                                F            
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] DECLARE cursor_name CURSOR
                       FOR {SELECT subststment | ststment}






                                   -- 290 --



E         DECLARE DATABASE                              F
E         (Встроенный SQL)                              F
                    EXEC SQL DECLARE dbname DATABASE



E         DECLARE                                       F
E         STATEMENT                                     F
E         (Встроенный SQL)                              F
                    EXEC SQL DECLARE ststement_name STATEMENT



E         DELETE                                        F
                    DELETE [FROM] [user.]table [alias] [WHERE condition]
                   
                  Справочное руководство по языку SQL        B-6










































                                   -- 291 --





E         DELETE                                        F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] [FOR :host_integer]
                       DELETE [FROM] table [alias]
                           [WHERE {condition | CURRENT OF cursor}]


E         DESCRIBE (Динами-                             F            
E         ческий встроенный                             F
E         SQL: Метод 4)                                 F
                    Для связанных переменных:

                    EXEC SQL DESCRIBE BIND VARIABLES FOR statement_name
                        INTO descriptor_name

                    Для элементов списка SELECT:

                    EXEC SQL SESCRIBE [SELECT LIST FOR] statement_name
                        INTO descriptor_name


E         DROP CLUSTER                                  F
                    DROP CLUSTER [user.]cluster
                       [INCLUDING TABLES]


E         DROP DATABASE                                 F
E         LINK                                          F
                    DROP [PUBLIC] DATABASE LINK link


E         DROP INDEX                                    F
                    DROP INDEX [user.]index


E         DROP ROLLBACK                                 F
E         SEGMENT                                       F
                    DROP [PUBLIC] ROLLBACK SEGMENT segment


E         DROP SEQUENCE                                 F
                    DROP SEQUENCE [user.]sequence


E         DROP SYNONYM                                  F
                    DROP [PUBLIC] SYNONYM [user.]synonym


E         DROP TABLE                                    F
                    DROP TABLE [user.]table


E         DROP TABLESPACE                               F
                    DROP TABLESPACE tablespace
                       [INCLUDING CONTENTS]


                                   -- 292 --




E         DROP VIEW                                     F
                    DROP VIEW [user.]view


E         EXECUTE (Динами-                              F
E         ческий встроенный                             F
E         SQL: Метод 2)                                 F
                    EXEC SQL [AT dbname] [FOR :host_integer]
                       EXECUTE statement_name [USING values_list]
                                              
                           Синтаксис SQL                     B-7















































                                   -- 293 --




E         EXECUTE                                       F
E         IMMEDIATE                                     F
E         (Динамический                                 F
E         встроенный SQL:                               F
E         Метод 1)                                      F
                    EXEC SQL [AT dbname]
                       EXECUTE IMMEDIATE [:host_string | string_literal]


E         EXPLAIN PLAN                                  F
                    EXPLAIN PLAN
                       [SET STATEMENT ID = char]
                       [INTO [user.]table]
                       FOR sql_statement


E         Filespec                                      F
                    'filename' [SIZE integer [K|M] [REUSE]


E         FETCH                                         F
E         (Встроенный SQL)                              F
                    EXEC SQL [FOR :host_integer]
                       FETCH cursor_name
                         INTO host_variable_list

                    Для динамического SQL, метод 4:

                    EXEC SQL [FOR :host_integer]
                       FETCH cursor_name
                          USING descriptor


E         FOR - фраза                                   F
E         (Встроенный SQL)                              F
                    FOR :host_integer


E         GRANT (Форма I)                               F
                    GRANT database_priv [,database_priv] ...
                       TO user [,user] ...
                       [ IDENTIFIED BY password [,password] ...]



E         GRANT (Форма II)                              F
                    GRANT RESOURCE [ (quota [K|M]) ]
                       ON tablespace
                       TO { PUBLIC | user [,user] ...}


E         GRANT (Форма III)                             F
                    GRANT {object_priv [,object_priv] ...} | {ALL
                          [PRIVILEGES] } ON [user.]object
                       TO { user | PUBLIC } [,user] ...
                       [ WITH GRANT OPTION ]


                                   -- 294 --




E         INSERT                                        F
                    INSERT INTO[user.]table [column [,column] ...)]
                       {VALUES (value [,value]...) | query}
                  
                  Справочное руководство по языку SQL        B-8





















































                                   -- 295 --





E         INSERT                                        F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] [FOR :host_integer]
                     INSERT INTO [user.]table [(column [,column]...)]
                     {VALUES(values_element [,values_element]...) | query}


E         LOCK TABLE                                    F
                    LOCK TABLE [user.]table [, [user.]table]...
                       IN lockmode MODE [NOWAIT]


E         NOAUDIT (Форма I)                             F
                    NOAUDIT {system_option [,system_option]...| ALL}
                       WHENEVER [NOT] SUCCSESSFUL]


E         NOAUDIT (Форма II)                            F
                    NOAUDIT {option [,option]... | ALL}
                       ON {object | DEFAULT }
                       [WHENEVER [NOT] SUCCSESSFUL}


E         OPEN cursor                                   F
E         (Встроенный SQL)                              F
                   EXEC SQL OPEN cursor_name [USING host_variable_list]


E         PREPARE (Динамический                         F
E         встроенный SQL)                               F
                    EXEC SQL PREPARE statement_name
                       FROM {:host_string | string_literal}


E         RENAME                                        F
                    RENAME old TO new


E         REVOKE (Форма I)                              F
                    REVOKE { [CONNECT] [,RESOURCE] [,DBA] }
                       FROM user [,user] ...


E         REVOKE (Форма II)                             F
                    REVOKE space_privilege ON tablespace
                       FROM user [,user] ...


E         REVOKE (Форма III)                            F
                    REVOKE { object_priv [,object_priv]... | ALL }
                       ON [user.]object
                       FROM { user | PUBLIC } [,user]...





                                   -- 296 --



E         ROLLBACK                                      F
                    ROLLBACK [WORK]
                       [ TO [SAVEPOINT] savepoint ]


E         ROLLBACK                                      F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] ROLLBACK [WORK]
                       [TO  [SAVEPOINT] savepoint]
                       [RELEASE]
                  
                           Синтаксис SQL                     B-9















































                                   -- 297 --





E         SAVEPOINT                                     F
                    SAVEPOINT savepoint

                    или во встроенном SQL:

                    EXEC SQL SAVEPOINT savepoint


E         SELECT                                        F
                 SELECT [ALL|DISTINCT] {* | table.* | expr [c_alias]}
                            --Д           [, {table.* | expr [c_alias]}]...
                    FROM [user.]table [t_alias][,[user.]table [t_alias]]...
                    [WHERE condition]
                    [CONNECT BY condition [START WITH condition]]
                    [GROUP BY expr [, expr]...[HAVING condition]]
                    [{UNION|INTERSECT|MINUS} SELECT ...]
                    [ORDER BY {expr|position} [ASC|DESC]
                                               --Д
                            [,{expr|position} [ASC|DESC]] ]...
                                               --Д
                    [FOR UPDATE OF column [,column]...[NOWAIT] ]


E         SELECT                                        F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] [FOR :host_integer]
                    SELECT select_list
                      INTO :host_variable [,:host_variable]...
                      FROM table_list
                      [WHERE condition ]
                      [CONNECT BY condition [START WITH condition]]
                      [GROUP BY expr[,expr]...[HAVING condition]]
                      [ {UNION|INTERSECT|MINUS} SELECT ...]
                      [ORDER BY {expr|position} [ASC|DESC]
                              [,{expr|position} [ASC|DESC] ] ]...
                      [FOR UPDATE OF column [,column]...[NOWAIT] ]


E         SET TRANSACTION                               F
                    SET TRANSACTION {READ ONLY}


E         STORAGE - фраза                               F
                    STORAGE (
                       [ INITIAL integer ]  [ NEXT integer ]
                       [ MINEXTENTS integer ]  [ MAXEXTENTS integer ]
                       [ PCTINCREASE integer ] )


E         Table CONSTRAINT                              F
                    [{UNIQUE | PRIMARY KEY} (column [,column]...)
                         [CONSTRAINT constraint] ]

                    [FOREIGN KEY (column [,column]...)
                      REFERENCES [user.]table [(column [,column]...)]
                         [CONSTRAINT constraint] ]

                                   -- 298 --



                    [CHECK (condition) [CONSTRAINT constraint] ]
         
                  Справочное руководство по языку SQL        B-10
























































                                   -- 299 --




E         UPDATE                                        F
                    UPDATE [user.]table [alias]
                       SET column = expr [,column = expr]...
                       [WHERE condition]

                    или

                    UPDATE [user.]table [alias]
                       SET (column [,column]...) = (query)
                         [,(column [,column]...) = (query) ] ...
                       [WHERE condition]


E         UPDATE                                        F
E         (Встроенный SQL)                              F
                    EXEC SQL [AT dbname] [FOR :host_integer
                    UPDATE [user.]table
                      SET column [,column]...=({value[,value]...|query})
                       [WHERE {condition|CURRENT OF cursor_name}]

                    или

                    EXEC SQL [AT dbname] [FOR :host_integer
                       UPDATE [user.]table
                          SET column1 ={(value)|query}
                        [,SET column1 ={(value)|query} ]...
                      WHERE {search_condition|CURRENT OF cursor_name}]



E         VALIDATE INDEX                                F
                    VALIDATE INDEX [user.]index


E         WHENEVER                                      F
E         (Встроенный SQL)                              F
                    EXEC SQL WHENEVER {NOT FOUND|SQL ERROR|SQLWARNING}
                       {CONTINUE | GOTO label_name | STOP}

                                                     


















                                   -- 300 --







       EW1 ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ   W0


         W1   ГЛОССАРИЙ                   W0


W1         А                    W0

E         Администратор базы данных (Database Administrator - DBA) F
         Один из пользователей системы ORACLE,  который может предос-
         тавлять и запрещать доступ других пользователей  к  системе,
         модифицировать опции системы,  влияющие на работу всех поль-
         зователей, а также выполнять другие  административные функции.
         Обычно называется "DBA".

E         Алиас (alias)                 F
         Временное имя, назначаемое таблице или столбцу таблицы
         в SQL - операторе и используемое для ссылки на него,  как на
         то же самое.

E         Аргумент (argument)             F
         Выражение, заключенное в скобки,  используемое для  указания
         значения для использования в функции.


W1         Б                            W0

E         База данных (database)        F
         Один или несколько файлов операционной  системы,  в  которой
         система ORACLE хранит таблицы, обзоры и другие объекты. Кро-
         ме того,  так называют множество объектов базы  данных,  ис-
         пользуемых конкретным приложением.

E         Блок (block)                  F
         Единица памяти базы данных,  используемая ORACLE для распре-
         деления места для таблиц и индексов. Размер блока ORACLE мо-
         жет варьироваться в зависимости от операционной  системы,  в
         среде которой он работает (host - системы).
         Размер блока ORACLE обычно кратен блоку host - системы.

E         Блокировка (lock)             F
         Временное ограничение доступа к данным другим пользователям.

E         Блокировка типа share update  F
         Блокировка, которая разрешает другим пользователям как  зап-
         рашивать, так и блокировать данные.









                                   -- 301 --



          Справочное руководство по языку SQL    Глоссарий - 2



W1         В            W0                    

E         Виртуальный столбец (virtual column)  F
         Столбец в результате запроса,  чье значение  вычисляется  на
         основании значений других столбцов.

E         Внешний ключ (foreign key)            F
         Один или несколько столбцов, чьи значения базируются на зна-
         чениях основного ключа другой таблицы.

E         Внешнее объединение (outer join)      F
         Тип объединения, возвращающий значения из одной таблицы, ко-
         торые не  удовлетворяют условию и дополнительно те,  которые
         удовлетворяют условию. Каждая сохраняемая строка объединяет-
         ся с  фиктивной строкой другой таблицы,  у которой все поля
         содержат null.

E         Временный сегмент (temporary segment) F
         Часть памяти табличного пространства,  используемая для хра-
         нения промежуточных результатов SQL -  операторов. Например,
         временные сегменты используются для сортировки данных.

E         Выражение (expression)                F
         Один и   более  элементов  данных,  объединяемых  в  команде
         операциями или функциями.  Выдает значение типа number, char
         или data.

W1         Г    W0

E         Гнездование (nesting)         F
         Практика помещения запроса в другой оператор или фразу.

E         Групповая функция (group function)    F
         Функция, вычисляющая единственное суммарное значение (напри-
         мер -  сумма  или  среднее) из группы значений как из единс-
         твенного значения.

W1         Д    W0

E         Древовидный запрос (tree-structured query)    F
         Запрос, результатом  которого является иерархическая зависи-
         мость между строками таблицы. См. фразу CONNECT BY.

W1         З    W0

E         Запись (record)               F
         Синоним понятия строки (row)

E         Запрос (query)                F
         Команда SQL  для выборки данных из одной или нескольких таб-
         лиц. Все запросы начинаются с ключевого слова SELECT.




                                   -- 302 --



                                                 Глоссарий - 3


E         Зарезервированное слово (reserved word)       F
         Слово, имеющее специальное значение в SQL  и, следовательно,
         не может  использоваться для именования объекта (в отличие от
         "ключевого слова", которое может использоваться для именова-
         ния объектов, но которое может в будущем может стать зарезер-
         вированным).

W1         И            W0

E         Индекс (index)                F
         Объект базы   данных,   благодаря   которому  осуществляется
         быстрый и прямой доступ к строкам без  полного  сканирования
         таблицы. Индекс  имеет элемент для каждого значения индекси-
         руемого поля таблицы и указатель на соответствующую строку.

E         Исключительная блокировка (exclusive lock)    F
         Блокировка, которая    позволяет    другим     пользователям
         запрашивать данные,  но  не  изменять их;  она отличается от
         блокировки типа SHARE,  которая позволяет другим пользовате-
         лям выполнять любой тип блокировки для тех же данных. Блоки-
         ровка типа SHARE разрешает нескольким пользователям одновре-
         менно блокировать одни и те же данные.

E         Имя пользователя (username)           F
         Слово, которое  идентифицирует  Вас  как пользователя host -
         системы или как пользователя ORACLE. Вместе с именем пользо-
         вателя ассоциируется пароль.

W1         К            W0

E         Кластер (cluster)             F
         Объект базы  данных,  который  может  содержать одну и более
         таблиц. Строки этих таблиц, имеющие одинаковые значения клю-
         ча кластера, хранятся в базе данных физически вместе.

E         Кластера индекс (cluster index)       F
         Индекс, который Вы строит на столбцах,  представляющих собой
         ключ кластера.

E         Кластера столбцы (cluster columns)    F
         Один или более столбцов из группы  кластеризованных  таблиц,
         которые используются для определения того,  какие строки бу-
         дут храниться вместе. То же, что и "Ключ кластера".

E         Ключ (key)                    F
         Столбец или группа столбцов,  используемые для идентификации
         строк. Не  идентично понятию "индекс".  См.  также "основной
         ключ", "внешний ключ", "уникальный ключ".

E         Ключевое слово (keyword)              F
         Часть синтаксического  описания,  которая  должна  вводиться
         так, как написано.

E         Команда (command)                     F
         См. Оператор.

                                   -- 303 --



          Справочное руководство по языку SQL    Глоссарий - 4



E         Командная строка (command line)       F
         Строка на экране дисплея, в которой Вам предлагается набрать
         команду.

E         Конкатенация (concatenation)          F
         Объединение вместе  символьных  значений,   представляющееся
         операцией "||" (не путайте с объединением таблиц). Например,
         конкатенация двух символьных констант 'ABC'  и  'XYZ'  будет
         записываться в  виде:  'ABC'||'XYZ' и в результате получится
         значение 'ABCXYZ'.

E         Корень (root)                         F
         В таблице  с древовидной структурой - начало дерева; строка,
         не имеющая родителя и чьи потомки,  внуки и т.д.  составляют
         дерево. В  древовидном запросе это строка, специфицированная
         во фразе START WITH.

E         Коррелированный запрос (correlated query)     F
         Подзапрос, который выполняется для каждого значения строки -
         кандидата, выбираемого основным запросом.  Результат каждого
         выполнения подзапроса  зависит  от  значений одного или нес-
         кольких полей строки - кандидата;  другими словами - подзап-
         рос коррелируется с основным запросом.

W1         Л    W0

E         Лист (leaf)                   F
         В древовидной таблице - строка, не имеющая строки-потомка.

E         Логическое выражение (logical expression)     F
         Выражение, чьим результатом может быть TRUE либо FALSE.  Си-
         ноним "условия".

W1         М            W0

E         Межбазовая связь (database link)      F
         Объект, хранящийся локальной базе данных, который определя-
         ет удаленную  базу  данных,  маршрут  к  этой  базе  и   (не
         обязательно) имя пользователя и пароль в удаленной базе.

E         Множественное условие (set condition)         F
         Логическое выражение, содержащее запрос, например:
         'JOB IN (SELECT...)'.

E         Множественная операция (set operator)         F
         Одна из следующих операций: UNION, INTERSECT, MINUS.

E         Модель отношения сущностей (Entity-Relationship model) F       
         Структура, используемая для моделирования систем для реляци-
         онной базы данных. Делит все элементы системы на две катего-
         рии: сущности и отношения.




                                   -- 304 --



                                                 Глоссарий - 5



E         Модель формата (format model)         F
         Фраза, которая управляет появлением чисел,  дат или символь-
         ных строк.  Модели   форматов   для   столбцов   типа   DATE
         используются в  функциях  преобразования  даты  (например  -
         TO_DATE).

W1         Н            W0

E         Независимость данных (data independence)      F
         Свойство хорошо определенных таблиц,  позволяющее менять  их
         физическую  и логическую структуру,  никак не влияя при этом
         на работу приложений, обращающихся к таблице.

W1         О            W0

E         Обзор (view)                  F
         Объект базы  данных,  являющийся  логическим  представлением
         таблицы. Он является производным от таблицы, но не использу-
         ет память, но с ним можно работать так же, как и с таблицей.

E         Объединение (join)                    F
         1. Запрос, возвращающий данные из двух и более таблиц; 2. ус-
         ловие, которое Вы определяете для  определения  того,  какие
         строки должны быть выбраны.

E         Объединяющий столбец (join column)            F
         Столбец, используемый для объединения одной таблицы  с  дру-
         гой. Вы специфицируете объединяющий столбец, используя фразу
         WHERE, которая  определяет  отношение  между   объединяющими
         столбцами в двух таблицах.

E         Объект базы данных (database object)          F
         Нечто созданное и хранящееся в базе данных.  К объектам базы
         данных относятся: таблицы, обзоры, синонимы, индексы, после-
         довательности, кластеры, столбцы.

E         Ограничение (constraint)                      F
         См. "Ограничение целостности".

         Ограничение для столбца (column constraint)
         Ограничение целостности, относящееся к определенному столбцу
         в таблице.

E         Ограничение для таблицы (table constraint)    F          
         Ограничение целостности, применяемое для нескольких столбцов
         одной таблицы. См. "Ограничение для столбца".

E         Ограничение целостности (integrity constraint)        F
         Правило, ограничивающее   диапазон  действительных  значений
         столбца. Помещается в момент  создания  столбца.  См.  также
         "Ограничение для столбца" и "Ограничение для таблицы".




                                   -- 305 --



E         Оператор (statement)                  F
         Инструкция для  системы  ORACLE  на языке SQL,  состоящая из
         фраз.

          Справочное руководство по языку SQL    Глоссарий - 6



E         Операция (operator)                   F
         Символ или зарезервированное слово, используемое, используе-
         мое для выполнения операции,  такой как сложение или сравне-
         ние, над элементами выражения.  Приведем  примеры  некоторых
         операций: *  (умножение),  >  (сравнение "больше чем"),  ANY
         (сравнение некоторого значения с каждым значением,  выдавае-
         мым подзапросом).

E         Операционная система (operating system)       F
         Программа, управляющая  ресурсами  компьютера  и  являющаяся
         связующим звеном между аппаратурой и прикладными программами.

E         Основной ключ (primary key)                   F
         Столбец (столбцы),  используемый для уникального идентифици-
         рования строк в таблице.

E         Относительная целостность                     F
         Свойство, гарантирующее что значения из одного столбца зави-
         сят от значений из другого столбца. Это свойство обеспечива-
         ется с помощью "Ограничений целостности".

E         Отношение (relation)                  F
         См. таблица.

W1         П            W0

E         Пароль (password)                     F
         Строка символов,  которую Вы должны ввести при регистрации в
         операционной системе и при подключении к системе ORACLE. Па-
         роль необходимо хранить в тайне.

E         Подзапрос (subquery)                  F
         Запрос, заключенный в кавычки и располагающийся внутри фразы
         SQL - оператора. См. также "Коррелированный запрос".

E         Поле (field)                          F
         В общем случае - синоним понятия столбца,  но обычно исполь-
         зуется для обозначения действительного значения столбца.

E         Последовательность (sequence)                 F
         Объект базы данных, позволяющий генерировать уникальные чис-
         ла для использования в качестве основных ключей.

E         Правило относительной  целостности  (referential   integrity
         rule)           F
         "Ограничение целостности",  которое обеспечивает относитель-
         ную целостность.




                                   -- 306 --



E         Привилегия (privilege)                        F
         Любое действие над таблицей,  на которое  создатель  таблицы
         может дать разрешение другому пользователю. ORACLE распозна-
         ет следующие  привилегии:  ALTER,  DELETE,  INDEX,   INSERT,
         REFERENCE, SELECT,  UPDATE. Ключевое слово ALL означает пре-
         доставление всех привилегий, что и у создателя объекта.

                                                 Глоссарий - 7



E         Присоединение, подключение (connect)          F
         Используется системой  ORACLE  для идентифицирования Вас как
         пользователя путем ввода имени пользователя (username) и па-
         роля(password).

E         Последовательность слияния (collating sequence)       F
         Последовательность символов,  в который каждый  символ  либо
         больше, либо  меньше остальных символов.  Последовательность
         слияния используется для упорядочения и группировки символь-
         ных столбцов. Последовательность слияния зависит от операци-
         онной системы и основывается на используемом символьном  на-
         боре. Большинство  операционных систем используют символьные
         наборы либо ASCII, либо - EBCDIC. На последовательность сли-
         яния влияет также параметр LANGUAGE файла INIT.ORA;  различ-
         ные языки имеют разные последовательности слияния.

E         Псевдостолбец (pseudo-column)                 F
         "Столбец", который при обращении выдает значение,  но не яв-
         ляется реальным столбцом таблицы. (Например - ROWID).


W1         Р            W0

E         Разделяемая блокировка (share lock)           F
         Блокировка, разрешающая   другим  пользователям  запрашивать
         данные, но не модифицировать их.

E         Родительский запрос (parent query)            F
         Самый внешний запрос (который выдает  окончательный  резуль-
         тат) в запросе, содержащем подзапрос.

W1         С            W0

E         Сеанс (session)                               F
         События, происходившие между моментом подключения  пользова-
         теля к системе и отключением.

E         Сегмент отката (rollback segment)             F
         Часть памяти табличного пространства, в которой хранится ин-
         формация, используемая  для  гарантирования  целостности   в
         процессе отката и обеспечения согласованного чтения для нес-
         кольких транзакций.

E         Сеть (network)                                F
         Связь между двумя и более компьютерами,  позволяющая им нап-
         рямую обмениваться информацией.


                                   -- 307 --



E         Синоним (synonym)                             F
         Имя, назначаемое таблице или обзору для более удобной ссылки
         на него.  Если у Вас есть доступ к таблице другого пользова-
         теля, ей  можно назначить синоним и обращаться только по си-
         нониму, не включая имени пользователя.

E         Синтаксис (syntax)                            F
         Набор правил,  определяющий  как  конструировать  правильные
         операторы на язык компьютера (например - на SQL).
 
          Справочное руководство по языку SQL    Глоссарий - 8
















































                                   -- 308 --






E         Система управления   реляционной   базой  данных  (Relational
         Database Management System - RDBMS)             F
         Компьютерная программа   общего  назначения,  обеспечивающая
         хранение и выборку данных, организованных в таблицы, состоя-
         щие из одного или нескольких элементов информации,  называе-
         мых строками,  каждая из которых - в свою  очередь  содержит
         одинаковый набор элементов данных (столбцы). ORACLE - систе-
         ма управления реляционной базой данных.

E         Словарь Данных (Data Dictionary)              F
         Набор таблиц и обзоров,  содержащих информацию  об  объектах
         базы данных,  пользователях,  привилегиях, событиях и об ис-
         пользовании базы данных.

E         Согласованность чтения (read consistency)     F
         Состояние, гарантирующее, что все данные, с которыми сталки-
         вается оператор (или транзакция) представляют собой согласо-
         ванное множество  в  течение  всего времени работы оператора
         (транзакции). См. оператор SET TRANSACTION.

E         Составной ключ (composite key)                F
         Основной или внешний ключ,  состоящий из двух и более столб-
         цов.

E         Спецификация базы данных (database specification)     F
         Буквенноцифровой код,  идентифицирующий базу данных ORACLE и
         использующийся для специфицирования базы данных для работы в
         SQL*Net и для определения межбазовой связи.

E         Старшинство операций (precedence)                     F
         Умалчиваемый порядок,  в котором ORACLE выполняет операции в
         выражении. В выражении "2+3*X" сперва три умножается на X, а
         к результату добавляется 2, так как умножение старше сложения.

E         Столбец (column)                              F
         (1) Поля,  представляющие  в таблице определенного рода дан-
         ные.  Например - поля, содержащие жалование в таблице EMP.
         (2) Поля, представляющие определенного рода выходные данные,
         полученные в результате запроса.

E         Страница (page)                               F
         Единица дисковой памяти. См. "Блок".

E         Сущность (entity)                             F
         Лицо, место или вещь,  представляемые с помощью  таблицы.  В
         таблице каждая строка представляет собой сущность.

E         Строка (row)                                  F
         (1) Один полный набор полей таблицы. Например - поля, предс-
         тавляющие одного  служащего в таблице EMP.  (2) Один элемент
         множества, составляющего выходные результаты запроса.





                                   -- 309 --



                                                 Глоссарий - 9



W1         Т            W0

E         Таблица (table)                               F
         Базовая структура  памяти  в  системе управления реляционной
         базой данных. Таблица содержит один и более элементов инфор-
         мации (строк),  которые, в свою очередь, состоят из значений
         одинакового типа (столбцов).

E         Таблицы алиас (table alias)                   F
         Временная подстановка  для  имени  таблицы,  определенная во
         фразе FROM оператора SELECT.

E         Таблицы столбец (table column)                F
         Столбец, принадлежащий таблице. См. "Столбец".

E         Табличное пространство (tablespace)           F
         Файл или группа файлов,  используемых для  хранения  данных.
         База данных ORACLE состоит из табличного пространства SYSTEM
         и, возможно, других табличных пространств.

E         Тип данных (datatype)                         F
         Любая из стандартных форм данных,  которые ORACLE может хра-
         нить и обрабатывать. К стандартным типам данных ORACLE отно-
         сятся: CHAR, DATE, NUMBER, LONG, RAW и LONG RAW.

E         Точка сохранения (savepoint)                  F
         Точка внутри транзакции,  к которой Вы можете выполнить  от-
         кат. Точки  сохранения  позволяют Вам откатить часть текущей
         транзакции. См. оператор ROLLBACK.

E         Транзакция (transaction)                      F
         Последовательность SQL  -  операторов,  трактуемая  системой
         ORACLE как один элемент. Набор модификаций становится посто-
         янным после выдачи оператора COMMIT.  Транзакция может  быть
         полностью или частично откачена с помощью оператора ROLLBACK.

E         Тупиковая ситуация (deadlock)                 F
         (Буквально - смертельная блокировка). Ситуация, когда каждый
         из двух  пользователей  исключительно  заблокировал  ресурс,
         с которым необходимо продолжить работать другому пользовате-
         лю. Такая ситуация возникает,  например, в случае, когда два
         пользователя заблокировали различные таблицы, а затем каждый
         из них пытается обратиться к таблице,  заблокированную  дру-
         гим. ORACLE  способен автоматически избегать и разрешать ту-
         пиковые ситуации.

W1         У            W0

E         Удаленная база данных (remote database)       F
         База данных,  расположенная  на  "удаленном  компьютере";  в
         частности так называется база, используемая через межбазовую
         связь.



                                   -- 310 --



E         Удаленный компьютер (remote computer)         F
         Термин, использующийся для обозначения любого, кроме Вашего,
         компьютера в сети.

          Справочное руководство по языку SQL    Глоссарий - 10



E         Узел (node)                                   F
         1. отдельная строка в древовидной таблице;  2. в сети - мес-
         тоположение отдельного компьютера.

E         Умолчание (default)                           F
         Фраза или значение опции, используемое в случае, когда ниче-
         го другого не указано.

E         Уникальный ключ (unique key)                  F
         Один или несколько столбцов, которые должны быть уникальными
         для каждой строки таблицы. См. "Ключ", "Основной ключ".
         Уровень (level)
         В древовидной таблице количество строк между данной и корне-
         вой. Корневая строка имеет уровень 1, ее потомок 2, и т.д.

E         Условие (condition)                           F
         Выражение, чьим результатом является TRUE или FALSE.  Напри-
         мер: X > 100.

W1         Ф            W0

E         Физический блок (physical block)              F
         Место на диске, обычно размером в 512 К. Отличается об блока
         системы ORACLE. См. "Блок".

E         Фраза (clause)                                F
         Одно или  несколько  зарезервированных слов,  использующихся
         как часть SQL - оператора и иногда сопровождающихся парамет-
         ром. Например, оператор:
         SELECT DISTINCT SAL FROM EMP
         содержит фразы SELECT и FROM.

E         Функция (function)                            F
         Заранее определенная операция (например -  "преобразовать  в
         верхний регистр", которая может быть выполнена путем помеще-
         ния ее имени и аргументов в SQL - оператор.

W1         Э            W0

E         Экстент (extent)                              F
         Часть непрерывного участка памяти,  занимаемой таблицей  или
         индексом и распределяемая единовременно либо во время перво-
         начального создания таблицы или индекса,  либо  при  запросе
         ими дополнительного места.







                                   -- 311 --



                                                 Глоссарий - 11



W1         A            W0

E         ASCII                                 F
         Соглашение по  использованию числовых данных для представле-
         ния печатаемых  символов.  ASCII  -  это   аббревиатура   от
         American Standard  Code  for Information Interchange (амери-
         канский стандартный код для обмена информацией).

E         audit (ревизия, регистрация)          F
         Используется для указания системе ORACLE собирать информацию
         по различным аспектам.  Например - регистрация доступа к оп-
         ределенной таблице.

W1         C            W0

E         CHAR - тип данных                     F           
         Один из типов данных системы ORACLE, который может включать
         в себя любой печатаемый символ,  например "А", "3" или "про-
         бел". Он может иметь размерность от нуля символов до  макси-
         мально возможной размерности, определенной для столбца. Мак-
         симальный размер столбца CHAR - 255 символов.

E         CONNECT BY                            F
         Необязательная фраза оператора SELECT.

W1         D            W0

E         DATE - тип данных                     F
         Один из  стандартных  типов  данных.  Столбец с данными типа
         DATE может содержать дату в диапазоне от 1 января 4712 г. до
         н.э. до 31 декабря 4712 г. н.э.

E         DBA                                   F
         См. "Администратор базы данных".

W1         E            W0

E         equi-join                             F
         Объединение, в  котором в качестве операции объединения выс-
         тупает равенство, например:
         WHERE EMP.DEPTNO = DEPT.DEPTNO

W1         H            W0

E         host                                          F
         Компьютер, на котором работает ORACLE RDBMS.

W1         L            W0

E         LONG - тип данных                             F
         Стандартный тип данных системы ORACLE,  который может содер-
         жать любой   "печатный"  символ,  например  "A","3","&"  или
         "пробел". Может иметь длину от 0 до 65535 символов. В табли-
         це может  быть  определен  только  один  столбец  типа LONG.

                                   -- 312 --



         Столбцы такого типа не могут  использоваться  как  аргументы
         функций, в выражениях, фразах WHERE, а также имеют некоторые
         дополнительные ограничения.

          Справочное руководство по языку SQL    Глоссарий - 12



E         LONG RAW - тип данных                         F
         Столбец такого  типа может содержать необработанные двоичные
         данные, но с другой стороны он подобен столбцу LONG.  Значе-
         ния в столбец LONG RAW вводятся в шестнадцатеричной нотации.

W1         N            W0

E         non-equi-join                                 F
         Объединение, условие    которого   описывается   отношением,
         отличным от равенства (=).

E         null                                          F
         Значение, означающее:  "значение  неприменимо" или "значение
         неизвестно". Запрос может выбирать или игнорировать значения
         null в некоторых полях.  Групповые функции обычно игнорируют
         такие значения.  Null не равен какому-либо значению, сравне-
         ние с ним всегда дает FALSE.

E         NUMBER - тип данных                           F
         Один из стандартных типов данных ORACLE,  который может  со-
         держать  числовые  данные  как с десятичной точкой и знаком,
         так и без них. Может быть определено от 1 до 105 позиций для
         десятичных чисел, причем только 38 являются значащими.

W1         P            W0

E         public                                        F
         1) Нечто  видимое  или доступное всем пользователям.  public
         могут быть синонимы и межбазовые связи.  Объекты этого  типа
         может создавать только DBA. Любой пользователь может предос-
         тавить право доступа public  только  к  своим  объектам.  2)
         Группа, к которой принадлежит любой пользователь базы данных
         - имя этой группы.

W1         R            W0

E         RAW - тип данных                              F
         Столбцы типа RAW содержат данные независимо от  того,  какой
         компьютер их записал.  Такие столбцы используются для хране-
         ния двоичных (не символьных) данных.

E         RDBMS                                         F
         См. "Система управления реляционной базой данных".

E         ROWID                                         F
         Внутренний адрес строки в таблице.  ROWID строки может  быть
         выбран с  помощью команды SELECT из псевдостолбца ROWID. Его
         можно преобразовывать  с  помощью  функций   ROWIDTOCHAR   и
         CHARTOROWID.


                                   -- 313 --



W1         S            W0

E         soundex                                       F
         Символьная функция,  представляющая в символьном виде звуча-
         ние слова.  Она может помочь в поиске слов,  написанных нес-
         колько иначе, например вместо "SMITH" найти "SMYTHE".





















































                                   -- 314 --



                                                 Глоссарий - 13



E         SQL                                           F
         Промышленный стандарт  языка,  используемого  для  работы  с
         реляционными базами данных.  Этот язык используется в систе-
         мах ORACLE и DB2. Произносится "сикюэл".

E         SQL*Net                                       F
         Необязательный продукт, который позволяет системе ORACLE ра-
         ботать на нескольких компьютерах и модифицировать базы через
         сеть.
 

KOAP Open Portal 2000