9. Уровни
Этот стандарт специфицирует два уровня и отдельные средства поддержания целостности данных.
Средства поддержания целостности данных образуют следующие синтаксические конструкции вместе с Синтаксическими правилами и Общими правилами:
- <Раздел умолчаний> (<default clause>)
- все опции <ограничения на столбец> (<column constraint>), отличные от NOT NULL и NOT NULL UNIQUE
- все опции <определения ограничения на таблицу> (<table constraint definition>), кроме опции UNIQUE <список столбцов уникальности> (UNIQUE (<unique column list>)).
- <действие> REFERENCES <список столбцов передачи> (<action> REFERENCES [ (<grant column list>)])
Уровень 2 - это полный язык базы данных SQL, не включающий средства улучшения целостности данных. Уровень 1 - это подмножество уровня 2, которое подчиняется следующим дополнительным правилам.
- 4.16, "Транзакции":
а) Первое предложение параграфа 1 заменяется следующим: Транзакция - это последовательность операций, включающая операции над базой данных, которые являются атомарными по отношению к восстановлению.
b) Параграф 2 удаляется.
c) Второе предложение параграфа 3 удаляется.
- 5.3, "Лексемы (<token>):
<Идентификатор> (<identifier>) не должен состоять более чем из 12 символов.
- 5.4, "Имена":
<Имя таблицы> (<table name>) не должно содержать <идентификатор полномочий> (<authorization identifier>).
- 5.6, "<Спецификация значения> (<value specification>) и <спецификация цели> (<target specification>)":
а) <Спецификация значения> (<value specification>) не должна содержать USER.
b) <Спецификация параметра> (<parameter specification>) не должна специфицировать <парамететр-индикатор> (<indicator parameter>).
c) <Спецификация переменной> (<variable specification>) не должна специфицировать <переменную-индикатор> (<indicator variable>).
- 5.7, "<Спецификация столбца> (<column specification>)" :
К синтаксическому правилу 4 добавляется следующее:
<Спецификация столбца> (<column specification>) не должна быть внешней ссылкой.
- 5.8, "<Спецификация функции над множеством> (<set function specification>)" 5.24, <Подзапрос> (<subquery>), и 5.25, <Cпецификация запроса> (<query specification>):
<Функция надо всеми элементами множества> (<all set function>), <подзапрос> (<subquery>) и <спецификация запроса (<query specification>) не должны содержать ALL.
Замечание: на уровне 1 сохранение дубликатов специфицируется отсутствием DISTINCT.
- 5.8, "<Спецификация функций над множеством> (<set function specification>)":
<Функция над различными элементами множества> (<distinct set function>) не должны включать AVG, MAX, MIN или SUM.
- 5.11, "<Предикат сравнения> (<comaprison predicate>)" : <Оператор сравнения> (<comp op>) не должен включать "<>". Замечание: на уровне 1 сравнение в форме "A <> B" выражается через эквивалент "NOT A=B".
- 5.14, "<предикат like> (<like predicate>):
а) <Предикат like> (<like predicate>) не должен специфицировать ESCAPE <символ escape> (<escape character>).
b) <Предикат like> (<like predicate>) не должен специфицировать NOT.
Замечание: на уровне 1 <предикат like> (<like predicate>), содержащий NOT, может быть выражен в эквивалентной форме <условия поиска> (<search condition>): "NOT <like predicate>".
- 5.17, "<предикат exists> (<exists predicate>)":
<Предикат> (<predicate>) не должен специфицировать <предикат exists> (<exists predicate>).
- 5.22, "<раздел group by>" (<group by clause>)":
Следующее предложение добавляется к Общему правилу 2:
Группирование строк, в которых значения одного или нескольких столбцов группировки являются неопределенными, определяется в реализации.
- 5.25, "<Спецификация запроса> (<query specification>)":
Синтаксическое правило 11 заменяется на следующее:
Распознавание того, является ли <спецификация запроса> (<query specification>) изменяемой или только читаемой, определяется в реализации.
- 6.1, "<Схема> (<schema>)":
<Схема> (<schema>) не должна специфицироваться.
Уровень 1 реализации должен обеспечивать некоторый механизм связи <идентификатора полномочий> (<authorization identifier>) с <определением таблицы> (<table definition>), <определением представления> (<view definition>) или <определением привилегий> (<privileges definition>).
- 6.2, "<Определение таблицы> (<table definition>)":
<Определение таблицы> (<table definition>) не должно содержать <определение огpаничения уникальности> (<unique constraint definition>). Уровень реализации 1 должен обеспечивать некоторый механизм спецификации ограничения таблицы, связанного с уникальностью.
- 6.3, "<Определение столбцов> (<column definition>):
а) <Тип данных> (<data type>) в <определении столбца> (<column definition>) не должен включать REAL, DOUBLE, PRECISION и NUMERIC.
b) <Определение столбца> (<column definition>) столбца не должно специфицировать NOT NULL.
c) <Определение столбца> (<column definition>) столбца не должно специфицировать UNIQUE.
- 6.9, "<Определение представления> (<view definition>):
<Определение представления> (<view definition>) не должно содержать WITH CHECK OPTION.
- 6.10, "<Определение привилегий> (<privilege definition>)" :
<Определение привилегий> (<privileges definition>) не должно содержать WITH GRANT OPTION.
- 7.3, "<Процедура> (<procedure>):
а) Cинтаксическое правило 8 (a) (2) заменяется на следующее:
Любой <тип данных> (<data type>) в <объявлении параметра> (<parameter declaration>) должен специфицировать тип CHARACTER.
b) В общем правиле 3 случай (a) каждое вхождение числа "100" заменяется на слова "положительное число со значением, определяемым реализацией"
c) Общее правило 3 (b) (1) заменяется на следующее:
В реализации определяется, аннулируются ли при выполнении S изменения, произведенные в базе данных.
- 8.3, "<Объявление курсора> (<declare cursor>)":
а) <Спецификация сортировки> (<sort specification>) не должна содержать <целых без знака> (<unsigned integer>).
b) <Спецификация сортировки> (<sort specification>) не должна содержать ASC.
Замечание: на уровне 1 порядок по возрастанию специфицируется отсутствием опции DESC.
c) <Выражение запроса> (<query expression>) не должно содержать UNION.
Замечание: на уровне 1 функция объединения не поддерживается.
- 8.7, "<Оператор вставки> (<insert statement>) :
<Оператор вставки> (<insert statement>) не должен содержать <спецификацию запроса> (<query specification>).
- 8.11, "<Оператор модификации: позиционный> (<update statement: positioned>)" и <оператор удаления: поизиционный> (<delete statement: positioned>):
<Оператор SQL> (<SQL statement>) не должен специфицировать <оператор модификации: позиционный> (<update statement: positioned>) или <оператор удаления: позиционный> (<delete statement: positioned>).
Назад | Содержание | Вперед
|
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
|
|
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
Новости мира IT:
- 05.02 - Состоялся релиз Firefox 135
- 05.02 - Huawei рассказала, когда первый в мире трёхстворчатый смартфон Mate XT Ultimate выйдет на глобальный рынок
- 05.02 - Роскомнадзор оштрафовал на ₽2 млн мессенджер Discord, который сам ранее заблокировал
- 05.02 - NASA наделило рой спутников коллективным «разумом» и испытало технологию в космосе
- 05.02 - Huawei выручила $118 млрд в прошлом году — намного больше Xiaomi, но меньше чем Apple за один квартал
- 05.02 - Nissan и Honda передумали сливаться в третьего крупнейшего автопроизводителя в мире
- 04.02 - Отчёт о развитии Fedora Workstation: AI, Wayland, HDR, MIPI-камеры и Flatpak
- 04.02 - Для борьбы с телефонными мошенниками в России будут использовать ИИ и базу биометрических данных
- 04.02 - Opera представила заботливый браузер Air — он поможет бороться со стрессом и поддерживать концентрацию
- 04.02 - Microsoft причислила к вредоносам средства обхода ограничений для установки Windows 11
- 04.02 - Китай начал антимонопольное расследование против Google в ответ на повышение импортных пошлин США
- 04.02 - OpenAI выпустит ИИ-гаджет, который кардинально изменит взаимодействие человека с компьютером
- 04.02 - Энтузиаст создал клиент Discord для древних ПК на Windows 95 и 98
- 04.02 - «Нестабильная, но многообещающая»: американцы начали тестировать спутниковую связь Starlink для обычных смартфонов
- 04.02 - Суд обязал ЕС выплатить компании Intel €515 млн за отменённый штраф 2009 года
- 31.01 - Apple поставила новый рекорд по числу активных устройств, но рост замедлился
- 31.01 - Первое в мире судно с захватом CO2 из собственных выхлопов скоро отправится в море
- 31.01 - Apple отчиталась о «лучшем за всю историю квартале» вопреки падению продаж iPhone
- 31.01 - Intel завершила год с убытками в $18,8 млрд — продажи Core и Xeon упали, но руководство верит, что скоро всё наладится
- 31.01 - Российские медиа объявили войну пиратам: число заблокированных ссылок в поисковиках удвоилось за год
Архив новостей
|
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
|
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
|
|
![](/pictures/1x1.gif) |
![](/pictures/1x1.gif) |
|