Основы языка Transact-SQL. Общие сведения о хранимых процедурах. Хранимые процедуры в среде MS SQL Server

Страницы работы

Фрагмент текста работы

Кафедра «Информационные технологии»

Базы данных

Курс лекций по дисциплине «Базы данных» для специальности направления 1-40 01 02‑01 «Информационные системы и технологии (в проектировании и производстве)»

автор-составитель , доцент, канд. физ.-мат. наук

Основы языка Transact-SQL Лекция 3

9. Хранимые процедуры

9.1. Общие сведения о хранимых процедурах

9.2. Хранимые процедуры в среде MS SQL Server

10. Триггеры

2

9. Хранимые процедуры

9.1. Общие сведения о хранимых процедурах

При создании приложения, связанного с БД (в частности, с БД SQL Server), - проблема организации программного взаимодействия с БД. Для решения - 2 основные возможности:

  • формировать команды SQL на стороне клиента, а затем посылать эти команды на сервер для выполнения;
  • перенести часть программного кода на сторону сервера.

3

Последний подход лучше, т.к. позволяет отделить интерфейс пользователя от интерфейса данных и в результате: уменьшить вероятность ошибок; повысить защиту данных; уменьшить передачу данных по сети. Одно из средств реализации такого подхода – хранимые процедуры (ХП), которые чаще всего используются в качестве программных модулей на стороне сервера. Выполнить ХП часто гораздо проще, чем последовательность отдельных операторов SQL.

4

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

5

Основное преимущество ХП - высокая оперативность обработки информации, обусловленная использованием, как правило, мощного компьютера-сервера (как для хранения, так и для обработки данных) и тем, что для доступа к данным не тратится лишнее время, поскольку БД размещается на сервере.

6

Кроме того, ХП обладают следующими преимуществами: • В сравнении с использованием динамических операторов языка SQL ХП работают быстрее (как правило), так как они компилируются при первом выполнении с использованием оптимизации доступа к информации из таблиц.

7

• ХП поддерживают модульное программирование, так как позволяют разбивать большие задачи на самостоятельные, более мелкие и удобные в управлении части. • ХП могут вызывать другие ХП и функции. • ХП могут быть вызваны из прикладных программ других типов.

8

• ХП проще использовать: они могут состоять из десятков и сотен команд, но для их запуска достаточно указать всего лишь имя нужной ХП. Это позволяет уменьшить размер запроса, посылаемого от клиента на сервер, а значит, и нагрузку на сеть.

9

• Хранение процедур в том же месте, где они исполняются, обеспечивает уменьшение объема передаваемых по сети данных и повышает общую производительность системы. • Применение ХП упрощает сопровождение сложных программных комплексов и внесение изменений в них.

10

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

11

  • В результате:
  • Возможность расширения АИС без внесения изменений в само приложение: достаточно изменить ХП на сервере БД.
  • Разработчику не нужно: перекомпилировать приложение, создавать его копии, инструктировать пользователей по работе с новой версией.
  • Пользователи вообще могут не подозревать о внесении изменений.

12

ХП существуют независимо от таблиц или каких-либо других объектов БД. Они вызываются клиентской программой, другой ХП или триггером. Разработчик может управлять правами доступа к ХП, разрешая или запрещая ее выполнение.

13

Изменять код ХП разрешается только ее владельцу или члену фиксированной роли БД. При необходимости можно передать права владения ХП от одного пользователя к другому.

14

9.2. Хранимые процедуры в среде MS SQL Server

  • По области видимости различают ХП следующих типов:
  • системные (System),
  • локальные (Local),
  • временные (Temporary),
  • удаленные (Remote).

15

Системные ХП размещаются в системной БД Master, используются сервером и служат для выполнения различных административных действий. Их имена начинаются с символов sp_. Для создания собственной системной ХП нужно присвоить

Похожие материалы

Информация о работе