Язык 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 голоса)
Схема является коллекцией объектов базы данных, которыми владеет один человек, и множеством форм одного пространства имен. (Две таблицы в одной схеме не могут иметь одинаковых имен.) Начиная с SQL Server 2005, жесткая связь между пользователями и схемами была отменена. Теперь Database Engine поддерживает именованные схемы, используя понятие .принципала (администратора доступа), который имеет право доступа к объектам. Принципал может быть: ♦ индивидуальным; ♦ групповым. Индивидуальный принципал представляет одного пользователя, например, в виде учетной записи (логин) или учетной записи пользователя Windows. Групповой принципал может быть группой пользователей, например, ролью или группой Windows. Принципалы являются владельцами схем, однако владение схемой может быть легко…
Оценить
(0 голоса)
Существуют три оператора Transact-SQL, связанные со схемой: ♦ create schema; ♦ alter schema; ♦ drop schema. Оператор CREATE SCHEMA В примере 12.5 показано, как схемы могут быть созданы и использованы для управления безопасностью базы данных.   В примере 12.5 создается схема my_schema, которая содержит в себе таблицу product и представление product_info. Пользователь базы данных с именем peter является принципалом на уровне базы данных, который владеет схемой. (Вы используете опцию authorization для определения принципала схемы. Принципал может владеть и другими схемами, а может и не использовать текущую схему как его или ее схему по умолчанию.) Оператор create schema может создавать схему,…
Оценить
(0 голоса)
Оператор alter schema перенаправляет объект между различными схемами в одной и той же базы данных. Синтаксис оператора alter schema имеет следующий вид: alter schema schema_name transeer object_name В примере 12.6 показано использование оператора alter schema.     В примере 12.6 изменяется схема humanresources базы данных AdventureWorks. В эту схему перемещается таблица address из схемы person той же самой базы данных. Оператор alter schema может быть использован только для перемещения объектов между разными схемами в одной и той же базе данных. (Одиночные объекты в схеме могут быть изменены при помощи операторов alter table или ALTER VIEW.)
Оценить
(0 голоса)
Оператор drop schema удаляет схему из базы данных. Вы можете успешно выполнить оператор drop schema для схемы только лишь в том случае, если эта схема не содержит никаких объектов. Если же схема содержит какие-либо объекты, то оператор drop schema будет отменен системой. Как ранее было сказано, система позволяет изменять владение схемой при использовании оператора alter authorization, который изменяет владение для любой сущности. В примере 12.7 показано использование оператора alter authorization для изменения владельца схемы myschema.  
Оценить
(0 голоса)
Учетная запись пользователя Windows, или логин, дает возможность пользователю соединяться с системой. Пользователь, который впоследствии собирается получить доступ к отдельной базе данных системы, также должен иметь учетную запись для этой базы данных для работы с базой данных. Поэтому пользователи должны иметь учетную запись базы данных для каждой базы данных, которую они собираются использовать. Учетная запись пользователя для базы данных может отображаться в существующем списке учетных записей пользователя Windows, в группах Windows (членом которых является этот пользователь), в логинах или ролях.
Оценить
(0 голоса)
Полномочия безопасности базы данных могут быть установлены при использовании операторов Transact-SQL, Management Studio или системных процедур. В этом разделе не рассматривается создание учетных записей пользователей с использованием системных процедур, потому что все соответствующие системные процедуры (sp_grantdbaccess и sprevokedbaccess) будут удалены в будущих версиях SQL Server.
Оценить
(0 голоса)
Оператор create user добавляет пользователя в текущую базу данных. Синтаксис этого оператора: create user user_name [for {login login | certificate cert_name | asymmetric key key__name}] [ with default_schema = schema_name ) Здесь user_name- имя, которое будет применяться для идентификации пользователя внутри базы данных; login задает логин, под которым создается пользователь; certname и keyname задают сертификат и асимметричный ключ соответственно. Наконец, опция with defaultschema задает первую схему, которая будет отыскиваться на сервере при разрешении имен объектов для этого пользователя базы данных. В примере 12.8 демонстрируется использование оператора create user.     Первый оператор create user создает пользователя базы данных с именем…
Оценить
(0 голоса)
Для добавления пользователей с применением SQL Server Management Studio разверните сервер, разверните папку Databases, разверните нужную базу данных и раскройте узел Security. Щелкните правой кнопкой мыши по Users и выберите пункт New User. В диалоговом окне Database User (рис. 12.3) введите имя пользователя и выберите соответствующее имя учетной записи. В дополнение к этому вы можете выбрать для пользователя участие в роли базы данных, а также схемы, которыми владеет этот пользователь.    
Оценить
(0 голоса)
Каждая база данных в системе имеет следующие схемы базы данных по умолчанию: ♦ guest (ГОСТЬ); ♦ dbo; ♦ information_schema; ♦ sys. Database Engine дает возможность пользователям, не имеющим учетной записи пользователя, получить доступ к базе данных с использованием схемы guest. (После создания каждая база данных содержит такую схему.) Вы можете назначать привилегии схеме guest теми же способами, что и любым другим схемам. Вы также можете удалять и добавлять схему guest в любой базе данных за исключением системных баз данных master и tempdb. Каждый объект базы данных может принадлежать одной и только одной схеме, которая является схемой по умолчанию для этого…
Оценить
(1 голос)
Когда нескольким пользователям нужно выполнять похожие действия с отдельной базой данных (и для них нет соответствующей группы Windows), вы можете добавить роль базы данных, которая задает группу пользователей базы данных, имеющих доступ к одним и тем же объектам базы данных. Участниками роли базы данных могут быть любые следующие представители: ♦ группы Windows и учетные записи пользователей Windows; ♦ учетные записи SQL Server; ♦ другие роли. Архитектура безопасности в Database Engine включает несколько «систем» ролей, которые имеют специальные неявные полномочия. Существуют два типа предварительно определенных ролей (в дополнение к ролям, определенным пользователем): ♦ фиксированные серверные роли; ♦ фиксированные роли базы данных.…
© 2018 www.serversql.ru. Все права защищены.