Представление является объектом схемы и используется как логическая таблица базы данных.
Оператор имеет в
CREATE VIEW table_name [(field .,:) ]
AS (SELECT_operator
[WITH [CASCADED | LOCAL]
CHECK OPTION ] );
Список полей (field), указываемый после имени представления, позволяет переименовать столбцы основных таблиц, используемых в запросе. Это может потребоваться в случае совпадения имен столбцов при запросах, использующих объединение таблиц; для именования вычисляемых столбцов; для именования объединенных столбцов, полученных посредством соединения столбцов из двух таблиц, имеющих различные имена полей.
Оператор запроса , использующийся для построения представления, может иметь две формы:
Расширяемая форма оператора задается как конструкция , не ограничивая жестко список полей, извлекаемых в запрос. Это позволяет не менять синтаксис представления при изменении оператором структуры таблицы: добавлении новых столбцов или удалении столбцов. Однако это также может являться и недостатком, если SQL-операторы, использующие представление, зависят от числа, типа и имен столбцов.
Постоянная форма оператора задается как конструкция список_столбцов, жестко фиксируя имена столбцов, входящих в запрос.
Как будет влиять изменение основных таблиц на представление, можно указать в операторе :
RESTRICT определяет ограничение, отменяющее CASCADE указывает, что все представления, использующие удаляемый столбец, также будут удалены (а также все FOREIGN KEY ).Оператор имеет в
ALTER TABLE table_name
{ ADD [COLUMN] column_name column_type
[(size)]
[column_ constraint] }
| { ALTER [COLUMN]column_name
{ SET DEFAULT value } | DROP DEFAULT }
| { DROP [COLUMN] column_name
RESTRICT | CASCADE }
| { ADD table_ constraint }
| { DROP CONSTRAINT constraint_name
RESTRICT | CASCADE };
Поддержка оператора необходима только для полного уровня соответствия стандарту, однако, большинство коммерческих СУБД реализует этот оператор, но с некоторыми изменениями и расширениями.
Следующий оператор иллюстрирует f2 изменяемой таблицы:
ALTER TABLE tbl1 DROP COLUMN f2 CASCADE;
Если для представления указывается оператор DELETE, INSERT или UPDATE, то все изменения происходят как над представлением, так и над основными таблицами, используемыми для создания представления. Не во все представления можно внести изменения. Так, представления могут быть изменяемыми или постоянными.
Стандарт позволяет внесение изменений всегда только в одну основную таблицу. Однако большинство коммерческих СУБД позволяют вносить изменения и в две связанные между собой таблицы, но с некоторыми оговорками.
DISTINCT , GROUP BY и HAVING ;Для WITH CHECK OPTION, позволяющую предотвращать "потерю строк" в представлениях. Так, если эта фраза указана, то при внесении изменений в таблицу будет проверен предикат, указанный в запросе, использованном для создания таблицы. Если предикат не возвращает значение TRUE, то изменения не будут внесены.
Например, если запрос создан оператором
CREATE VIEW v_tbl1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>100) WITH CHECK OPTION;,
то вставка строки не будет произведена:
INSERT INTO v_tbl1 (f1,f2,f3)
VALUES (1,50,'abc');
Фраза WITH CHECK OPTION может быть расширена до:
WITH CASCADED CHECK OPTION - предикаты проверяются во всех вложенных запросах;WITH LOCAL CHECK OPTION - предикаты проверяются только в запросе, использованном для создания данного представления;Так, для представления, созданного операторами
CREATE VIEW v_1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>100);, CREATE VIEW v_2 AS (SELECT f1,f2, f3 FROM v_1 WHERE f2>50) WITH LOCAL CHECK OPTION;,
добавление строки будет выполнено:
INSERT INTO v_2 (f1,f2,f3)
VALUES (1,30,'abc');.
Эта строка будет добавлена в основную таблицу, но не будет видна в представлении, посредством которого она была добавлена.
По умолчанию предполагается, что для WITH CHECK OPTION используется фраза CASCADED.
Каждый столбец базы данных имеет свой тип, указываемый при создании столбца.
В
CHARACTER (len ) ;CHAR (len ) ;CHARACTER VARYING (len ) ;CHAR VARYING (len ) ;VARCHAR (len ) ;NATIONAL CHARACTER (len ) ;NATIONAL CHAR (len ) ;NCHAR (len ) ;NATIONAL CHARACTER VARYING (len ) ;NATIONAL CHAR VARYING (len ) ;NCHAR VARYING (len ) ;BIT (len ) ;BIT VARYING (len ) ;NUMERIC ;DECIMAL ;DEC ;INTEGER ;INT ;SMALLINT ;FLOAT ;REAL ;DOUBLE PRECISION ;DATE ;TIME ;TIME WITH TIME ZONE ;TIMESTAMP ;TIMESTAMP WITH TIME ZONE ;INTERVAL .Отметим, что параметры типа, указываемые в скобках, в большинстве случаев можно при необходимости опускать.
Для символьных типов возможно указание фразы CHARACTER SET { set_name | using_form}, устанавливающей используемый набор символов.
Приведем описание наиболее часто используемых типов данных:
CHAR (num) - текстовая строка фиксированной длины (на диске сразу выделяется место под всю строку);VARCHAR (num) - текстовая строка переменной длины, содержащая не более num символов (на диске выделяется место в зависимости от длины строки);INTEGER или INT - целое;NUMERIC - число с плавающей точкой, возможно определение числа знаков после запятой;DECIMAL или DEC - число с плавающей точкой, возможно задание минимального значения точности;FLOAT - число с плавающей точкой, позволяющее задавать точность (количество знаков после запятой);REAL - число с плавающей точкой, точность которого определяется реализацией;DATE - тип даты;TIME WITH TIME ZONE - тип времени, содержащий поля, описывающие сдвиг зонального времени.Типы данных, описывающие дату и время, состоят из нескольких полей, в которых хранятся части даты времени. Так, тип DATE содержит поля YEAR, MONTH и DAY. Тип TIME содержит поля HOUR, MINUTE и SECOND.
Тип содержит как поля даты, так и поля времени.
Значение типа записывается следующим образом: '10-12-2003 08:30:00'. Порядок следования полей при написании даты, как правило, определяется установками компьютера.
Для работы с данными, имеющими тип даты/времени в языке SQL предусмотрены следующие функции:
CURRENT_TIME - определяет текущее время;
CURRENT_DATE - определяет текущую дату;
CURRENT_TIMESTAMP - определяет текущие дату и время.
Например:
INSERT INTO tbl1 (f1,f2,f3,f4)
VALUES (1,100,'abc', CURRENT_DATE);
Представление является объектом схемы и используется как логическая таблица базы данных.
Оператор имеет в
CREATE VIEW table_name [(field .,:) ]
AS (SELECT_operator
[WITH [CASCADED | LOCAL]
CHECK OPTION ] );
Список полей (field), указываемый после имени представления, позволяет переименовать столбцы основных таблиц, используемых в запросе. Это может потребоваться в случае совпадения имен столбцов при запросах, использующих объединение таблиц; для именования вычисляемых столбцов; для именования объединенных столбцов, полученных посредством соединения столбцов из двух таблиц, имеющих различные имена полей.
Оператор запроса , использующийся для построения представления, может иметь две формы:
Расширяемая форма оператора задается как конструкция , не ограничивая жестко список полей, извлекаемых в запрос. Это позволяет не менять синтаксис представления при изменении оператором структуры таблицы: добавлении новых столбцов или удалении столбцов. Однако это также может являться и недостатком, если SQL-операторы, использующие представление, зависят от числа, типа и имен столбцов.
Постоянная форма оператора задается как конструкция список_столбцов, жестко фиксируя имена столбцов, входящих в запрос.
Как будет влиять изменение основных таблиц на представление, можно указать в операторе :
RESTRICT определяет ограничение, отменяющее CASCADE указывает, что все представления, использующие удаляемый столбец, также будут удалены (а также все FOREIGN KEY ).Оператор имеет в
ALTER TABLE table_name
{ ADD [COLUMN] column_name column_type
[(size)]
[column_ constraint] }
| { ALTER [COLUMN]column_name
{ SET DEFAULT value } | DROP DEFAULT }
| { DROP [COLUMN] column_name
RESTRICT | CASCADE }
| { ADD table_ constraint }
| { DROP CONSTRAINT constraint_name
RESTRICT | CASCADE };
Поддержка оператора необходима только для полного уровня соответствия стандарту, однако, большинство коммерческих СУБД реализует этот оператор, но с некоторыми изменениями и расширениями.
Следующий оператор иллюстрирует f2 изменяемой таблицы:
ALTER TABLE tbl1 DROP COLUMN f2 CASCADE;
Если для представления указывается оператор DELETE, INSERT или UPDATE, то все изменения происходят как над представлением, так и над основными таблицами, используемыми для создания представления. Не во все представления можно внести изменения. Так, представления могут быть изменяемыми или постоянными.
Стандарт позволяет внесение изменений всегда только в одну основную таблицу. Однако большинство коммерческих СУБД позволяют вносить изменения и в две связанные между собой таблицы, но с некоторыми оговорками.
DISTINCT , GROUP BY и HAVING ;Для WITH CHECK OPTION, позволяющую предотвращать "потерю строк" в представлениях. Так, если эта фраза указана, то при внесении изменений в таблицу будет проверен предикат, указанный в запросе, использованном для создания таблицы. Если предикат не возвращает значение TRUE, то изменения не будут внесены.
Например, если запрос создан оператором
CREATE VIEW v_tbl1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>100) WITH CHECK OPTION;,
то вставка строки не будет произведена:
INSERT INTO v_tbl1 (f1,f2,f3)
VALUES (1,50,'abc');
Фраза WITH CHECK OPTION может быть расширена до:
WITH CASCADED CHECK OPTION - предикаты проверяются во всех вложенных запросах;WITH LOCAL CHECK OPTION - предикаты проверяются только в запросе, использованном для создания данного представления;Так, для представления, созданного операторами
CREATE VIEW v_1 AS (SELECT f1,f2, f3 FROM tbl1 WHERE f2>100);, CREATE VIEW v_2 AS (SELECT f1,f2, f3 FROM v_1 WHERE f2>50) WITH LOCAL CHECK OPTION;,
добавление строки будет выполнено:
INSERT INTO v_2 (f1,f2,f3)
VALUES (1,30,'abc');.
Эта строка будет добавлена в основную таблицу, но не будет видна в представлении, посредством которого она была добавлена.
По умолчанию предполагается, что для WITH CHECK OPTION используется фраза CASCADED.
Каждый столбец базы данных имеет свой тип, указываемый при создании столбца.
В
CHARACTER (len ) ;CHAR (len ) ;CHARACTER VARYING (len ) ;CHAR VARYING (len ) ;VARCHAR (len ) ;NATIONAL CHARACTER (len ) ;NATIONAL CHAR (len ) ;NCHAR (len ) ;NATIONAL CHARACTER VARYING (len ) ;NATIONAL CHAR VARYING (len ) ;NCHAR VARYING (len ) ;BIT (len ) ;BIT VARYING (len ) ;NUMERIC ;DECIMAL ;DEC ;INTEGER ;INT ;SMALLINT ;FLOAT ;REAL ;DOUBLE PRECISION ;DATE ;TIME ;TIME WITH TIME ZONE ;TIMESTAMP ;TIMESTAMP WITH TIME ZONE ;INTERVAL .Отметим, что параметры типа, указываемые в скобках, в большинстве случаев можно при необходимости опускать.
Для символьных типов возможно указание фразы CHARACTER SET { set_name | using_form}, устанавливающей используемый набор символов.
Приведем описание наиболее часто используемых типов данных:
CHAR (num) - текстовая строка фиксированной длины (на диске сразу выделяется место под всю строку);VARCHAR (num) - текстовая строка переменной длины, содержащая не более num символов (на диске выделяется место в зависимости от длины строки);INTEGER или INT - целое;NUMERIC - число с плавающей точкой, возможно определение числа знаков после запятой;DECIMAL или DEC - число с плавающей точкой, возможно задание минимального значения точности;FLOAT - число с плавающей точкой, позволяющее задавать точность (количество знаков после запятой);REAL - число с плавающей точкой, точность которого определяется реализацией;DATE - тип даты;TIME WITH TIME ZONE - тип времени, содержащий поля, описывающие сдвиг зонального времени.Типы данных, описывающие дату и время, состоят из нескольких полей, в которых хранятся части даты времени. Так, тип DATE содержит поля YEAR, MONTH и DAY. Тип TIME содержит поля HOUR, MINUTE и SECOND.
Тип содержит как поля даты, так и поля времени.
Значение типа записывается следующим образом: '10-12-2003 08:30:00'. Порядок следования полей при написании даты, как правило, определяется установками компьютера.
Для работы с данными, имеющими тип даты/времени в языке SQL предусмотрены следующие функции:
CURRENT_TIME - определяет текущее время;
CURRENT_DATE - определяет текущую дату;
CURRENT_TIMESTAMP - определяет текущие дату и время.
Например:
INSERT INTO tbl1 (f1,f2,f3,f4)
VALUES (1,100,'abc', CURRENT_DATE);
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.