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

Реферат

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

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

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

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 485 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

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

Язык модулей 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 - 2016
Рейтинг@Mail.ru