Язык SQL определяет:
По своему логическому назначению операторы языка SQL часто разбиваются на следующие группы:
SELECT - извлечение данных из одной или нескольких таблиц; INSERT - добавление строк в таблицу; DELETE - удаление строк из таблицы; UPDATE - изменение значений полей в таблице SELECT A,B,C, FROM X,Y WHERE A<500 AND C='
| |
|---|---|
| validate | Проверка привилегий пользователя,проверка действительности имен системных каталогов, таблиц и названий полей |
| access plan | Генерация плана доступа к ресурсам. План доступа - это |
| Оптимизация плана доступа. Для увеличения скорости поиска данных могут применяться индексы. Оптимизация использования взаимосвязанных таблиц | |
| execute | Выполнение оператора |
Перед тем как перейти к более подробному изучению операторов языка SQL, рассмотрим возможный сценарий работы пользователя с СУБД.
Первым шагом в любом случае следует выполнить подключение к СУБД. Например, CONNECT TO MyDB1 USER User1/Password1;.
Фраза TO специфицирует источник данных, с которым устанавливается соединение. Фраза USER определяет имя и пароль пользователя, который будет работать с базой данных.
Операторы и функции языка SQL не
Перед началом работы с данными должны быть выполнены следующие действия:
CREATE [ [ { GLOBAL | LOCAL } ] TEMPORARY]
TABLE имя_таблицы
( { column | [table_constraint] } . , ..
[ ON COMMIT { DELETE | PRESERVE} ROWS ] );
column определяется как
имя_поля {domain | datatype [size]}
[column_constraint:]
[ DEFAULT default_value ]
[ COLLATE collate_value ]
Фразы GLOBAL или LOCAL указывают на создание временной таблицы.
Фраза ON COMMIT может быть указана только для временных таблиц. По умолчанию для временных таблиц подразумевается фраза ON COMMIT DELETE ROWS.
После имени таблицы в круглых скобках через запятую указывается список полей (называемых также столбцами) и ограничений. Каждое поле имеет имя и тип (integer, char (число_символов), varchar (число_символов), int, , float, date.
Фраза DEFAULT определяет значение по умолчанию. Это значение имеет более высокий приоритет, чем значение по умолчанию, указанное в домене (если вместо типа данных используется домен).
Ограничения для таблицы ( table_constraint ) и ограничения для столбца ( column_constraint ), называемые также
Ограничения для столбца указываются непосредственно после описания столбца, а ограничения для таблицы - через запятую после описания любого столбца.
В стандарте SQL92 ограничения должны иметь имена, которые генерируются СУБД. В наиболее продвинутых БД, в частности Oracle, доступ к ограничениям возможен посредством служебных таблиц словаря базы данных и дополнительного набора команд языка SQL.
Ограничения для столбца могут указываться следующими фразами:
NOT NULL - в любой добавляемой или изменяемой строке столбец всегда должен иметь значение, отличное от NULL UNIQUE - все значения столбца должны быть уникальны PRIMARY KEY - устанавливает один столбец как первичный ключ и одновременно подразумевает, что все значения столбца будут уникальны CHECK ( condition ) - указываемое в скобках условие использует для сравнения значение столбца и возвращает TRUE, FALSE или UNKNOWN. Если при попытке выполнения SQL-оператора возвращаемое значение равно FALSE, то оператор выполнен не будет REFERENCES table ( fields_list ) - ограничение требует совпадения значений столбцов данной таблицы с указанными столбцами Ограничения для таблицы могут указываться следующими фразами:
CHECK ( condition ) - указываемое в скобках условие использует для сравнения значение столбца и возвращает TRUE, FALSE или UNKNOWN. Если при попытке выполнения SQL-оператора возвращаемое значение равно FALSE, то оператор выполнен не будет. FOREIGN KEY ( fields_list ) - это ограничение по внешнему ключу аналогично ограничению REFERENCES для столбцов и гарантирует, что все значения, указанные во внешнем ключе, будут соответствовать значениям Стандарт SQL92 позволяет устанавливать режим контроля ограничений как перед выполнением каждого SQL-оператора, так и в конце текущей транзакции. В последнем случае допускается нарушение ограничения целостности внутри транзакции. Этот режим очень полезен для внесения данных в таблицы, связанные ограничением .
Объявление ограничений имеет в стандарте SQL92 следующее формальное описание:
table_constraint определяется как
[ CONSTRAINT constraint_name ]
{ PRIMARY KEY (имя_поля .,:) }
| { UNIQUE (имя_поля .,:) }
| { FOREIGN KEY (имя_поля .,:) }
{ REFERENCES имя_таблицы [(имя_поля .,:)]
[ref_specification] }
| { CHECK (condition) }
[[ NOT ] DEFFERABLE ]
column_constraint определяется как
[ CONSTRAINT constraint_name ]
{ NOT NULL } | { PRIMARY KEY } | UNIQUE
| { REFERENCES имя_таблицы [(имя_поля .,:) ]
[ref_specification]}
| { CHECK (condition) }
| [ INITIALLY DEFFERED | INITIALLY IMMEDIATE ]
[[ NOT ] DEFFERABLE ]
ref_specification определяется как
[ MATCH {FULL | PARTIAL } ]
[ ON UPDATE
{ CASCADE | SET NULL | SET DEFAULT |
NO ACTION } ]
[ ON DELETE
{ CASCADE | SET NULL | SET DEFAULT |
NO ACTION } ]
Ссылочная спецификация ( ref_specification ) определяет для ограничений и тип совпадения и действия, выполняемые при внесении изменений в родительский ключ. Совпадение может быть определено как MATCH FULL (полное совпадение) или MATCH PARTIAL (частичное совпадение).
При полном совпадении значения родительского и внешнего ключей должны полностью совпадать, или все значения NULL.
При частичном совпадении некоторые значения NULL и значения каждой строки NULL, должны совпадать со значениями
Если тип совпадения не указан, то предполагается что любое значение NULL (частично или полностью).
Рассмотрим таблицу tbl1, для которой определен родительский ключ как столбцы f2 и f3, и таблицу tbl2 с внешним ключом по столбцам c1 и c2. Если таблицы tbl1 tbl2 имеют следующие значения:
| tbl1 | tbl2 | |||||
|---|---|---|---|---|---|---|
| f1 | f2 | f3 | c0 | c1 | c2 | c3 |
| 1 | 11 | 100 | 1 | NULL | NULL | ff |
| 2 | 12 | 200 | 2 | 11 | NULL | gg |
| 3 | 13 | 300 | 3 | 11 | 100 | hh |
| 4 | 13 | 300 | 4 | NULL | 200 | ii |
то при указании фразы MATCH FULL ограничение NULL, а третья - MATCH PARTIAL ограничение NULL, третью - как уникально совпадающую).
Действия, выполняемые при внесении ограничений в родительский ключ, могут быть указаны фразами ON UPDATE и ON DELETE.
Фразы ON UPDATE и ON DELETE могут иметь одну из следующих опций:
CASCADE - MATCH PARTIAL - только на уникально совпадающие строки) SET NULL - значения NULL по следующим правилам: для MATCH FULL - заменяются все значения MATCH PARTIAL - в уникально совпадающих строках заменяются значения только тех столбцов, значения которых в SET DEFAULT - значения SET NULL , но при типе соответствия MATCH FULL заменяются значения только тех столбцов NULL NO ACTION - никаких действий во внешнем ключе не выполняется, допускаются только изменения
Фраза DEFFERABLE в ссылочной спецификации указывает отсроченную проверку ограничения до конца транзакции. Фраза NOT DEFFERABLE определяет, что контроль , и .
Режим проверки ограничения - сразу или с отсрочкой - устанавливается в начале каждого сеанса, а затем он может быть изменен SQL-оператором SET CONSTRAINTS MODE или локально фразами DEFFERABLE и NOT DEFFERABLE.
Язык SQL определяет:
По своему логическому назначению операторы языка SQL часто разбиваются на следующие группы:
SELECT - извлечение данных из одной или нескольких таблиц; INSERT - добавление строк в таблицу; DELETE - удаление строк из таблицы; UPDATE - изменение значений полей в таблице SELECT A,B,C, FROM X,Y WHERE A<500 AND C='
| |
|---|---|
| validate | Проверка привилегий пользователя,проверка действительности имен системных каталогов, таблиц и названий полей |
| access plan | Генерация плана доступа к ресурсам. План доступа - это |
| Оптимизация плана доступа. Для увеличения скорости поиска данных могут применяться индексы. Оптимизация использования взаимосвязанных таблиц | |
| execute | Выполнение оператора |
Перед тем как перейти к более подробному изучению операторов языка SQL, рассмотрим возможный сценарий работы пользователя с СУБД.
Первым шагом в любом случае следует выполнить подключение к СУБД. Например, CONNECT TO MyDB1 USER User1/Password1;.
Фраза TO специфицирует источник данных, с которым устанавливается соединение. Фраза USER определяет имя и пароль пользователя, который будет работать с базой данных.
Операторы и функции языка SQL не
Перед началом работы с данными должны быть выполнены следующие действия:
CREATE [ [ { GLOBAL | LOCAL } ] TEMPORARY]
TABLE имя_таблицы
( { column | [table_constraint] } . , ..
[ ON COMMIT { DELETE | PRESERVE} ROWS ] );
column определяется как
имя_поля {domain | datatype [size]}
[column_constraint:]
[ DEFAULT default_value ]
[ COLLATE collate_value ]
Фразы GLOBAL или LOCAL указывают на создание временной таблицы.
Фраза ON COMMIT может быть указана только для временных таблиц. По умолчанию для временных таблиц подразумевается фраза ON COMMIT DELETE ROWS.
После имени таблицы в круглых скобках через запятую указывается список полей (называемых также столбцами) и ограничений. Каждое поле имеет имя и тип (integer, char (число_символов), varchar (число_символов), int, , float, date.
Фраза DEFAULT определяет значение по умолчанию. Это значение имеет более высокий приоритет, чем значение по умолчанию, указанное в домене (если вместо типа данных используется домен).
Ограничения для таблицы ( table_constraint ) и ограничения для столбца ( column_constraint ), называемые также
Ограничения для столбца указываются непосредственно после описания столбца, а ограничения для таблицы - через запятую после описания любого столбца.
В стандарте SQL92 ограничения должны иметь имена, которые генерируются СУБД. В наиболее продвинутых БД, в частности Oracle, доступ к ограничениям возможен посредством служебных таблиц словаря базы данных и дополнительного набора команд языка SQL.
Ограничения для столбца могут указываться следующими фразами:
NOT NULL - в любой добавляемой или изменяемой строке столбец всегда должен иметь значение, отличное от NULL UNIQUE - все значения столбца должны быть уникальны PRIMARY KEY - устанавливает один столбец как первичный ключ и одновременно подразумевает, что все значения столбца будут уникальны CHECK ( condition ) - указываемое в скобках условие использует для сравнения значение столбца и возвращает TRUE, FALSE или UNKNOWN. Если при попытке выполнения SQL-оператора возвращаемое значение равно FALSE, то оператор выполнен не будет REFERENCES table ( fields_list ) - ограничение требует совпадения значений столбцов данной таблицы с указанными столбцами Ограничения для таблицы могут указываться следующими фразами:
CHECK ( condition ) - указываемое в скобках условие использует для сравнения значение столбца и возвращает TRUE, FALSE или UNKNOWN. Если при попытке выполнения SQL-оператора возвращаемое значение равно FALSE, то оператор выполнен не будет. FOREIGN KEY ( fields_list ) - это ограничение по внешнему ключу аналогично ограничению REFERENCES для столбцов и гарантирует, что все значения, указанные во внешнем ключе, будут соответствовать значениям Стандарт SQL92 позволяет устанавливать режим контроля ограничений как перед выполнением каждого SQL-оператора, так и в конце текущей транзакции. В последнем случае допускается нарушение ограничения целостности внутри транзакции. Этот режим очень полезен для внесения данных в таблицы, связанные ограничением .
Объявление ограничений имеет в стандарте SQL92 следующее формальное описание:
table_constraint определяется как
[ CONSTRAINT constraint_name ]
{ PRIMARY KEY (имя_поля .,:) }
| { UNIQUE (имя_поля .,:) }
| { FOREIGN KEY (имя_поля .,:) }
{ REFERENCES имя_таблицы [(имя_поля .,:)]
[ref_specification] }
| { CHECK (condition) }
[[ NOT ] DEFFERABLE ]
column_constraint определяется как
[ CONSTRAINT constraint_name ]
{ NOT NULL } | { PRIMARY KEY } | UNIQUE
| { REFERENCES имя_таблицы [(имя_поля .,:) ]
[ref_specification]}
| { CHECK (condition) }
| [ INITIALLY DEFFERED | INITIALLY IMMEDIATE ]
[[ NOT ] DEFFERABLE ]
ref_specification определяется как
[ MATCH {FULL | PARTIAL } ]
[ ON UPDATE
{ CASCADE | SET NULL | SET DEFAULT |
NO ACTION } ]
[ ON DELETE
{ CASCADE | SET NULL | SET DEFAULT |
NO ACTION } ]
Ссылочная спецификация ( ref_specification ) определяет для ограничений и тип совпадения и действия, выполняемые при внесении изменений в родительский ключ. Совпадение может быть определено как MATCH FULL (полное совпадение) или MATCH PARTIAL (частичное совпадение).
При полном совпадении значения родительского и внешнего ключей должны полностью совпадать, или все значения NULL.
При частичном совпадении некоторые значения NULL и значения каждой строки NULL, должны совпадать со значениями
Если тип совпадения не указан, то предполагается что любое значение NULL (частично или полностью).
Рассмотрим таблицу tbl1, для которой определен родительский ключ как столбцы f2 и f3, и таблицу tbl2 с внешним ключом по столбцам c1 и c2. Если таблицы tbl1 tbl2 имеют следующие значения:
| tbl1 | tbl2 | |||||
|---|---|---|---|---|---|---|
| f1 | f2 | f3 | c0 | c1 | c2 | c3 |
| 1 | 11 | 100 | 1 | NULL | NULL | ff |
| 2 | 12 | 200 | 2 | 11 | NULL | gg |
| 3 | 13 | 300 | 3 | 11 | 100 | hh |
| 4 | 13 | 300 | 4 | NULL | 200 | ii |
то при указании фразы MATCH FULL ограничение NULL, а третья - MATCH PARTIAL ограничение NULL, третью - как уникально совпадающую).
Действия, выполняемые при внесении ограничений в родительский ключ, могут быть указаны фразами ON UPDATE и ON DELETE.
Фразы ON UPDATE и ON DELETE могут иметь одну из следующих опций:
CASCADE - MATCH PARTIAL - только на уникально совпадающие строки) SET NULL - значения NULL по следующим правилам: для MATCH FULL - заменяются все значения MATCH PARTIAL - в уникально совпадающих строках заменяются значения только тех столбцов, значения которых в SET DEFAULT - значения SET NULL , но при типе соответствия MATCH FULL заменяются значения только тех столбцов NULL NO ACTION - никаких действий во внешнем ключе не выполняется, допускаются только изменения
Фраза DEFFERABLE в ссылочной спецификации указывает отсроченную проверку ограничения до конца транзакции. Фраза NOT DEFFERABLE определяет, что контроль , и .
Режим проверки ограничения - сразу или с отсрочкой - устанавливается в начале каждого сеанса, а затем он может быть изменен SQL-оператором SET CONSTRAINTS MODE или локально фразами DEFFERABLE и NOT DEFFERABLE.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.