Доклад: Базы данных SQL

Представляемая таблица есть именованная таблица, определенная через <определение представления> (<view definition>). Описание представляемой таблицы включает ее имя.

Таблица является либо изменяемой (updatable), либо только читаемой. Операции занесения, модификации и удаления допускаются для изменяемых таблиц и не допускаются для только читаемых таблиц.

Сгруппированная таблица есть множество групп, порождаемых в ходе вычисления <раздела group by> (<group by clause>). Группа - это мульти-множество строк, в которых все значения столбца (столбцов) группирования равны. Сгруппированную таблицу можно рассматривать как набор таблиц. Множественные функции могут применяться к индивидуальным кортежам внутри сгруппированной таблицы.

Сгруппированное представление - это представляемая таблица, порожденная из сгруппированной таблицы.

4.5 Ограничения целостности

Ограничения целостности определяют допустимые значения базы данных путем ограничения значений в базовых таблицах.

Ограничения целостности фактически проверяются после выполнения каждого <оператора SQL> (<SQL statement>). Если базовая таблица, ассоциированная с ограничением целостности, не удовлетворяет этому ограничению целостности, то <оператор SQL> (<SQL statement>) не выполняется, и в параметр SQLCODE устанавливается определенное в реализации отрицательное число.

<Определение ограничения уникальности> (<unique constraint definition>) требует, чтобы никакие две строки в таблице не имели одинаковых значений в указанном столбце или столбцах.

Спецификация NOT NULL требует, чтобы никакие значения в столбце не были неопределенными значениями.

<Определение ограничения ссылок> (<referential constraint definition>) требует, чтобы для каждой строки одной указанной таблицы - "ссылающейся таблицы" - значения указанного столбца или столбцов либо включали как минимум одно неопределенное значение, либо были бы такими же, как значения указанного столбца или столбцов в некоторой строке другой указанной таблицы - "ссылаемой таблицы". Ссылающаяся таблица может быть той же самой таблицей, что и ссылаемая таблица.

<Определение проверочного ограничения> (<check constraint definition>) требует, чтобы указанное <условие поиска> (<search condition>) не было ложно ни для какой строки таблицы.

4.6 Схемы

<Схема> (<schema>) есть долговременно хранимый объект, определенный на языке определения схем. Он состоит из <раздела полномочий схемы> (<schema authorization clause>) и всех <определений таблицы> (<table definition>), <определений представления> (<view definition>) и <определений привилегий> (<privilege definition>), известных системе для указанного <идентификатора полномочий> (<authorization identifier>) в среде. Понятие среды определяется в реализации.

Таблицы, представления и привилегии, определенные через <схему> (<schema>), рассматриваются как "принадлежащие" или должные быть "созданными" <идентификатором полномочий> (<authorization identifier>), определенным для этой схемы.

Замечание: В реализации могут обеспечиваться средства (такие, как DROP TABLE, DROP VIEW, ALTER TABLE и REVOKE), которые позволяют создавать, уничтожать и модифицировать определения таблиц, представлений и привилегий для данного <идентификатора полномочий> (<authorization identifier>) в разные моменты времени. Однако в этом стандарте рассматриваются только <схемы> (<schema>), представляющие определения, которые известны системе в данный момент времени.

4.7 База данных

База данных есть набор всех данных, определенных <схемами> (<schema>) в среде. Понятие среды является определяемым реализацией.

4.8 Модули

<Модуль> (<module>) есть долговременно хранимый объект, определенный на языке модулей. <Модуль> (<module>) состоит из необязательного <имя модуля> (<module name>), <раздела языка> (<language clause>), <раздела полномочий модуля> (<module authorization clause>), ноля или более курсоров, определенных через <объявление курсора> (<declare cursor>) и одной или более <процедур> (<procedure>).

Прикладная программа есть сегмент выполняемого кода, содержащий, возможно, несколько подпрограмм. Единственный <модуль> (<module>) ассоциируется с прикладной программой в течение ее выполнения. Прикладная программа должна быть ассоциирована с самое большее одним <модулем> (<module>). Способ установления этой ассоциации, включающий возможное требование выполнения некоторого определенного в реализации оператора, определяется в реализации.

4.9 Процедуры

<Процедура> (<procedure>) состоит из <имени процедуры> (<procedure name>), последовательности <объявлений параметров> (<parameter declaration>) и одного <оператора SQL> (<SQL statement>).

Прикладная программа, ассоциированная с <модулем> (<module>), может обращаться к <процедурам> (<procedure>) этого <модуля> (<module>) через оператор "call", в котором определяется <имя процедуры> (<procedure name>) этой <процедуры> (<procedure>) и задается последовательность значений параметров, число и <тип данных> (<data type>) которых соответствует <объявлениям параметров> (<parameter declaration>) этой <процедуры> (<procedure>). Вызов <процедуры> (<procedure>) приводит к выполнению содержащегося в ней <предложения SQL> (<SQL statement>).

4.10 Параметры

Параметр объявляется в <процедуре> (<procedure>) через <объявление параметра> (<parameter declaration>). <Объявление параметра> (<parameter declaration>) определяет <тип данных> (<data type>) своего значения. Параметр либо принимает, либо поставляет значение соответствующего аргумента в вызове этой <процедуры> (<procedure>).

4.10.1 Параметр SQLCODE

Параметр SQLCODE - это специальный целый параметр. Его значение устанавливается равным коду состояния, который либо означает, что вызов <процедуры> (<procedure>) завершился успешно, либо, что в течение выполнения <процедуры> (<procedure>) возникла исключительная ситуация.

4.10.2 Параметр-индикатор

Параметр-индикатор - это целый параметр, который указывается после другого параметра. Его основное назначение - показывать, может ли значение другого параметра (принимаемого или поставляемого) быть неопределенным значением.

К-во Просмотров: 820
Бесплатно скачать Доклад: Базы данных SQL