Язык 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.

Просмотреть материалы...
Оценить
(1 голос)
Вы используете SQL Server Management Studio для выбора одного из существующих режимов аутентификации. (Весьма подробно обсуждается интерфейс SQL Server Management Studio.) Чтобы установить режим Windows, щелкните правой кнопкой мыши по серверу и выберите пункт Properties. В диалоговом окне Server Properties выберите страницу Security и щелкните по Windows Authentication Mode. Для выбора смешанного режима вам нужно только щелкнуть по Server and Windows Authentication Mode в диалоговом окне Server Properties. После того как пользователь будет успешно соединен с Database Engine, доступ пользователя к объектам базы данных становится независимым от того, какой режим аутентификации используется - Windows Authentication или SQL Server Authentication. Прежде…
Оценить
(1 голос)
Database Engine защищает данные при помощи иерархических уровней шифрования и инфраструктуры управления ключами. Каждый уровень защищает следующий за ним уровень шифрования, используя комбинацию сертификатов, асимметричных и симметричных ключей (рис. 12.1).   Главный сервисный ключ на рис. 12.1 задает ключ, который управляет всеми другими ключами и сертификатами. Сервисный главный ключ создается автоматически, когда вы инсталлируете Database Engine. Этот ключ зашифрован с использованием Windows Data Protection API (DPAPI). Важным свойством сервисного главного ключа является то, что он управляется системой. Хотя системный администратор может выполнять некоторые задачи обслуживания, существует только одна задача, которая должна быть выполнена - копирование сервисного главного ключа, так что…
Оценить
(1 голос)
Система шифрования, которая использует симметричные ключи, -это та, в которой отправитель и получатель сообщения используют общий ключ. Следовательно, этот единственный ключ применяется как для шифрования, так и для дешифрования данных. Использование симметричных ключей имеет несколько преимуществ и один недостаток. Одним из преимуществ использования симметричных ключей является то, что они могут защищать значительно больший объем данных, чем два других типа пользовательских ключей. Этот тип ключей также обрабатывается значительно быстрее, чем асимметричные ключи С другой стороны, в распределенных системах использование этого типа ключей может сделать почти что невозможным сохранение безопасности шифрования, т. к. один и тот же ключ служит для дешифрования и…
Оценить
(0 голоса)
Если у вас распределенная система или симметричные ключи не поддерживают безопасность вашего шифрования, то используйте асимметричные ключи. Асимметричный ключ состоит из двух частей: личного ключа и соответствующего общего ключа. Каждый из ключей может дешифровать данные, зашифрованные другим ключом. По причине существования личного ключа асимметричное шифрование обеспечивает более высокий уровень безопасности, чем это делает симметричное шифрование. Язык Transact-SQL поддерживает некоторое количество операторов и системных функций, связанных с асимметричными ключами. Оператор create asymmetric key создает новый асимметричный ключ, а оператор alter asymmetric key изменяет свойства асимметричного ключа. Оператор drop asymmetric key удаляет существующий асимметричный ключ. После того как вы создали асимметричный ключ,…
Оценить
(0 голоса)
Общий ключ сертификата, обычно называемый просто сертификатом, является двоичной подписью, связывающей значение общего ключа с идентификацией человека, устройства или сервиса, который содержит соответствующий личный ключ. Сертификаты вызываются и обозначаются при помощи авторизации сертификации (Certification Authority, СА). Сущность, которая получает сертификат от СА, является субъектом этой сертификации. Сертификаты содержат следующую информацию: ♦ значение общего ключа субъекта; ♦ информацию, идентифицирующую субъекта; ♦ издателя идентифицирующей информации; ♦ двоичную подпись издателя. Основное преимущество сертификатов в том, что они освобождают хосты от необходимости поддерживать наборы паролей для индивидуальных субъектов. Когда хост, например Web-сервер безопасности, определяет запрашивающую сторону, как доверенного пользователя, хост неявно доверяет тому, что…
Оценить
(0 голоса)
Наиболее важными представлениями просмотра каталога шифрования являются следующие: ♦ sys.symmetric_keys; ♦ sys. asyrtimetric_keys; ♦ sys.certificates; ♦ sys.database_principals. Первые три представления просмотра каталога предоставляют информацию о симметричных ключах, всех асимметричных ключах и всех сертификатах, установленных в текущей базе данных, соответственно. Представление просмотра каталогов sys.databaseprincipais дает информацию о каждом пользователе в текущей базе данных. Вы можете соединить последнее представление просмотра каталога с любым из трех других для просмотра информации о том, кто владеет конкретным ключом, сертификатом.
Оценить
(0 голоса)
SQL Server 2008 поддерживает две новые возможности шифрования: ♦ расширенное управление ключами - Extensible Key Management (ЕКМ); ♦ прозрачное шифрование данных - Transparent Data Encryption (TDE). ЕКМ позволяет сторонним производителям регистрировать их объекты в Database Engine. После того как эти элементы будут зарегистрированы, SQL Server logins может использовать ключи шифрования, хранящиеся в этих модулях, как и средства улучшения возможностей шифрования, которые эти модули поддерживают. ЕКМ также осуществит защиту данных от администраторов базы данных (за исключением членов группы sysadmin). Таким способом вы можете защитить систему и от пользователей с повышенным уровнем привилегий. Данные могут быть зашифрованы и дешифрованы с помощью криптографических…
Оценить
(0 голоса)
Безопасность Database Engine может быть установлена либо с использованием операторов Transact-SQL, либо при помощи системных процедур. В этом разделе описываются только операторы Transact-SQL, потому что все соответствующие системные процедуры (sp_addlogin и sp_droplogin) являются нерекомендуемыми средствами и будут удалены в одной из следующих версий SQL Server. Применяются три оператора Transact-SQL: create login, alter login И drop login. Оператор create login создает новую учетную запись в SQL Server. Синтаксис оператора: create login login_name { with option_listl I from {windows  [ with option_list2 [,   ...]   ] i  certificate certname | asymmetric key key_name }} Здесь iogin_name задает имя создаваемой учетной записи. Как видно…
Оценить
(0 голоса)
Для создания новой учетной записи с использованием SQL Server Management Studio раскройте сервер, раскройте Security, щелкните правой кнопкой мыши по Logins и выберите пункт New Login. Появится диалоговое окно Login (рис. 12.2). Во-первых, вы должны сделать выбор между аутентификацией Windows и аутентификацией SQL Server. Если вы выбираете аутентификацию Windows, то имя учетной записи должно быть правильным именем Windows, которое записывается в форме домен\имя_пользователя. Если вы выбираете аутентификацию SQL Server, то должны набрать новое имя учетной записи и соответствующий пароль. Дополнительно вы также можете задать базу данных по умолчанию и язык для новой учетной записи. (Базой данных по умолчанию является база…
Оценить
(0 голоса)
В своей модели безопасности Database Engine использует схемы для упрощения отношений между пользователями и объектами; поэтому схемы имеют очень большое влияние на то, как вы взаимодействуете с Database Engine. В этом разделе описывается роль схем в безопасности Database Engine. В первом подразделе описываются отношения между схемами и пользователями; во втором подразделе обсуждаются все три оператора Transact-SQL, связанные с созданием и изменением схемы.
© 2018 www.serversql.ru. Все права защищены.