Реферат: Язык модулей SQL - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Язык модулей SQL

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 485 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Язык модулей SQL 7.1 <Моду ль > () Функция Определяет модуль . Формат ::= [...] < procedure > ... ::= LANGUAGE COBOL | FORTRAN | PASCAL | PLI ::= AUTHORIZATION ::= Синтаксические правила 1. Для каждого <опр еделения курсора > () в <модуле > () должна существовать ровно одна <процедура > () в этом <модуле > (), кот орая содержит <оператор открытия > () со спец ификацией <имени курсора > (), объяв л ен ного в <объявлении курсора > (). 2. <Модуль > () должен быть ассоциирован с прикладной программой при ее выполнения . Прикладная программа должна быть ассоциирована не более чем с одним <модулем > (). Общие правила 1. Если <раздел языка > () <модуля > () специфицирует COBOL (соответственно FORTRAN, PASCAL, PLI) и если агент , выполняющий вызов <процедуры > () этого <модуля > (), не является стандартной программой на языке COBOL (соотве т ственно FORTRAN, Pascal, PL/1), то результат неопределен . 2. После выполнения агентом на языке программирования последнего вызова <процедуры > () в <модуле > () неявно выполняетс я <оператор фиксации > () или <оператор отк ата > (). Выбор одного из этих <опера торов SQL> () определяется реализацией . Если имеет место невосстанавлваемая ошибка , то СУБД должна выполнить <оператор отката > (). 7.2. < Раздел имени модуля > () Функция Задает имя <модуля > (). Формат ::= MODULE [] Синтаксические правила 1. <Имя модуля > () должно отличаться от <имени модуля > () любого другог о <м одуля > () в том же окружении . Понятие окруж ения определяется в реализации . Общие правила 1. <Раздел имени модуля > () определяет необязательный <идентификатор > () как <имя мо дуля > (), определяющее с одержащий <модуль > () в данном окружении . 7.3. <Процедура > () Функция Определяет процедуру и оператор языка SQL. Формат ::= PROCEDURE ...; ; ::= | ::= SQLCODE ::= | < commit statement> | | | | | | | ), результатом которого явилась пустая таблица , то в параметр SQLCODE устанавлива ется значение 100. iv) Если S - <оператор модификации : поисковый > () или <оператор удаления : по и сковый >) () с поиском , для ко торых не нашлись объектные строки для мод ификации или удаления , то в параметр SQLCODE уст анавливается значение 100. v) Во всех остальных с лучаях в параметр SQLCODE устанавливается 0. b) Если S вып олнен неуспешно , то o i) Все изменения , произведенные над базой данных при выполнении S, аннулируются . ii) В параметр SQLCODE устанавливается отрицательное ч исло со значением , определяемым реализацией Язык манипулирова ния данными (data manipulation lang uage) 8.1 <Опер атор закрытия > () Функция Закрыть курсор . Формат ::= CLOSE Синтаксические правила 1. Объемлющий модуль должен содержат ь объявление курсора , в котором используется это же имя к урсора . Общие правила 1. Курсор должен быть в открытом состоянии . 2. Курсор переводится в закрытое состояние и разрушается копия <специ фикации курсора > (). 8.2. <Оператор фикс ации > () Функция Заканчивает текущую транзакцию с фи ксацией . Формат ::= COMMIT WORK Синтаксические правила Нет . Общие правила 1. Текущая транзакция завершается . 2. Закрываются любые курсор ы , открытые данной транзакцией . 3. Любые изменения базы данн ых , сделанные в текущей транзакции , фиксируются . 8.3. <Объявление ку рсора > () Функция Определяет курсор . Формат ::= DECLARE CURSOR FOR ::= [...] ::= | UNION [ALL] ::= | () ::= ORDER BY [ , ...] ::= | [AS C | DESC] Синтаксические правила 1. <Имя курсора > () не должно б ыть идентичным любому другому <имени курсора > (), специфицируемого в каком-либо другом <объ явлении курсора > () того же модуля . 2. Любое <имя парамет ра > (), содержащееся в <спецификации курс ора > (), должно быть определено в <объявлени и параметра > () <процедуры > () объемлющего <мод уля > (), который содержит <оператор открыти я > (), специфицирующий это <имя курсора > (). Замечание : Cм . Синтаксическое правило 7.1, "<модуль > ()". 3. Пусть Т обозначает т аблицу , специфицированную в <спецификации курсора > (). 4. a) Если ук азано ORDER BY, то Т является только читаемой таблицей со специфицированным порядком сортировки . b) Если не указаны ни ORDER BY ни UNION и <спецификация запроса > () является из меняемой (updatable), то Т - изменяемая таблица . c) Ина ч е Т - только читаемая таблица . 5. a) Если не указано UNION, то описанием Т является описание <специфика ции запроса > (). b) Если указано UNION, то пусть для каждого специфицированного UNION Т 1 и Т 2 обозначают таблицы , которые специфи цирован ы в <выражении запроса > () и <терме запро са > (). <Список выборки > () из <раздела from> (). Пусть В обозначает эту именованную таблицу . Для каждой строки в Т существует соответствующая строка в В , из которой получена строка таблицы Т . Ко г да курсор установлен на стр оку таблицы Т , курсор также установлен на соответствующую строку таблицы В . b) В пр отивном случае курсор не ассоциируется с именованной таблицей . 2. a) Если не указано UNION, то Т - это результат указанной <спецификации запрос а > (. b) Если UNION указано , то пу сть для каждого указанного UNION Т 1 и Т 2 об означают результаты <выражения запроса > () и <терма запроса > (). Результат UNION фактически порож дается следующим образом : i) И нициализиров ать результат как пустую таблицу . o ii) Занести в результат каждую строку Т 1 и каждую строку Т 2 iii) Если не указано ALL , то удал ить все излишние дубликаты строк из резул ьтата . 3. a) Если не указано ORDER BY, то : o i) Порядок строк в Т определяется реализацией . ii) Порядок строк может может быть разным в разных транзакциях . iii) Порядок строк Т , у станавливаемый при открытии курсора , будет та ким же при следующем открытии курсора в этой же транзакции при условии , что : 1. Отсутствуют сто ронние изменения каких-либо таблиц , у казанным в спецификации курсора . 2. Упорядоченный набор знач ений параметров , передаваемых в <процедуру > (), содержащую <оператор открытия > (), является о динаковым в обоих случаях. Если эти ус ловия не удовлетворяются , то упорядочение строк в Т может различаться при посл едовательных открытиях курсора в одной транза кции . b) Если ORDER BY указан о , то Т обладает порядком сортировки : o i) Порядок сортировки является последовательностью групп сор тировки . Групп а сортировки - это последовательность строк , в которых все значения столбцов сортировки идентичны . Более того , группа сортировки мож ет быть последовательностью групп сортировки . ii) Мощность последовательности и порядковая пози ция каждой гр у ппы сортировки опре деляется значениями наиболее значащих столбцов сортировки . Мощность последовательности является минимальным числом групп сортировки таких , что для каждой группы сортировки с числом строк больше единицы все значения столбц а сортировки ид е нтичны . iii) Если по рядок сортировки основывается на дополнительных столбцах сортировки , то каждая группа сор тировки с числом строк больше единицы явл яется последовательностью групп сортировки . Мощно сть каждой последовательности и порядковая по зиция кажд о й группы сортировки вн утри каждой последовательности определяется знач ениями следующего наиболее значащего столбца сортировки . Мощность каждой последовательности яв ляется минимальным числом групп сортировки та ких , что для каждой группы с числом ст рок боль ш е единицы все значения этого столбца сортировки идентичны . iv) Предыдущ ий параграф применяется по очереди к кажд ому дополнительному столбцу сортировки . Если группа сортировки состоит из нескольких строк и не является последовательностью групп сортировки, то порядок строк в гру ппе сортировки не определен . v) Пусть С об означает столбец сортировки и S - последовательност ь , которая определяется значениями С . vi) Направ ление сортировки связывается с каждым столбцо м сортировки . Если направление для С задан о п о возрастанию , то первая груп па сортировки S содержит наименьшее значение С и каждая последующая группа сортировки с одержит значение С большее , чем значение С в предшествующей группе сортировки . Если направление для С задано по убыванию , то первая группа с о ртировки S содерж ит наибольшее значение С и каждая последу ющая группа сортировки содержит значения С меньшее , чем значение С в предшествующей группе сортировки . vii) Упорядоченность определяется правилами сравнения , указанными в 5.11 , "<Предикат сравнения "> (). Поряд ок неопределенных значений по отношению к не неопределенным значениям определяется реали зацией , но должен быть либо строго больше либо строго меньше всех не неопределенны х значений . viii) <Спецификац и я сортировк и > () специфицирует столбец сортировки и на правление . Столбец сортировки - это столбец , ука зываемый <целым без знака > () или <спецификац ией столбца > (). <Целое без знака > () i ссылается на i-ый столбец Т . <Специ фикация столбца > () указывает именованный стол бец . ix) Если в <спецификации сортировки > () у казано DESC, то направление сортировки , специфицируемо е этой <спецификацией с ортировки > (), является направлением по убыванию . Если указано А SC или не указано ни ASC, ни DESC, то направление сортировки для этого столбца сортировки является направлением по возраста нию . x) Последовательность <спецификаций сортир о вки > () определяет относительную значимос ть сортируемых столбцов . Столбец сортировки , у казанный в первой <спецификации сортировки > (), наиболее значащий и каждый последующий столбец сортировки является менее значащи м , чем предыдущий столбец сортировки . 8.4. <Оператор удал ения : позиционный > () Функция Удаляет строку таблицы . Формат ::= DELETE FROM
WHERE C URRENT OF Синтаксические правила 1. Применимые <привилегии > () для <име ни таблицы > (
) должны включать DELETE. Замечание : "Применимые <прив илегии > ()" для <имени таблицы > (
) определяются в 6.10 , "<Определение привилегий > (). 2. Содержащий <модуль > () дол жен содержать <объявление курсора > () CR с тем же <именем курсора > (), что и <имя кур сора > () в <операторе удаления : позиционно м > (). 3. Таблица , на которую у казывает CR, не должна быть только читаемой . 4. Пусть Т обозначает т аблицу , идентифицируемую <именем таблицы > (
). Т должна быть таблицей , идентифициру емой в первом <разделе from> () в <спецификации курсора > () CR. Общие правила 1. Курсор CR должен быть установлен на строку . 2. Строка , из которой по лучена текущая строка CR, удаляется . 8.5. <Оператор удал ения : поиско вый > () Функция Удаляет строки таблицы . Формат ::= DELETE FROM
WHERE [] Синтаксические правила 1. Применимые <привилегии > () для <имени таблицы > (
) должны включать DELETE. Замечание : Применимые <привилегии > () для <имени таблицы > (
) опреде ляются в 6.10 , "<определение привилегий > ()". 2. Пусть Т обо знача ет таблицу , идентифицируемую <именем таблицы > (
). Т не должна быть только читаемой таб лицей или таблицей , которая идентифицируется в <разделе from> () любого <подзапроса > (), содержащего ся в <условии поиска > (). 3. Область действия <имени таблицы > (
) - целиком <оператор удаления : поисков ый > (. Общие правила 1. а ) Если не указано <условие поиска > (), то удаляются все строки табли цы Т . б ) Е сли указано <условие пои ска > (), то условие применяется к каждой строке Т с <именем таблицы > (
), связанным с этой строкой , и все строки , для ко торых результат <условия поиска > () есть true, у даляются . Каждый <подзапрос > () в <усл овии поиска > () реально выполняется для каж дой строки T и результаты используются в п рименении <условия поиска > () к данной строк е Т . Если любой выполняемый <подзапрос > () содерж и т внешнюю ссылку на столбе ц Т , то эта ссылка указывает на значен ие этого столбца в данной строке Т . Замечание : "Вне шняя ссылка " определяется в 5.7 , "<спецификация столбца > ()". 8.6. <Оператор чтен ия > () Функция Устанавливает курсор на следующую строку таблицы и выбирает значения из этой строки . Формат ::= FETCH INTO ::= [ , ...] Синтаксические правила 1. Содержащий <модуль > () должен содер жать <объявление курсора > () CR с тем же <им енем курсора > (), что и <имя курсора > () в <операторе чтения > (). Пусть Т обозн ачает таблицу , специфицированную через <спецификац ии курсора > () CR. 2. Число <спецификаций цели > () в <списке целей чтения > () должно быть таким же как степень таблиц ы Т . 3. а ) Если тип данных цели , указанной i-ой <спецификацией цели > () <списка целей чтения > (), является типо м символьных строк , то тип данных i-ого столбца таблицы Т должен быть типом симво льных строк. b) Если тип данных цели , указанной i-ой <спецификацией цели > () <списка целей чтения > (), является типом точных чисел , то тип данных i-ого столбца таблиц ы Т должен быть типом точных чисел . c) Если тип д а нных цели , указанной i-ой <спецификацией цели > () <списка целей чтения > (), является типом приблизительных чи сел , то тип данных i-ого столбца таблицы Т должен быть типом приблизительных чисел или типом точ н ых чисел . Общие правила 1. Курсор CR должен быть в открытом состоянии . 2. Если таблица , указываемая курсором CR, является пустой , или CR позиционирова н на последнюю строку или за ней , то CR устанавливается в позицию после последней строки , параметру SQL CODE присваивается значение 100 и значения не присваиваются целям , идентиф ицированным в <списке целей чтения > (). 3. Если CR установлен в по зицию перед строкой , то CR устанавливается на эту строку и значения этой строки прис ваиваются со ответствующим целям . 4. Если CR установлен на r, где r - это строка , отличная от последней стр оки , то курсор устанавливается на строку , непосредственно следующую за строкой r, и значе ния из строки за r присваиваются соответствующ им целям . 5. Присваивание значений целям в <списке целей чтения > (), кроме параметра SQLCODE, осуществляются в порядке , опреде ляемом реализацией . Параметр SQLCODE получает значение последним . 6. Если в процессе прис ваивания значения цели возникает ошибка , то в параметр SQLCODE устанавливается отрицательное значение , определяемое реализацией , и значения целей , отличных от параметра SQLCODE, зависят о т реализации . 7. Пусть V обозначает цель , а v - соответствующее значение в текущей стро ке CR. 8. Если v - это нео пре деленное значение , то для V должен быть спе цифицирован индикатор , и этот индикатор устан авливается в -1. Если v - не неопределенное значени е , и V обладает индикатором , то : a) Если тип данных V есть тип символьных строк длины L и длина M v больше L, то индикатор получает значение M. b) Иначе значение индикатора устанавливается в 0. 9. Цель , идентифицированная i-той <спецификацией цели > () из <списка целе й чтения > (), соответствует i-ому значению из текущей строк и CR. 10. a) Если тип данных V есть тип символьных строк , и длина v равна длине V, то значением V становится v. b) Если т ип данных V есть тип символьных строк длин ы L, и длина v больше L, то значением V становят ся первые L символов v. c) Если тип данны х V есть тип символьных строк длины L, и длина M v меньше L, то значением первых M символов V становится v, и в последние L-M символов V уст анавливаются символы пробела . d) Если тип данн ых V есть тип точных чисел , то должно с уществовать представление зна ч ения v в типе данных V такое , чтобы не потерялись какие-либо первые значащие цифры , и значение м V становится это представление . e) Если тип данных V есть тип приблизительных чисел , то значением V становится приблизительное значение v. <Оператор встав ки > () Функция Создает новые строки в таблице Формат ::= INSERT INTO
[()] VALUES ()| ::= [ , ...] ::= [ ,...] ::= | NULL Синтаксические правила 1. Применимые <привилегии > (< privileges>) к <имени таблицы > (
) должны включать INSERT. Замечание : Применимые <привилегии > () для <имени таблицы > (
) определя ются в 6.10 , "<определение привилегий > ()". 2. П усть Т обознача ет таблицу , идентифицируемую <именем таблицы > (
). Т не должна быть только читаемой таб лицей или таблицей , которая идентифицируется в <разделе from> () <спецификации запроса > () или какого-либо < п одзапроса > (), содержащегося в <спецификации запроса > (). 3. Каждое <имя столбца > () в <списке столбцов вставки > () должно и дентифицировать столбец Т , и один и тот же столбец не должен быть и дентифи цирован более одного раза . Отсутствие <списка столбцов вставки > () является неявной спец ификацией <списка столбцов вставки > (), который идентифицирует все столбцы Т в порядке возрастания их порядковых позиций в нутри Т . 4. Столбец , идентифицированный в <списке столбцов вставки > (), является объектным столбцом . 5. а ) Если указывается <список вставляемых значений > (), то число <в ставляемых значений > () в этом <списке вставляемых значений > () должно быть равно числу <имен столбцов > () в <списке вставляемых столбцов > (). Пусть i-ый элемент <оператора вставки > () указывает на i-ую <спецификаци ю значения > () в этом <списке вставляемых значений > (). b) Если указывается <сп ецификация запроса > (), то степень таблицы , специфицированной этой <спецификацией запроса > (), должна быть равна числу <им ен столбцов > () в <списке вставляемых столбцо в > (). Пусть i-ый элемент <оператора вставки > () указывает на i-ый столбец таблицы , сп ецифицированной <спецификацией запроса > (). 6. Если i-ый элемент <опер атора вставки > () не является неопределенным <значением вставки > (), то : а ) Если тип данных столбца таблицы Т , указанный i-ым <именем столбца > (), является типом символьн ых строк длины L, то тип данных i-ого эле мента <оператора вставки > () должен быть тип ом символьных строк с длиной меньшей или равной L. b) Если тип данных столбца таблиц ы Т , указанный i-ым <именем столбца > (), явл я е тся типом точных чисел , то т ип данных i-ого элемента <оператора вставки > () должен быть типом точных чисел . c) Есл и тип данных столбца таблицы Т , указанный i-ым <именем столбца > (), является типом пр иблизительных чисел , то т ип данных i-ого элемента <оператора вставки > () должен быть типом приблизительных чисел или типом точных чисел . Общие правила 1. Строка вставляется по следующим шагам : а ) Фактически создается возможная с трока , как это указано в Общих п ра вилах 6.4, "<Раздел умолчания > ()". Если Т - это базовая таблица В , то возможная строка включает каждый столбец В . Если Т - это представляемая таблица , то возможная строка в ключает каждый столбец базовой таблицы В , из которой порождается Т . b) Для ка ждого объектного столбца в возможной строке его значение заменяется на вставляемое з начение . c) Возможная строка вставляется в таб лицу В . 2. Если Т - представляемая таблица , определенная через <определение предст авления > () с "WITH CHECK OPTION", то если <спецификация запроса > (), содержащаяся в <определении пред ставления > (), включает <раздел where> (), не содержа щийся в <подзапросе > (), то <условие поиска > () этого <раздела where> () должно быт ь истинным для возможной строки . 3. Если указывается <список вставляемых значений > (), то : а ) Если i- ое <вставляемое значение > () из <списка вставл яемых знач ений > () является <спецификацией значения > (), то значение столбца возможно й строки , соответствущего i-ому объектному стол бцу , является значением этой <спецификации зна чения > (). b) Если i-ое < в ставляемое значение > () из <списка вставляемых значений > () является неопределенным значением , то значе ние столбца возможной строки , соответствующего i-ому объектному столбцу , является неопределенны м значением . 4. Если ука зывается <спецификация запроса > (), то пусть R обозначает результат этой <спецификации запроса > (). Е сли R пуст , то параметру SQLCODE присваивается значен ие 100, и никакая строка не вставляется . Числ о созданных во з можных строк равно мощности R. Вставляемые значения одной возможн ой строки являются значениями одной строки R, и значения в одной строке R являются вс тавляемыми значениями одной возможной строки . 5. Пусть V обозначает строку R или последовательность значе ний специфи цированных <списком вставляемых значений > (insert value list>). То гда i-ое значение V является вставляемым значени ем объектного столбца , идентифицируемого i-ым <и менем столбца > () в <списке вставляемых столб цов > (). 6. Пусть С обозначает о бъектный столбец . Пусть v обозначает не неопред еленное вставляемое значение С . 7. а ) Если тип данных С есть тип символьных строк и длина v равна длине С , то значение С устанав ливается в v. b) Если тип данных С есть тип символ ьных строк и длина M v меньше L, то первые M символов C устанавливаются в v, и в последние L-M символы C заносится символ пробела . c) Если тип данных С есть тип точных чисел , то должно существовать представ ление значения v в типе данных С такое , чтобы не потерялись никакие первые значащие цифры , и это представление станови тся значением С . d) Если тип данных С е сть тип приблизительных чисел , то значением С становится приблизительное значение v. 8.8. <Оператор откр ытия > () Функция Открыва ет курсор Формат ::= OPEN Синтаксические правила 1. Содержащий <модуль > () должен содер жать <объявление курсора > () CR с тем же <им енем курсора > (), что и <имя курсо ра > () в <операторе открытия > (). Общие правила 1. Курсор CR должен быть в закрытом состоянии . 2. Пусть S обозначает <специф икацию курсора > ( курсора CR. 3. Курсор CR переводится в открытое состояние с ледующими шагами : а ) Фактически создается копия S, в которой каждая <спецификация цели > () заменяется на значение идентифицируемой цели . b) Если S специ фицирует только читаемую таблицу , то эта т аблица фактически создается в соответ с твии со спецификацией - копией S. c) Курсор CR переводится в открытое состояние и его позиция устанавливается перед первой строкой таблицы . 8.9. <Оператор отка та > () Функция Завершает текущую транзакцию с откатом . Формат ::= ROLLBACK WORK Синтаксические правила Нет . Общие правила 1. Любые изменения базы данных , с овершенные в текущей транзакции , аннулируются . 2. Любой курсор , открывавший ся в текущей транзакции , закрывается . 3. Текущая тр анзакция завершается . 8.10. <Оператор выбо рки > ( ::= SELECT [ALL | DISTINCT]
) должны включать SELECT. За мечание : Применимые <привилегии > () для <имени таблицы > (
) определяются в 6.10 , "<определение привилегий > ()". 2. <Выражение , <вырабатывающее таблицу > (
) не должно включ ать <раз дел group by> () или <раздел having> и не должно идентифицировать сгруппированное представление . 3. Число элементов в <сп иске выборки > (). 4. а ) Если тип данных цели , указанной i-ой <спецификацией цели > () в <списке целей выборки > () должен быть типом символьных строк . b) Если тип данных цели , указанной i-ой <спецификацией цели > () в <списке целей выборки > () должен быть типом точных чисел . c) Если тип данных цели , указанной i-ой <спецификацией цели > () в <списке ц елей выб о рки > () должен быть типом приблизительных чисел . 5. Пусть S обозначает <специф икацию запроса > () с теми же <списком выборки > (
), какие указаны в <операторе выборки > (). S должна быть допустимой <спецификацией запро са > (). Общие правила 1. Пусть R обозначает результат <специ фикации запроса > () S. 2. Мощность R не должна б ыть больше единицы . Если R пуст , то па раметру SQLCODE присваивается значение 100 и и значени я не присваиваются целям , идентифицированным в <списке целей выбора > (), кр оме параметра SQLCODE, осуществляются в порядке , опр еделяемом реализацией . Параметр SQLCODE получает значен ие последним . 5. Если в процессе прис ваивания значений целям фиксируется ошиб к а , то в параметр SQLCODE устанавливается отрицатель ное значение , определяемое реализацией , и знач ения целей , отличных от параметра SQLCODE, зависят от реализации . 6. Цель , идентифицированная i-той <спецификацией цели > () из <списка целей выборки > (
SET [ , ...] WHERE CURRENT OF ::= = | NULL ::= Синтаксические правила 1. "Применимые <привилегии > ()" к <им ени таблицы > (
) должны включать привилегию UPDATE для каждого <объектного столбца : позиционного > (). Замечание : "Применимы е <привилегии > ()" для <име ни таблицы > (
) определяются в 6.10 , "<определение привилегий > ()". 2. Содержащий <модуль > () дол жен содержать <объявление курсора > () CR с тем же <именем курсора > (), что и <имя курсора > () в <операторе модификации : позиционн ом > (). 3. Таблица , на которую у казывает CR, не должна быть только читаемой . 4. Пусть Т обозначает т аблицу , ид ентифицируемую <именем таблицы > (
). Т должна быть таблицей , идентифицированной в первом <разделе from> () <спецификации курсора > () CR. 5. <Выражение , вырабатывающее значение > () в <разделе установки : поз иционной > () не должно включать <спецификацию функции над множеством > (). 6. Каждое <имя столбца > (), специфицированное как <объектный столбец : поз иционный > (), должно идентифицировать сто лбец T. Один <объектный столбец : позиционный > () не должен появляться более одного раз а в <операторе модификации : позиционном > (). 7. Область действия <имени т аблицы > (
) - целиком весь оператор <мод ификации : позиционный > (). 8. Для каждого <раздела установки : позиционного > (): а ) Если специфици ровано неопределенное значение , то для столбц а , указ анного <объектным столбцом : позицион ным > (), должно до пускаться неопределенное значение . b) Если тип данных столбца , указан ного <объектным столбцом : позиционным > (), явля ется типом символьных строк д л ины L, то тип данных <выражения , вырабатывающего значение > () должен быть типом символьных строк с длиной , меньшей или равной L. c) Е сли тип данных столбца , указанного <объектным столбцом : позиционным > (), явл я ет ся типом точных чисел , то тип данных <в ыражения , вырабатывающего значение > () должен бы ть типом точных чисел . d) Если тип данных столбца , указанного <объектным столбцом : позиц ионным > (), является типом прибл и з ительных чисел , то тип данных <выражения , в ырабатывающего значение > () должен быть типом приблизительных чисел или типом точных чис ел . Общие правила 1. Курсор CR должен быть установлен на строку . 2. Объектная строка являетс я такой стр окой , из которой порождена текущая строка CR. 3. Объектная строка модифиц ируется согласно спецификации каждого <раздела установки : позиционной > (). <Раздел установки : позиционной > () специфицирует объектный с толбец и значение модификации этого столбца . Объектный столбец - это столбец , идентифициров анный <объектным столбцом : позиционным > () в <разделе установки : позиционной > (). Значение модификации может быт ь неопределенны м значением или значением , специфицируемым <вы ражением , вырабатывающим значения > (). Если <выра жение , вырабатывающее значение > () содержит ссыл ку к столбцу Т , то эта ссылка указывае т на значение этого стол б ца в объектной строке до модификации любого з начения объектной строки . 4. Объектная строка модифиц ируется по следующим шагам : а ) Создается возможная строка , которая является копией объ ектной строки . b) Для каждого <раздела установк и : позиционной > () значение указанного объектного столбца в возможной строке заменя ется на специфицированное значение модификации . c) Объектная строка заменяется на возможную строку . 5. Если Т - это представл яемая таблица , определенная через <определени е представления > () с "WITH CHECK OPTION", то если < спецификация запроса > (), содержащееся в <опреде лении представления > (), включает <раздел where> (), не содержащийся в <подзапросе > (< s ubquery>), то <условие поиска > () этого <раздела where> () д олжно быть true для возможной строки . 6. Пусть С обозначает о бъектный столбец . Пусть v обозначает не неопред еленное значение модификации С . 7. a) Если тип данных C есть тип символьных строк , и длина v равна длине C, то значением C становится v. b) Если тип данных C есть тип символьных стро к длины L, и длина M v меньше L, то значением первых M символов C становится v, и в последние L-M символов C устанавливается с имвол п робела . c) Если тип данных C есть тип точных чисел , то должно существовать представление значения v в типе данных C такое , чтобы не потерялись никакие первые значащие цифры , и значением C становится это представление . d) Если тип данных C есть ти п п риблизительных чисел , то значением C становится приблизительное значение v. 8.12 <Оператор моди фикации : поисковый > () Функция Модифицирует строки таблицы . Формат ::= UPDATE
SET [ , ...] [WHERE ] ::= = | NULL ::= Синтаксические правила 1. "Применимые <привилегии > ()" для < имени таблицы > (
) должны включать UPDATE для каждо го <имени столбца : поискового > (). Замечание : Примени мые <привилегии > () для <имени таблицы > (
) опр еделяются в 6.10 , "<определение привилегий > ()". 2. Пусть Т обозначает т аблицу , идентифицируемую <и менем таблицы > (
). Т не должна быть только читаемой таб лицей или таблицей , которая идентифицируется в <разделе from> () любого <подзапроса > (), содержащего ся в <условии поиска > (). 3. <Выражение , выраба т ывающее значение > () в <разделе установки : по исковой > () не должно включать <спецификацию функции над множеством > (). 4. Каждое <имя столбца > (), специфицированное как <объе ктный столбец : поисковый > (), должно идентифицировать столбе ц T. Один <объектный столбец : поисковый > () н е должен появляться более одного раза в <операторе модификации : поисковом > (). 5. Область действия <имени таблицы > (
) - целиком <оператор модификации : поис ковый > (. 6. Для каждого <раздела установки : поискового > (): а ) Если специфициров ано неопределенное значение, то для стол бца , указанного <объектным столбцом : поисковым > (), должно допускаться неопределенное значение . b) Если тип данных столбца , указанного <объек тным столбцом : поисковым > (), является типом символ ь ных строк длины L, то тип данных <выражения , вырабатывающего значение > () должен быть типом символьных строк с длиной меньшей или равной L. c) Если тип данных столбца , указанного <объектным столбцом : поисковым > ( ), является типом т очных чисел , то тип данных <выражения , выра батывающего значение > () должен быть типом точных чисел . d) Если тип данных столбца , у казанного <объектным столбцом : поисковым > (), я вляется типом пр и близительных чисел , то тип данных <выражения , вырабатывающего значение > () должен быть типом приблизительн ых чисел или типом точных чисел . Общие правила 1. а ) Если не специфицировано <у словие поиска > (), то все строки Т являются объектными строками . b) Если условие поиска специфицировано , то это условие примен яется к каждой строке Т с <именем табл ицы > (
), связанным с этой строкой , и объек тными строками являются все строки , для ко торых результат <условия п о иска > () есть true. Каждый <подзапрос > () в <условии п оиска > () фактически выполняется для каждой строки T, и результат используется при приме нении <условия поиска > () к данной строке Т . Если какой-либо выполняемый <подза прос > () содержит внешнюю ссылку на столец Т , то она указывает на значение этого столбца в данной строке Т . Замечание : "Внешняя ссылка " определяется в 5.7 , ". 2. Каждая объек тная строка модифицируется согласно спецификации кажд ого <раздела установки : поисковой > (). <Раздел установки : поисковой > () специфицирует объектный столбец и значение модификации этого сто лбца . Объектный столбе ц - это столбец , идентифицированный <объектным столбцом : поисковым > (). Значение модификации может быть неоп ределенным значением или значением , специфицируем ым <выражением , вырабатывающим значения > (). Если <выраж е ние , вырабатывающее значение > () содержит ссылку к столбцу Т , то эт а ссылка указывает на значение этого стол бца в объектной строке до модификации люб ого значения объектной строки . 3. Объектная строка модифиц ируется по следующим шагам : а ) Создаетс я возможная строка , которая является копией объектной строки . b) Для каждого <раздела ус тановки : поисковой > () значение указанного объе ктного столбца в возможной строке заменяется на специфицированное значение модификации. c) Объектная строка заменяется на возможную строку . 4. Если Т - это представл яемая таблица , определенная через <определение представления > () с "WITH CHECK OPTION", то если <спецификаци я запроса > (), содержащееся в <о пределен ии представления > (), включает <раздел where> (), не содержащийся в <подзапросе > (), то <условие поиска > () этого <раздела where> () должно быть true для возможной строки . 5. Пусть С обозначает о бъектный столбец . Пусть v обозначает не неопред еленное значение модификации С . a) Если тип данных C есть тип символьных строк , и дли на v равна длине C, то значением C становится v. b) Если тип данных C есть тип символьных с трок длины L, и длина M v меньше L, то знач ением первых M символов C становится v, и в по следние L-M символов C устанавливается символ пробела . c) Если тип данных C есть тип точных ч исел , то должно существовать представление зн ачения v в типе данных C такое , чтобы не потерялись никакие первые значащие цифры , и значением C становится это представ ление . d) Если тип данных C есть тип приблиз ительных чисел , то значением C становится прибл изительное значение v. Уровни Этот стандарт специфицирует два уровня и отдельные ср едства поддержания целостности данных . Средства поддержания целостности данных о бразуют следующие синтаксические конструкции вме сте с Синтаксическими правилами и Общими правилами : 1. <Раздел умолчаний > () 2. все опции <ограничения на с толбец > (), отличные от NOT NULL и NOT NULL UNIQUE 3. все опции <определения ограничения на таблицу > (
), кроме опции UNIQUE <список столбцов уникальности > (UNIQUE ()). 4. <действие > REFE RENCES <списо к столбцов передачи > ( REFERENCES [ ()]) Уровень 2 - это п олный язык базы данных SQL, не включающий сре дства улучшения целостности данных . Уровень 1 - это подмножество уровня 2, которое подчиняется следующим дополни тельным правилам . 1. 4.16 , "Транзакции ": а ) Первое предл ожение параграфа 1 заменяется следующим : Транзакц ия - это последовательность операций , включающая операции над базой данных , которые являются атомарными по отношению к восстано вл ению . b) Параграф 2 удаляется . c) Второе предложение параграфа 3 удаляется . 2. 5.3 , "Лексемы (): <Идентификатор > () не должен состоять более чем из 12 символов . 3. 5.4 , "Имена ": <Имя таблицы > (< table name>) не должно содержать <идентификатор полномочий > (). 4. 5.6 , "<Спецификация значения > () и <спецификация цели > ()": а ) <Спецификация значен ия > () не должна содержать USER. b) <Специфи кация параметра > () не должна специфицировать <парамететр-индикатор > (). c) <Спецификация переменно й > () не должна специфицировать <пере м енную-индикатор > (). 5. 5.7 , "<Спецификация столбца > ()" : К синтаксическому правилу 4 добавляется следующее : o <Спецификаци я столбца > () не должна быть внешней с сылкой . 6. 5.8 , "<Спецификация функции над множе ством > ()" 5.24 , <Подзапрос > (), и 5.25 , (): o <Функция надо всеми элемента ми множества > (), < подзапрос > () и <спецификация запроса () не должны содержать ALL. Замеча ние : на уровне 1 сохранение дуб ликатов специфицируется отсутствием DISTINCT. 7. 5.8 , "<Специфик ация функций над множеством > ()": o <Функция над различными элементами множества > () не должны включать AVG, MAX, MIN или SUM. 8. 5.11 , "<Предикат сравнения > ()" : <Оператор сравнения > () не должен включать "<>". Замечание : на уровне 1 сравнение в форме "A <> B" выражается через эквивалент "NOT A=B". 9. 5.14 , "<предикат like> (): а ) <Предикат like> () не должен специфицировать ESCAPE <символ escape> (). b) <Предикат like> () не должен специфициров ать NOT. Замечание : на уровне 1 <предикат like> (), содержащий NOT, может быть выражен в эквивален тной фо рме <условия поиска > (): "NOT ". 10. 5.17 , "<предикат exists> ()": o <Предикат > () не должен специфицировать <предикат exists> (). 11. 5.22 , "<раздел group by>" ()": Следующее пред ложение добавляется к Общему правилу 2: o Группирование строк , в которых значения одного или нескольких столбцов группировки являются неопред еленными , определяется в реализации . 12. 5.25 , "<Спецификация запроса > ()": С интаксическое правило 11 заменяется на следующее : o Распознавание того , является ли <спецификация запроса > () изменяемой или только читаемой , определяетс я в реализации . 13. 6.1 , "<Схема > ()": <Схема > () не должна специфицироваться . Уровень 1 реализации должен обеспечивать некоторый механизм связи <идентифи катора полномочий > () с <определением т аблицы > (
), <определением представления > () или <определением привилегий > (). 14. 6.2 , "<Определение таблицы > (
)": <Опреде ление таблицы > (
) не должно содержать <определение ог pаничения уникальности > (). Ур овень реализации 1 должен обеспечивать некоторый механизм спецификации ограничения таблицы , связ анного с уникальностью . 15. 6.3 , "<Определение ст олбцов > (): а ) <Тип данных > () в <определении столбца > () не должен включать REAL, DOUBLE, PRECISION и NUMERIC. b) <Определе ние столбца > () столбца не должно специфици ровать NOT NULL. c ) <Определение столбца > () столбца не должно специфицировать UNIQUE. 16. 6.9 , "<Определение представления > (): < Определение представления > () не должно содержа ть WITH CHECK OPTION. 17. 6.10 , "<Определение привилегий > ()" : <Определение привилегий > () не должно содерж ать WITH GRANT OPTION. 18. 7.3 , "<Процедура > (): а ) Cинтаксическое правило 8 (a) (2) заменяется на следующее : Любо й <тип данных > () в <объявлении параметра > () должен специфицировать тип CHARACTER. b) В общем правиле 3 случай (a) каждое вхождение числа "100" з аменяется на слова "положительное числ о со значением , определяемым реализацией " c) Об щее правило 3 (b) (1) заменяется на следующее : В реализации определяется , аннулируются ли при выполнении S изменения , произведенные в базе данных . 19. 8.3 , "<Объявление курсора > ()": а ) <Спецификация сортировки > () не должна со держать <целых без знака > (). b) <Спецификация сортировки > () не должна содержать ASC. Замечание : на уро вне 1 порядок по возрастанию спе цифицирует ся отсутствием опции DESC. c) <Выражение запроса > () не должно содержать UNION. За мечание : на уровне 1 функция объединения не поддерживается . 20. 8.7 , "<Оператор вставки > () : <Оператор вс тавки > () не должен содержать <сп ецификацию запроса > (). 21. 8.11 , "<Оператор модификации : позиционн ый > ()" и <оператор удаления : поизиционный > (): <Оператор SQL> () не должен специфи цировать <оператор модификации : позиционный > () или <оператор удаления : позиционный > ().
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Буквально неделю назад, ловля несуществующего зверька однозначно диагностировалось как белая горячка…
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Язык модулей SQL", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru