Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_reu.docx
Скачиваний:
8
Добавлен:
29.07.2019
Размер:
147.92 Кб
Скачать

Пользовательские хранимые процедуры

Хранимые процедуры — это модули или подпрограммы, в которых содержится повторно используемый код. Хранимая процедура принимает входные параметры, выполняет инструкции языка описания данных (DDL) и языка обработки данных (DML), возвращает клиенту табличные или скалярные результаты, а также выходные параметры. В SQL Server 2005 хранимая процедура может относиться к одному из двух типов: Transact-SQL или CLR.

Transact-SQL

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

CLR

Хранимая процедура CLR представляет собой ссылку на метод общеязыковой среды выполнения (CRL) платформы Microsoft .NET Framework, который может принимать и возвращать пользователю параметры. Они реализованы в виде публичных статических методов класса в сборке .NET Framework. Дополнительные сведения см. в разделе Хранимые процедуры CLR.

Расширенные хранимые процедуры

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Вместо этого используйте интеграцию со средой CLR.

Расширенные хранимые процедуры позволяют создавать собственные внешние подпрограммы на языках программирования (например на С). Они представляют собой библиотеки DLL, которые могут динамически загружаться и выполняться экземпляром Microsoft SQL Server. Выполнение расширенных хранимых процедур осуществляется непосредственно в адресном пространстве экземпляра SQL Server и программируется при использовании интерфейсов API расширенных хранимых процедур SQL Server.Примечание.

Интеграция со средой CLR более надежна и безопасна, чем использование расширенных хранимых процедур.

Системные хранимые процедуры

Многие административные действия в SQL Server 2005 осуществляются при помощи специальных процедур, которые называются системными хранимыми процедурами. Например, sys.sp_changedbowner — это системная хранимая процедура. Физически системные хранимые процедуры хранятся в базе данных ресурсов и имеют префикс sp_. Логически же они отображаются в любой системной или пользовательской базе данных в схеме sys. В SQL Server 2005 к системным хранимым процедурам могут применяться разрешения GRANT, DENY и REVOKE. Полный список системных хранимых процедур см. в разделе Системные хранимые процедуры (Transact-SQL).

SQL Server поддерживает системные хранимые процедуры, обеспечивающие интерфейс между SQL Server и внешними программами для выполнения различных действий по обслуживанию системы. Эти расширенные хранимые процедуры имеют префикс xp_. Полный список расширенных хранимых процедур см. в разделе Основные расширенные хранимые процедуры (Transact-SQL).

25

Индекс (англ. index) — объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет искать строки, удовлетворяющие критерию поиска. Ускорение работы с использованием индексов достигается в первую очередь за счёт того, что индекс имеет структуру, оптимизированную под поиск — например, сбалансированного дерева.

Существует два типа индексов: кластерные и некластерные. При наличии кластерного индекса строки таблицы упорядочены по значению ключа этого индекса. Если в таблице нет кластерного индекса, таблица называется кучей[3]. Некластерный индекс, созданный для такой таблицы, содержит только указатели на записи таблицы. Кластерный индекс может быть только одним для каждой таблицы, но каждая таблица может иметь несколько различных некластерных индексов, каждый из которых определяет свой собственный порядок следования записей.

23

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]