Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Хранимые процедуры (stored procedures) - являются механизмом, с помощью

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

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

Хранимые процедуры используют для добавления записей в таблицу, создания таблицы и вставки данных с помощью оператора SELECT (insert into), удаления и обновления данных.

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

1. встроенные функции:

 функции просмотра конфигурации;

 функции для работы с курсорами;

 функции работы с датой и временем;

 математические функции;

 функции метаданных;

 функции подсистемы безопасности;

 строковые функции;

 системные функции;

 статистические функции;

 функции для работы с типами данных image, text и ntext.

2. оператор SELECT:

 с вычисляемыми полями;

 с операторами сравнения;

 с фразой BETWEEN;

 с фразой IN;

 с фразой LIKE;

 с сортировкой по алфавиту;

 с фразой TOP;

 с использованием агрегатных функций;

 с фразой GROUP BY;

 с фразой HAVING;

 с использованием функций для работы со строками;

3. управляющие конструкции и циклы:

 IF... ELSE (IF EXISTS...);

 BEGIN... END;

 WHILE;

 CASE;

4. локальные и глобальные переменные;

5. возвращать код завершения (RETURN).

Через хранимые процедуры осуществляются правила ограничения целостности

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

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

только выбирается объект Programmability  Stored Procedures  New .

72.Триггеры.

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

Триггер - это выполняемый модуль, привязанный к объекту базы данных – чаще всего к таблицам и событию, связанному с этим объектом (insert, update или delete). Триггер вызывается неявно при возникновении события над этим объектом. Триггер получает всю информацию о выполняемых пользователем изменениях в таблице. Разработчик реализовывает в триггере необходимые проверки и изменения данных в других таблицах базы данных. Когда пользователь начинает изменение данных, сервер автоматически начинает транзакцию, в которой и выполняется триггер. В теле транзакции разработчик может реализовывать произвольные алгоритмы, которые могут выполнять как проверку, так и изменения данных. В конце концов, работа триггера сводится либо к фиксации, либо к откату транзакции, которая осуществляет изменение данных. Если выполняется откат транзакции, то попытка пользователя изменить данные отменяется. При этом также отменяются все исправления, сделанные самим триггером в различных таблицах (если они выполнялись). При фиксации транзакции производится как фиксирование изменений, выполненных пользователем, так и изменений, сделанных самим триггером. Триггер хранится в базе данных наряду с таблицами, представлениями, хранимыми процедурами.

При вызове триггеров используются две специальные таблицы: таблица удаления (deleted table) и таблица добавления (inserted table). Они используются для проверки операторов модификации данных и создания условий для работы триггеров. В таблице deleted сохраняются копии строк, которые удаляются операторами update или delete. В таблице inserted сохраняются копии строк, которые вставляются операторами insert или update. Пользователь не может непосредственно изменять данные в этих таблицах, но может использовать находящуюся в них информацию для проверки последствий выполнения

операторов insert, update или delete.

При определении триггера задаются его имя и имя таблицы, при обращении к которой срабатывает триггер, момент срабатывания триггера и действие, выполняемое при срабатывании триггера (операторы Insert, Delete, Update, Execute procedure).

«Каскадирующий» триггер: при изменении кода специальности в таблице Специальность обновляются строки со старым кодом на новое значение в таблице Предмет:

CREATE TRIGGER tr_up ON Специальность

FOR UPDATE

AS

DECLARE @sschar(20), @dd char(20)

SELECT @dd=Спец FROM deleted

SELECT @ss=Спец FROM inserted

UPDATE Предметы SET Спец=@ss

WHERE Спец=@dd

73.Многомерные хранилища данных. Модели кубов данных.

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

Многомерная модель данных, лежащая в основе построения многомерных хранилищ данных, опирается на концепцию многомерных кубов, или гиперкубов. Они представляют собой упорядоченные многомерные массивы, которые также часто называют OLAP-кубами (аббревиатура OLAP расшифровывается как On-LineAnalyticalProcessing — оперативная аналитическая обработка). Технология OLAP представляет собой методику оперативного извлечения нужной информации из больших массивов данных и формирования соответствующих отчетов.

В основе многомерного представления данных лежит их разделение на две группы — измерения и факты.

Измерения — это категориальные атрибуты, наименования и свойства объектов, участвующих в некотором бизнес-процессе. Значениями измерений являются наименования товаров, названия фирм-поставщиков и покупателей, ФИО людей, названия городов и т.д. Измерения могут быть и числовыми, если какой-либо категории (например, наименованию товара) соответствует числовой код, но в любом случае это данные дискретные, то есть принимающие значения из ограниченного набора. Измерения качественно описывают исследуемый бизнес-процесс.

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





Дата публикования: 2015-02-03; Прочитано: 330 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...