Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Базы данных -> SQL -> Язык баз данных SQL со средствами поддержания целостности


9. Уровни

Этот стандарт специфицирует два уровня и отдельные средства поддержания целостности данных.

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

  1. <Раздел умолчаний> (<default clause>)
  2. все опции <ограничения на столбец> (<column constraint>), отличные от NOT NULL и NOT NULL UNIQUE
  3. все опции <определения ограничения на таблицу> (<table constraint definition>), кроме опции UNIQUE <список столбцов уникальности> (UNIQUE (<unique column list>)).
  4. <действие> REFERENCES <список столбцов передачи> (<action> REFERENCES [ (<grant column list>)])

Уровень 2 - это полный язык базы данных SQL, не включающий средства улучшения целостности данных. Уровень 1 - это подмножество уровня 2, которое подчиняется следующим дополнительным правилам.

  1. 4.16, "Транзакции":
    а) Первое предложение параграфа 1 заменяется следующим:
    Транзакция - это последовательность операций, включающая операции над базой данных, которые являются атомарными по отношению к восстановлению.
    b) Параграф 2 удаляется.
    c) Второе предложение параграфа 3 удаляется.
  2. 5.3, "Лексемы (<token>):
    <Идентификатор> (<identifier>) не должен состоять более чем из 12 символов.
  3. 5.4, "Имена":
    <Имя таблицы> (<table name>) не должно содержать <идентификатор полномочий> (<authorization identifier>).
  4. 5.6, "<Спецификация значения> (<value specification>) и <спецификация цели> (<target specification>)":
    а) <Спецификация значения> (<value specification>) не должна содержать USER.
    b) <Спецификация параметра> (<parameter specification>) не должна специфицировать <парамететр-индикатор> (<indicator parameter>).
    c) <Спецификация переменной> (<variable specification>) не должна специфицировать <переменную-индикатор> (<indicator variable>).
  5. 5.7, "<Спецификация столбца> (<column specification>)" :
    К синтаксическому правилу 4 добавляется следующее:
      <Спецификация столбца> (<column specification>) не должна быть внешней ссылкой.
  6. 5.8, "<Спецификация функции над множеством> (<set function specification>)" 5.24, <Подзапрос> (<subquery>), и 5.25, <Cпецификация запроса> (<query specification>):
      <Функция надо всеми элементами множества> (<all set function>), <подзапрос> (<subquery>) и <спецификация запроса (<query specification>) не должны содержать ALL.

    Замечание: на уровне 1 сохранение дубликатов специфицируется отсутствием DISTINCT.
  7. 5.8, "<Спецификация функций над множеством> (<set function specification>)":
      <Функция над различными элементами множества> (<distinct set function>) не должны включать AVG, MAX, MIN или SUM.
  8. 5.11, "<Предикат сравнения> (<comaprison predicate>)" : <Оператор сравнения> (<comp op>) не должен включать "<>". Замечание: на уровне 1 сравнение в форме "A <> B" выражается через эквивалент "NOT A=B".
  9. 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>".
  10. 5.17, "<предикат exists> (<exists predicate>)":
      <Предикат> (<predicate>) не должен специфицировать <предикат exists> (<exists predicate>).
  11. 5.22, "<раздел group by>" (<group by clause>)":
    Следующее предложение добавляется к Общему правилу 2:
      Группирование строк, в которых значения одного или нескольких столбцов группировки являются неопределенными, определяется в реализации.
  12. 5.25, "<Спецификация запроса> (<query specification>)":
    Синтаксическое правило 11 заменяется на следующее:
      Распознавание того, является ли <спецификация запроса> (<query specification>) изменяемой или только читаемой, определяется в реализации.
  13. 6.1, "<Схема> (<schema>)":
    <Схема> (<schema>) не должна специфицироваться.
    Уровень 1 реализации должен обеспечивать некоторый механизм связи <идентификатора полномочий> (<authorization identifier>) с <определением таблицы> (<table definition>), <определением представления> (<view definition>) или <определением привилегий> (<privileges definition>).
  14. 6.2, "<Определение таблицы> (<table definition>)":
    <Определение таблицы> (<table definition>) не должно содержать <определение огpаничения уникальности> (<unique constraint definition>). Уровень реализации 1 должен обеспечивать некоторый механизм спецификации ограничения таблицы, связанного с уникальностью.
  15. 6.3, "<Определение столбцов> (<column definition>):
    а) <Тип данных> (<data type>) в <определении столбца> (<column definition>) не должен включать REAL, DOUBLE, PRECISION и NUMERIC.
    b) <Определение столбца> (<column definition>) столбца не должно специфицировать NOT NULL.
    c) <Определение столбца> (<column definition>) столбца не должно специфицировать UNIQUE.
  16. 6.9, "<Определение представления> (<view definition>):
    <Определение представления> (<view definition>) не должно содержать WITH CHECK OPTION.
  17. 6.10, "<Определение привилегий> (<privilege definition>)" :
    <Определение привилегий> (<privileges definition>) не должно содержать WITH GRANT OPTION.
  18. 7.3, "<Процедура> (<procedure>):
    а) Cинтаксическое правило 8 (a) (2) заменяется на следующее:
    Любой <тип данных> (<data type>) в <объявлении параметра> (<parameter declaration>) должен специфицировать тип CHARACTER.
    b) В общем правиле 3 случай (a) каждое вхождение числа "100" заменяется на слова "положительное число со значением, определяемым реализацией"
    c) Общее правило 3 (b) (1) заменяется на следующее:
    В реализации определяется, аннулируются ли при выполнении S изменения, произведенные в базе данных.
  19. 8.3, "<Объявление курсора> (<declare cursor>)":
    а) <Спецификация сортировки> (<sort specification>) не должна содержать <целых без знака> (<unsigned integer>).
    b) <Спецификация сортировки> (<sort specification>) не должна содержать ASC.
    Замечание: на уровне 1 порядок по возрастанию специфицируется отсутствием опции DESC.
    c) <Выражение запроса> (<query expression>) не должно содержать UNION.
    Замечание: на уровне 1 функция объединения не поддерживается.
  20. 8.7, "<Оператор вставки> (<insert statement>) :
    <Оператор вставки> (<insert statement>) не должен содержать <спецификацию запроса> (<query specification>).
  21. 8.11, "<Оператор модификации: позиционный> (<update statement: positioned>)" и <оператор удаления: поизиционный> (<delete statement: positioned>):
    <Оператор SQL> (<SQL statement>) не должен специфицировать <оператор модификации: позиционный> (<update statement: positioned>) или <оператор удаления: позиционный> (<delete statement: positioned>).

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



 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.