Язык Transact-SQL

Подкатегории

Хранимые процедуры и функции, определенные пользователем

В этом разделе вводятся описания пакетов и подпрограмм. Пакеты являются последовательностью операторов Transact-SQL и процедурных расширений. Подпрограммы могут быть либо хранимыми процедурами, либо функциями, определенными пользователем (User Defined Function, UDF). В начале главы вводятся все процедурные расширения, поддерживаемые Database Engine. После этого процедурные расширения используются вместе с операторами Transact-SQL, чтобы продемонстрировать, как могут быть реализованы пакеты. Пакет может быть сохранен как объект базы данных в виде хранимой процедуры или UDF. Одни процедуры написаны пользователями, другие предоставляются корпорацией Microsoft, они называются системными хранимыми процедурами. В отличие от пользовательских хранимых процедур функции, написанные пользователем, возвращают вызвавшей программе некоторое значение. Все подпрограммы могут быть написаны либо на Transact-SQL, либо на любом языке программирования, таком как С# или Visual Basic.

Просмотреть материалы...

Система безопасности Database Engine

Этот раздел начинается с краткого обзора наиболее важных концепций безопасности базы данных. Затем обсуждаются специфические особенности системы безопасности Database Engine. Аутентификация требует ответа на следующий вопрос: «Имеет ли этот пользователь легитимные права на доступ в систему?» Следовательно, эта концепция безопасности задает процесс проверки полномочий для предотвращения использования системы неавторизованными пользователями.

Просмотреть материалы...

Управление параллельной работой

Как вы уже знаете, данные в базе данных обычно используются многими программами пользовательских приложений. Ситуация, при которой несколько программ пользовательских приложений читают и пишут одни и те же данные в одно и то же время, называется конкурентным доступом. Следовательно, каждая СУБД должна иметь некоторый механизм управления для разрешения проблем конкурентного доступа. Высокий уровень конкурентного доступа возможен в системе базы данных, которая может управлять многими активными пользовательскими приложениями без их влияния друг на друга. И наоборот, система базы данных, где различные активные приложения влияют друг на друга, поддерживает низкий уровень конкурентного доступа. Этот раздел начинается с описания двух моделей управления конкурентным доступом, которые поддерживает Database Engine. В следующем разделе объясняется, как проблемы конкурентного доступа могут быть решены с использованием транзакций. Это обсуждение включает вводные сведения в четыре свойства транзакций, известные как свойства ACID (Atomicity, Consistency, Isolation, Durability- атомарность, согласованность, изолированность, устойчивость), обсуждаются связанные с транзакциями операторы Transact-SQL, вводится понятие протокола транзакции. Затем рассматривается блокировка и три основных свойства блокировки: модели блокировки, ресурсы блокировки, длительность блокировки. Также вводится важное понятие взаимной блокировки, которая может возникать как результат обычной блокировки.

Просмотреть материалы...

Системный каталог

В этом разделе рассматривается системный каталог Database Engine. За общими сведениями следует описание представлений для просмотра структуры некоторых каталогов; представления позволяют вам просматривать метаданные. В начале главы также рассматривается использование динамически управляемых представлений и динамически управляемых функций. А затем обсуждаются четыре альтернативных способа поиска информации метаданных: системные хранимые процедуры, системные функции, функции свойств и информационная схема.

Просмотреть материалы...

Индексы

В этом разделе описываются индексы и их роль в оптимизации времени отклика запросов. В первой части главы рассматриваются вопросы хранения индексов и существующие для этого формы. В основном глава содержит описание трех операторов Transact-SQL, имеющих отношение к индексам: create index, alter index и drop index. После этого рассматривается фрагментация индексов и ее влияние на производительность системы. Затем приводятся некоторые общие рекомендации по созданию индексов.

Просмотреть материалы...

Представления – View

Этот раздел посвящена исключительно объектам базы данных, называемым представлениями (view). Структура этой главы соответствует структуре, в которых были описаны операторы DDL и DML для базовых таблиц. В первом разделе этой главы рассматриваются операторы DDL, связанные с представлениями: create view, alter view и drop view. Затем описываются операторы DDL для представлений: select, insert, update и delete. Оператор select будет рассмотрен отдельно от других трех операторов. В отличие от базовых таблиц представления не могут быть использованы для операций модификации без некоторых ограничений.

Просмотреть материалы...

Триггеры

Этот раздел посвящен механизму, называемому триггерами. В начале главы описываются операторы Transact-SQL для создания, удаления и изменения триггеров. После этого даются примеры из различных областей приложений для этого объекта базы данных. Каждый пример создается с использованием одного из операторов insert, update или delete. Во второй части этой главы рассматриваются триггеры DDL, которые базируются на таких операторах, как create table. Опять же, даются примеры из различных областей приложений, связанных с триггерами DDL.

Просмотреть материалы...

Основные элементы SQL

В этом разделе вводятся элементарные типы данных и основные операторы, поддерживаемые в языке Transact-SQL. Во-первых, описываются базовые элементы языка, включающие константы, идентификаторы и разделители. Затем, поскольку каждый элементарный объект имеет соответствующий тип данных, подробно описываются типы данных. В дополнение к этому обсуждаются все существующие операторы и функции. В конце этой главы вводятся значения null.

Просмотреть материалы...

Язык описания данных

Этот раздел описывает все операторы Transact-SQL, связанные с языком определения данных DDL (Data Definition Language). Операторы DDL разделены на три группы, которые рассматриваются по порядку. Первая группа включает операторы, которые создают объекты, вторая группа включает операторы, которые изменяют структуру объектов, а третья группа включает операторы, которые удаляют объекты базы данных.

Просмотреть материалы...

Запросы к базе данных

В этом разделе вы изучите, как использовать оператор select для выполнения поиска данных. Здесь описывается каждое предложение этого оператора и даются многочисленные примеры с использованием базы данных sample для демонстрации практического использования каждого предложения. После этого рассматриваются агрегатные функции, множество операторов, вычисляемые столбцы и временные таблицы. Затем рассказывается более подробно о сложных запросах. Вводится оператор соединения таблиц. В дополнение к рассмотрению всех форм оператора соединения, который является наиболее важным оператором для реляционных систем баз данных, в главе рассматриваются коррелированные подзапросы и функция exists.

Просмотреть материалы...

Изменение содержимого таблиц

В дополнение к оператору select, который был описан, существуют три других оператора DML: insert, update и delete. Как и оператор select, эти три оператора модификации оперируют либо таблицами, либо представлениями. В данной главе обсуждаются эти операторы в работе с таблицами и даются примеры их использования. Дополнительно рассматриваются два других оператора: truncate table и merge. В то время как оператор truncate table является расширением в языке Transact-SQL стандарта SQL, оператор merge - новая и стандартизованная возможность в SQL Server 2008.

Просмотреть материалы...

Оценить
(0 голоса)
Язык Transact-SQL поддерживает изменение структуры следующих объектов базы данных, помимо других: ♦ база данных; ♦ таблица; ♦ хранимая процедура; ♦ представление; ♦ схема; ♦ триггер. Следующие два раздела описывают по порядку, как вы можете изменять базы данных и таблицы. Модификация структуры каждого из четырех последних объектов базы данных описывается.
Оценить
(0 голоса)
Оператор alter database изменяет физическую структуру базы данных. Язык Transact-SQL позволяет модифицировать следующие свойства базы данных: ♦ изменение имени базы данных с использованием хранимой процедуры sp_rename («Изменение таблиц» далее В этом разделе); ♦ добавление или удаление одного или более файлов базы данных; ♦ добавление или удаление одного или более файлов протоколов транзакций; ♦ добавление или удаление файловых групп; ♦ изменение свойств файла или файловой группы; ♦ установка опций базы данных.
Оценить
(0 голоса)
Оператор alter database позволяет добавлять и удалять файлы базы данных. Предложения add file и remove file задают добавление нового файла или удаление существующего файла соответственно. (В дополнении к этому новый файл может быть включен в существующую файловую группу при помощи опции то filegroup.) В примере 5.17 показано, как новый файл базы данных может быть добавлен к базе данных projects.   Оператор alter database в примере 5.17 добавляет новый файл с логическим именем projects_datl. Его начальный размер равен 10 Мбайт; этот файл будет увеличиваться в размерах с приращением 5 Мбайт, пока не достигнет верхней границы 100 Мбайт. Предложение remove file удаляет…
Оценить
(0 голоса)
Вы можете использовать предложение modify file для изменения следующих свойств файла: ♦ изменение логического имени файла с использованием опции newname в предложении modify file; ♦ увеличение значения свойства size; ♦ изменение свойств filename, maxsize и filegrowth; ♦ отметка файла как offline. Похожим образом вы можете использовать предложение modify filegroup для изменения следующих свойств файловой группы: ♦ изменение имени файловой группы с использованием опции name в предложении modify filegroup; ♦ установка признака, что файловая группа является файловой группой по умолчанию при использовании опции default; ♦ установка признака, что файловая группа является только для чтения или для чтения и записи при использовании…
Оценить
(0 голоса)
Предложение set в операторе alter database используется для установки различных опций базы данных. Некоторые опции должны быть установлены в on или off, однако большинство из них имеют список возможных значений. Каждая опция базы данных имеет значение по умолчанию, которое установлено в базе данных model. Поэтому вы можете внести изменения в базу данных model для изменения значений по умолчанию указанных опций. Все опции, которые вы можете устанавливать, разделены на несколько групп. Наиболее важными группами являются: ♦ опции состояния; ♦ автоматические опции; ♦ опции SQL. Опции состояния управляют следующим: ♦ доступом пользователя к базе данных (это опции single_user, restricted_ user и multi_user);…
Оценить
(0 голоса)
Оператор alter table изменяет схему таблицы. Язык Transact-SQL позволяет выполнять следующие виды изменений: ♦ добавлять или удалять один или более столбцов; ♦ изменять свойства столбца; ♦ добавлять или удалять ограничения целостности; ♦ включать или отключать ограничения; ♦ переименовывать таблицы и другие объекты базы данных.
Оценить
(0 голоса)
Вы можете использовать предложение add в операторе alter table для добавления нового столбца в существующую таблицу. В каждом операторе alter table может быть добавлен только один столбец. В примере 5.18 показано использование предложения add.   Оператор alter table в примере 5.18 добавляет столбец teiePhone_no к таблице employee. Database Engine заполняет новый столбец значениями null, identity или значением, которое было задано в качестве значения по умолчанию. По этой причине новый столбец или должен допускать пустые значения, или должен иметь ограничение значения по умолчанию. Предложение drop column предоставляет возможность удалить существующий столбец в таблице, как показано в примере 5.19.     Оператор…
Оценить
(0 голоса)
Язык Transact-SQL поддерживает предложение alter column в операторе alter table, что позволяет изменять свойства существующего столбца. Могут быть изменены следующие свойства столбца: ♦ тип данных; ♦ допустимость пустого значения null. В примере 5.20 показано использование предложения alter column.     Оператор alter table в примере 5.20 изменяет существующие свойства (char (30)  null) столбца location таблицы department на новые значения (char (30) not null).
Оценить
(0 голоса)
Новое ограничение целостности может быть добавлено в таблицу при использовании оператора alter table и его опции, называемой add constraint. В примере 5.21 показано, как вы можете использовать предложение add constraint в связи с ограничением check.   В примере 5.21 оператор create table создает таблицу sales с двумя столбцами, имеющими тип данных date: order_date и ship_date. Следующий за ним оператор alter table задает ограничение целостности с именем order_check, в котором сравниваются два значения и отображается сообщение об ошибке, если дата отгрузки (ship_date) меньше даты  заказа (order_date). В примере 5.22 показано, как вы можете использовать оператор alter table для последующего определения первичного…
Оценить
(0 голоса)
Как было рацее установлено, ограничение целостности всегда имеет имя, которое может быть явно задано с использованием опции constraint или неявно создано системой. Имена всех объявленных (явно или неявно) ограничений таблицы могут быть просмотрены с использованием системной процедуры sp_helpconstraint. Ограничение применяется по умолчанию в процессе выполнения новых операций добавления и изменения данных. В дополнение к этому существующие значения столбца (столбцов) проверяются при помощи этого ограничения. В противоположность этому ограничение, которое было создано с опцией with nocheck, не будет использовано во втором случае. Иными словами, если вы используете опцию with nocheck, ограничение будет применяться только к новым операциям добавления и изменения. Обе…
© 2019 serversql.ru. Все права защищены.