Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Хранимые процедуры. Назначение





Хранимая процедура - это последовательность компилированных операторов Тгаnsасt - SQL, хранящихся в системной базе данных SQL Server. Хранимые процедуры предварительно откомпилированы, поэтому эффективность их выполнения выше, чем у обычных запросов. Хранимые процедуры работают непосредственно на сервере и хорошо укладываются в модель клиент- сервер.

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

Системные хранимые процедуры предназначены для получения информации из системных таблиц и выполнения различных служебных операций и осо­бенно полезны при администрировании базы данных. Их имена начинаются с sp_ (stored procedure).

Пользовательские хранимые процедуры создаются непосредственно разработ­чиками или администраторами базы данных.

Полезность хранимых процедур определяется в первую очередь высокой скоростью их выполнения. Кро­ме того, они являются средством систематизации часто выполняемых операций. При выполнении в первый раз хранимой процедуры можно выделит ряд этапов.

  • Процедура разбивается на отдельные компоненты лексическим анализатором выражений.
  • Компоненты, ссылающиеся на объекты базы данных (таблицы, индексы представления и т. п.), сопоставляются с этими объектами с предвари тельной проверкой их существования. Этот процесс носит название разрешение ссылок.
  • В системной таблице syscomments сохраняется исходный текст процедуры, а в таблице sysobjects - ее название.
  • Создается предварительный план выполнения запроса. Этот предварительный план называется нормализованным планом или деревом запроса и хранится в системной таблице sysprocedures.
  • При первом выполнении хранимой процедуры дерево запроса считывается и окончательно оптимизируется. Выполняется ранее созданный План процедуры.

Такая схема дает возможность при повторных вызовах не тратить время на синтаксический анализ, разрешение ссылок и компиляцию дерева запросов.



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

Использование хранимых процедур имеют еще ряд дополнительных Пре­имуществ.

  • Хранимые процедуры позволяют выделять правила в отдельную структуру. В дальнейшем эти правила используются многими приложениями, образуя устойчивый к ошибкам интерфейс данных. Выгода такого подхо­да состоит в том, что можно осуществлять изменение правил только для отдельной части объектов базы данных, а не для всех ее приложений.
  • Использование хранимых процедур значительно повышает производи­тельность запросов, однако наибольшей ее прирост достигается при вы­полнении многократно повторяющихся операций, когда план запроса постоянно хранится в системном кэше.
  • Хранимые процедуры могут принимать аргументы при запуске и возвра­щать значения (в виде результирующих наборов данных).
  • Хранимые процедуры могут запускаться по расписанию (в режиме авто­матического выполнения), задаваемому при запуске SQL Server.
  • Хранимые процедуры используются для извлечения или изменения дан­ных в любое время.
  • Хранимые процедуры, в отличие от триггеров, вызываются явно. То есть при непосредственном обращении к процедуре из приложения, сцена­рия, пакета или задачи.

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

 

Макросы, их создание

Общие сведенья о макросах

Макросом называют список выполняемых инструкций Microsoft Access, которому присвоено имя. Каждую из инструкций называют макрокомандой. При запуске макроса макрокоманды выполняются в порядке их расположения в списке; при этом используются объекты или данные, указанные в аргументах макрокоманд. Макросы позволяют автоматизировать выполнение повторяющихся действий и расширить функциональные возможности базы данных.

Макрокоманда -основной строительный блок макроса: самодостаточная инструкция, которая может быть объединена с другими макрокомандами, чтобы автоматизировать выполнение задачи.

В MS Access можно определить макрос, выполняющий практически те же действия, которые можно реализовать нажатием на клавиши или кнопку мыши. Основным преимуществом макросов в Access является то, что они могут вызываться в ответ на многие виды событий. Событие может являться изменение данных, открытие или закрытие формы или отчета

Аргумент макрокоманды - дополнительные сведенья, необходимые некоторым макрокомандам, например, имя обрабатываемого объекта или условие, при котором данная макрокоманда должна быть выполнена.

Microsoft Access предоставляет различные типы макрокоманд для автоматизации приложения:

* Вы можете использовать макросы для открытия любой таблицы, запроса, формы или отчета в любом режиме. Вы можете также использовать макрос для закрытия любой открытой таблицы, запроса формы или отчета.

* Вы можете использовать макросы для открытия отчета в режиме предварительного просмотра или для непосредственного вывода отчета на принтер. Вы также можете вывести данные из отчета в файл в формате RTF (расширенный текстовый формат) или файл Microsoft Excel (XLS).

* Макрокоманды можно использовать для выполнения запроса-выборки или запроса-действия. Можно задавать параметры запроса с помощью элементов управления любой открытой формы.

* Макрокоманды можно использовать для выполнения действия, зависящего от значения величин в база данных, форме или отчете. Макросы можно использовать для запуска других макросов или процедур Microsoft Access Basic. Можно прервать выполнение текущего макроса или всех макросов, отменить событие, которое запустило макрос, или даже выйти из приложения.

* Макросы можно использовать для установки любого значения элемента управления формы или отчета. Можно также эмулировать действия клавиатуры и передавать вводимые с клавиатуры данные в системные диалоговые окна.

* Макросы можно использовать для построения фильтра, для перехода к любой записи, для поиска данных в базовой таблице или базовом запросе формы.

* Макросы можно использовать для выполнения любой команды любого меню Access.

* Макросы можно использовать для перемещения, изменения размеров, сворачивания или восстановления любого окна внутри рабочего окна Access. С помощью макросов можно передать фокус любому из окон или любому элементу управления внутри окна.

* Макросы можно использовать для вывода на экран информационных сообщений и звуковых сигналов для привлечения внимания к вашим сообщениям. Также с помощью макросов можно отключать системные сообщения при выполнении запросов - действий.

* Макросы можно использовать для перемещения любого из объектов базы данных. Можно сделать копию объекта либо скопировать его в другую базу данных.

* Макросы можно использовать для запуска других приложений как в среде MS Windows так MD DOS, а так же осуществлять обмен данными с приложением, используя механизм DDE или буфер обмена.

Общие сведенья о модулях

Как и для других объектов базы данных, в Microsoft Access имеется набор инструментов для создания необходимой программы Microsoft Access Basic. Имеется набор инструментов для отладки и анализа, созданных программ, который поможет вам убедиться, что разработанная вами программа функционирует должным образом.

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

Общие модули

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

Модули, связанные с формами и отчетами.

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

Модули форм или отчетов имеют два важных преимущества перед общими модулями:

программа необходимая для автоматизации действий в некоторой форме или отчете, храниться в месте с данной формой или отчетом. Не возникает необходимости запоминать имя того модуля, который используется для хранения процедур обработки событий определенной формы или отчета.

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

Когда следует использовать модули.

Хотя макросы и являются мощным средством, все-таки можно назвать некоторые задачи, которые нельзя решить с помощью макросов.

Целесообразно использовать модули вместо макросов во всех перечисленных ниже случаях, когда:

* необходимо отслеживать и обрабатывать ошибки приложения

* требуется проводить обработку событий с передачей или получением параметров;

* во время работы приложения нам нужно создавать новые создавать новые объекты (таблицы, запросы , формы или отчеты

* приложение должно взаимодействовать с другими приложениями Windows, используя динамический обмен данными (DDE);

* когда необходимо непосредственно использовать системные функции Windows;

* нужно поместить часть программ в библиотеку;

* необходимо обрабатывать отдельные записи, а не наборы записей.

Заключение

На занятии были рассмотрено назначение и возможностях форм и отчетов, а также как правильно использовать эти средства в своих приложениях. Рассмотрены такие средства автоматизация приложений, как макросы и модули.









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.