В языке SQL имеется шесть скалярных
| |
Объявления |
|---|---|
CHAR | VARCHAR |
|
BIT | BIT VARYING |
|
NUMERIC | DECIMAL | INTEGER | SMALLINT |
|
FLOAT | REAL | DOUBLE PRECISION |
|
DATE | TIME | TIMESTAMP |
|
| Интервал | INTERVAL |
<символьный_тип>::=
{ CHARACTER [ VARYING][длина] | [CHAR |
VARCHAR][длина]}
При определении столбца с 1 ). Символьная строка может быть определена как имеющая фиксированную или переменную ( VARYING ) длину. Если строка определена с фиксированной длиной значений, то при вводе в нее меньшего количества символов значение дополняется до указанной длины пробелами, добавляемыми справа. Если строка определена с переменной длиной значений, то при вводе в нее меньшего количества символов в базе
0, либо 1
<битовый_тип>::= BIT [VARYING][длина]
<фиксированный_тип>::=
{NUMERIC[точность[,масштаб]]|{DECIMAL|DEC}
[точность[, масштаб]]
| {INTEGER |INT}| SMALLINT}
NUMERIC и DECIMAL предназначены для хранения чисел в десятичном формате. По умолчанию длина дробной части равна нулю, а принимаемая по умолчанию точность зависит от реализации. INTEGER ( INT ) используется для хранения больших положительных или отрицательных целых чисел. SMALLINT – для хранения небольших положительных или отрицательных целых чисел; в этом случае расход внешней памяти существенно сокращается.
10Е3, +5.2Е6, -0.2Е-4
<вещественный_тип>::=
{ FLOAT [точность]| REAL |
DOUBLE PRECISION}
Параметр точность задает количество значащих цифр мантиссы. Точность REAL и DOUBLE PRECISION зависит от конкретной реализации.
<тип_даты/времени>::=
{DATE | TIME[точность][WITH TIME ZONE]|
TIMESTAMP[точность][WITH TIME ZONE]}
DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). TIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). TIMESTAMP – для совместного хранения даты и времени. Параметр точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Если этот параметр опускается, по умолчанию его значение для столбцов TIME принимается равным нулю (т.е. сохраняются целые секунды), тогда как для полей TIMESTAMP он принимается равным 6. Наличие ключевого слова WITH определяет использование полей TIMEZONE HOUR и TIMEZONE MINUTE, тем самым задаются час и минуты сдвига зонального времени по отношению к универсальному координатному времени (Гринвичскому времени).
INTERVAL используются для представления периодов времени.
Стандарт SQL позволяет определить
<определение_домена>::= CREATE DOMAIN имя_домена [AS] тип_данных [ DEFAULT значение] [ CHECK (допустимые_значения)]
Каждому создаваемому
Удаление
DROP DOMAIN имя_домена [ RESTRICT | CASCADE]
В случае указания ключевого слова CASCADE любые столбцы таблиц, созданные с использованием удаляемого
Альтернативой
Один из основных моментов процесса создания таблицы – определение
image |
smalldatetime |
bit |
binary |
text |
real |
decimal |
char |
uniqueidentifier |
money |
numeric |
timestamp |
tinyint |
datetime |
smallmoney |
nvarchar |
smallint |
float |
varbinary |
nchar |
int |
ntext |
varchar |
sysname |
Приведем краткий обзор
Для хранения символьной информации используются CHAR (длина), VARCHAR (длина), NCHAR (длина), NVARCHAR (длина). Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками ( 4000 – для символов Unicode).
Хранение символьных TEXT и NTEXT.
К INT ( INTEGER ), SMALLINT, TINYINT, BIGINT. Для хранения -231 до 231-1 ), 2 байта (диапазон от -215 до 215-1 ), 1 байт (диапазон от 0 до 255 ) или 8 байт (диапазон от -263 до 263-1 ). Объекты и
Числа, в составе которых есть десятичная точка, называются нецелочисленными.
К десятичным DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точность указывает максимальное количество цифр вводимых масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в DECIMAL и NUMERIC (от 2 до 17 байт).
К приблизительным FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти
Для хранения информации о дате и времени предназначены такие DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.
MONEY и SMALLMONEY делают возможным хранение информации
BIT позволяет хранить один бит, который принимает значения 0 или 1.
В среде SQL Server реализован ряд
TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы
UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.
SYSNAME предназначен для идентификаторов
SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server TEXT, NTEXT, IMAGE и TIMESTAMP.
TABLE, подобно временным таблицам, обеспечивает хранение набора строк, предназначенных для последующей обработки. TABLE может применяться только для определения локальных TABLE приведен в лекции, посвященной функциям пользователя.
CURSOR нужен для работы с такими CURSOR мы рассмотрим в лекциях, посвященных курсорам и хранимым процедурам.
Создание
sp_addtype [@typename=]type,[@phystype=] system_data_type [,[@nulltype=]’null_type’]
system_data_type выбирается из следующей таблицы.
image |
smalldatetime |
decimal |
bit |
text |
real |
‘decimal[(p[,s])]’ |
‘binary(n)’ |
uniqueidentifier |
datetime |
numeric |
‘char(n)’ |
smallint |
float |
‘numeric[(p[,s])]’ |
‘nvarchar(n)’ |
int |
‘float(n)’ |
‘varbinary(n)’ |
|
ntext |
‘varchar(n)’ |
‘nchar(n)’ |
EXEC sp_addtype bir, DATETIME, 'NULL' или EXEC sp_addtype bir, DATETIME, ‘NOT NULL’
CREATE TABLE tab (id_n INT IDENTITY(1,1) PRIMARY KEY, names VARCHAR(40), birthday BIR)
Удаление sp_droptype type: EXEC sp_droptype 'bir'
Получить список всех systypes:
SELECT * FROM systypes
STR. Для выполнения других CONVERT и CAST, с помощью которых значения одного CONVERT и CAST примерно одинаковы и могут быть взаимозаменяемыми
CAST(выражение AS тип_данных) CONVERT(тип_данных[(длина)], выражение [,стиль])
С помощью аргумента стиль можно управлять стилем представления значений следующих
DECLARE @d DATETIME DECLARE @s CHAR(8) SET @s=’29.10.01’ SET @d=CAST(@s AS DATETIME)
Наряду с
В среде SQL Server существует несколько способов передачи DECLARE, имеющей следующий формат:
DECLARE {@имя_переменной тип_данных }
[,...n]
Значения SET и SELECT. С помощью команды SELECT
DECLARE @a INT SET @a=10
DECLARE @k INT SELECT @k=SUM(количество) FROM Товар
Язык SQL является непроцедурным, но тем не менее в среде SQL Server предусмотрен ряд различных
Группировка двух и более команд в единый BEGIN и END:
<блок_операторов>::=
BEGIN
{ sql_оператор | блок_операторов }
END
Сгруппированные команды воспринимаются интерпретатором SQL как одна команда. Подобная группировка требуется для BEGIN...END могут быть вложенными.
Некоторые команды SQL не должны выполняться вместе с другими командами (речь идет о командах резервного копирования, изменения структуры таблиц, хранимых процедур и им подобных), поэтому их совместное включение в конструкцию BEGIN...END не допускается.
Нередко определенная часть программы должна выполняться только при реализации некоторого логического условия. Синтаксис
<условный_оператор>::=
IF лог_выражение
{ sql_оператор | блок_операторов }
[ ELSE
{sql_оператор | блок_операторов } ]
Циклы организуются с помощью следующей конструкции:
<оператор_цикла>::=
WHILE лог_выражение
{ sql_оператор | блок_операторов }
[ BREAK ]
{ sql_оператор | блок_операторов }
[ CONTINUE ]
Цикл можно принудительно остановить, если в его теле выполнить команду BREAK. Если же нужно начать цикл заново, не дожидаясь выполнения всех команд в теле, необходимо выполнить команду CONTINUE.
Для замены множества одиночных или вложенных
<оператор_поливариантных_ветвлений>::=
CASE входное_значение
WHEN {значение_для_сравнения |
лог_выражение } THEN
вых_выражение [,...n]
[ ELSE иначе_вых_выражение ]
END
Если входное значение и значение для сравнения совпадают, то конструкция возвращает выходное значение. Если же значение входного параметра не найдено ни в одной из строк WHEN...THEN, то тогда будет возвращено значение, указанное после ключевого слова ELSE.
Рассмотрим логическую структуру базы
Логическая структура определяет структуру таблиц, взаимоотношения между ними, список пользователей, хранимые процедуры, правила, умолчания и другие
Логически
Tables |
Таблицы базы |
Views |
Просмотры (виртуальные таблицы) для отображения |
Stored Procedures |
Хранимые процедуры |
Triggers |
Триггеры – специальные хранимые процедуры, вызываемые при изменении |
User Defined function |
Создаваемые пользователем функции |
Indexes |
Индексы – дополнительные структуры, призванные повысить производительность работы с |
User Defined Data Types |
Определяемые пользователем |
Keys |
Ключи – один из видов |
Constraints |
Ограничение целостности – |
Users |
Пользователи, обладающие доступом к базе данных |
Roles |
Роли, позволяющие объединять пользователей в группы |
Rules |
Правила базы |
Defaults |
Умолчания или стандартные установки базы данных |
Приведем краткий обзор основных
Все
Представлениями (просмотрами) называют виртуальные таблицы, содержимое которых определяется запросом. Подобно
Хранимые процедуры представляют собой группу команд SQL, объединенных в один модуль. Такая группа команд компилируется и выполняется как единое целое.
Триггерами называется специальный класс хранимых процедур, автоматически запускаемых при добавлении, изменении или удалении
Функции в языках программирования – это конструкции, содержащие часто исполняемый код. Функция выполняет какие-либо действия над
Индекс – структура, связанная с таблицей или представлением и предназначенная для ускорения поиска информации в них. Индекс определяется для одного или нескольких столбцов, называемых индексированными столбцами. Он содержит отсортированные значения индексированного столбца или столбцов со ссылками на соответствующую строку исходной таблицы или представления. Повышение производительности достигается за счет сортировки
NULL
Ограничения целостности – механизм, обеспечивающий автоматический контроль соответствия NULL, проверочные ограничения, ограничение уникальности (уникальный ключ), ограничение первичного ключа и ограничение внешнего ключа. Последние три ограничения тесно связаны с понятием ключей.
Правила используются для ограничения значений, хранимых в столбце таблицы или в
Умолчания – самостоятельный
В языке SQL имеется шесть скалярных
| |
Объявления |
|---|---|
CHAR | VARCHAR |
|
BIT | BIT VARYING |
|
NUMERIC | DECIMAL | INTEGER | SMALLINT |
|
FLOAT | REAL | DOUBLE PRECISION |
|
DATE | TIME | TIMESTAMP |
|
| Интервал | INTERVAL |
<символьный_тип>::=
{ CHARACTER [ VARYING][длина] | [CHAR |
VARCHAR][длина]}
При определении столбца с 1 ). Символьная строка может быть определена как имеющая фиксированную или переменную ( VARYING ) длину. Если строка определена с фиксированной длиной значений, то при вводе в нее меньшего количества символов значение дополняется до указанной длины пробелами, добавляемыми справа. Если строка определена с переменной длиной значений, то при вводе в нее меньшего количества символов в базе
0, либо 1
<битовый_тип>::= BIT [VARYING][длина]
<фиксированный_тип>::=
{NUMERIC[точность[,масштаб]]|{DECIMAL|DEC}
[точность[, масштаб]]
| {INTEGER |INT}| SMALLINT}
NUMERIC и DECIMAL предназначены для хранения чисел в десятичном формате. По умолчанию длина дробной части равна нулю, а принимаемая по умолчанию точность зависит от реализации. INTEGER ( INT ) используется для хранения больших положительных или отрицательных целых чисел. SMALLINT – для хранения небольших положительных или отрицательных целых чисел; в этом случае расход внешней памяти существенно сокращается.
10Е3, +5.2Е6, -0.2Е-4
<вещественный_тип>::=
{ FLOAT [точность]| REAL |
DOUBLE PRECISION}
Параметр точность задает количество значащих цифр мантиссы. Точность REAL и DOUBLE PRECISION зависит от конкретной реализации.
<тип_даты/времени>::=
{DATE | TIME[точность][WITH TIME ZONE]|
TIMESTAMP[точность][WITH TIME ZONE]}
DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). TIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). TIMESTAMP – для совместного хранения даты и времени. Параметр точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Если этот параметр опускается, по умолчанию его значение для столбцов TIME принимается равным нулю (т.е. сохраняются целые секунды), тогда как для полей TIMESTAMP он принимается равным 6. Наличие ключевого слова WITH определяет использование полей TIMEZONE HOUR и TIMEZONE MINUTE, тем самым задаются час и минуты сдвига зонального времени по отношению к универсальному координатному времени (Гринвичскому времени).
INTERVAL используются для представления периодов времени.
Стандарт SQL позволяет определить
<определение_домена>::= CREATE DOMAIN имя_домена [AS] тип_данных [ DEFAULT значение] [ CHECK (допустимые_значения)]
Каждому создаваемому
Удаление
DROP DOMAIN имя_домена [ RESTRICT | CASCADE]
В случае указания ключевого слова CASCADE любые столбцы таблиц, созданные с использованием удаляемого
Альтернативой
Один из основных моментов процесса создания таблицы – определение
image |
smalldatetime |
bit |
binary |
text |
real |
decimal |
char |
uniqueidentifier |
money |
numeric |
timestamp |
tinyint |
datetime |
smallmoney |
nvarchar |
smallint |
float |
varbinary |
nchar |
int |
ntext |
varchar |
sysname |
Приведем краткий обзор
Для хранения символьной информации используются CHAR (длина), VARCHAR (длина), NCHAR (длина), NVARCHAR (длина). Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками ( 4000 – для символов Unicode).
Хранение символьных TEXT и NTEXT.
К INT ( INTEGER ), SMALLINT, TINYINT, BIGINT. Для хранения -231 до 231-1 ), 2 байта (диапазон от -215 до 215-1 ), 1 байт (диапазон от 0 до 255 ) или 8 байт (диапазон от -263 до 263-1 ). Объекты и
Числа, в составе которых есть десятичная точка, называются нецелочисленными.
К десятичным DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точность указывает максимальное количество цифр вводимых масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в DECIMAL и NUMERIC (от 2 до 17 байт).
К приблизительным FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти
Для хранения информации о дате и времени предназначены такие DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.
MONEY и SMALLMONEY делают возможным хранение информации
BIT позволяет хранить один бит, который принимает значения 0 или 1.
В среде SQL Server реализован ряд
TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы
UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.
SYSNAME предназначен для идентификаторов
SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server TEXT, NTEXT, IMAGE и TIMESTAMP.
TABLE, подобно временным таблицам, обеспечивает хранение набора строк, предназначенных для последующей обработки. TABLE может применяться только для определения локальных TABLE приведен в лекции, посвященной функциям пользователя.
CURSOR нужен для работы с такими CURSOR мы рассмотрим в лекциях, посвященных курсорам и хранимым процедурам.
Создание
sp_addtype [@typename=]type,[@phystype=] system_data_type [,[@nulltype=]’null_type’]
system_data_type выбирается из следующей таблицы.
image |
smalldatetime |
decimal |
bit |
text |
real |
‘decimal[(p[,s])]’ |
‘binary(n)’ |
uniqueidentifier |
datetime |
numeric |
‘char(n)’ |
smallint |
float |
‘numeric[(p[,s])]’ |
‘nvarchar(n)’ |
int |
‘float(n)’ |
‘varbinary(n)’ |
|
ntext |
‘varchar(n)’ |
‘nchar(n)’ |
EXEC sp_addtype bir, DATETIME, 'NULL' или EXEC sp_addtype bir, DATETIME, ‘NOT NULL’
CREATE TABLE tab (id_n INT IDENTITY(1,1) PRIMARY KEY, names VARCHAR(40), birthday BIR)
Удаление sp_droptype type: EXEC sp_droptype 'bir'
Получить список всех systypes:
SELECT * FROM systypes
STR. Для выполнения других CONVERT и CAST, с помощью которых значения одного CONVERT и CAST примерно одинаковы и могут быть взаимозаменяемыми
CAST(выражение AS тип_данных) CONVERT(тип_данных[(длина)], выражение [,стиль])
С помощью аргумента стиль можно управлять стилем представления значений следующих
DECLARE @d DATETIME DECLARE @s CHAR(8) SET @s=’29.10.01’ SET @d=CAST(@s AS DATETIME)
Наряду с
В среде SQL Server существует несколько способов передачи DECLARE, имеющей следующий формат:
DECLARE {@имя_переменной тип_данных }
[,...n]
Значения SET и SELECT. С помощью команды SELECT
DECLARE @a INT SET @a=10
DECLARE @k INT SELECT @k=SUM(количество) FROM Товар
Язык SQL является непроцедурным, но тем не менее в среде SQL Server предусмотрен ряд различных
Группировка двух и более команд в единый BEGIN и END:
<блок_операторов>::=
BEGIN
{ sql_оператор | блок_операторов }
END
Сгруппированные команды воспринимаются интерпретатором SQL как одна команда. Подобная группировка требуется для BEGIN...END могут быть вложенными.
Некоторые команды SQL не должны выполняться вместе с другими командами (речь идет о командах резервного копирования, изменения структуры таблиц, хранимых процедур и им подобных), поэтому их совместное включение в конструкцию BEGIN...END не допускается.
Нередко определенная часть программы должна выполняться только при реализации некоторого логического условия. Синтаксис
<условный_оператор>::=
IF лог_выражение
{ sql_оператор | блок_операторов }
[ ELSE
{sql_оператор | блок_операторов } ]
Циклы организуются с помощью следующей конструкции:
<оператор_цикла>::=
WHILE лог_выражение
{ sql_оператор | блок_операторов }
[ BREAK ]
{ sql_оператор | блок_операторов }
[ CONTINUE ]
Цикл можно принудительно остановить, если в его теле выполнить команду BREAK. Если же нужно начать цикл заново, не дожидаясь выполнения всех команд в теле, необходимо выполнить команду CONTINUE.
Для замены множества одиночных или вложенных
<оператор_поливариантных_ветвлений>::=
CASE входное_значение
WHEN {значение_для_сравнения |
лог_выражение } THEN
вых_выражение [,...n]
[ ELSE иначе_вых_выражение ]
END
Если входное значение и значение для сравнения совпадают, то конструкция возвращает выходное значение. Если же значение входного параметра не найдено ни в одной из строк WHEN...THEN, то тогда будет возвращено значение, указанное после ключевого слова ELSE.
Рассмотрим логическую структуру базы
Логическая структура определяет структуру таблиц, взаимоотношения между ними, список пользователей, хранимые процедуры, правила, умолчания и другие
Логически
Tables |
Таблицы базы |
Views |
Просмотры (виртуальные таблицы) для отображения |
Stored Procedures |
Хранимые процедуры |
Triggers |
Триггеры – специальные хранимые процедуры, вызываемые при изменении |
User Defined function |
Создаваемые пользователем функции |
Indexes |
Индексы – дополнительные структуры, призванные повысить производительность работы с |
User Defined Data Types |
Определяемые пользователем |
Keys |
Ключи – один из видов |
Constraints |
Ограничение целостности – |
Users |
Пользователи, обладающие доступом к базе данных |
Roles |
Роли, позволяющие объединять пользователей в группы |
Rules |
Правила базы |
Defaults |
Умолчания или стандартные установки базы данных |
Приведем краткий обзор основных
Все
Представлениями (просмотрами) называют виртуальные таблицы, содержимое которых определяется запросом. Подобно
Хранимые процедуры представляют собой группу команд SQL, объединенных в один модуль. Такая группа команд компилируется и выполняется как единое целое.
Триггерами называется специальный класс хранимых процедур, автоматически запускаемых при добавлении, изменении или удалении
Функции в языках программирования – это конструкции, содержащие часто исполняемый код. Функция выполняет какие-либо действия над
Индекс – структура, связанная с таблицей или представлением и предназначенная для ускорения поиска информации в них. Индекс определяется для одного или нескольких столбцов, называемых индексированными столбцами. Он содержит отсортированные значения индексированного столбца или столбцов со ссылками на соответствующую строку исходной таблицы или представления. Повышение производительности достигается за счет сортировки
NULL
Ограничения целостности – механизм, обеспечивающий автоматический контроль соответствия NULL, проверочные ограничения, ограничение уникальности (уникальный ключ), ограничение первичного ключа и ограничение внешнего ключа. Последние три ограничения тесно связаны с понятием ключей.
Правила используются для ограничения значений, хранимых в столбце таблицы или в
Умолчания – самостоятельный
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.