- •Вопрос 34
- •Вопрос 33
- •Вопрос 32 Целостность данных
- •Создание триггеров
- •Вопрос 31 Понятие функции пользователя
- •Функции Scalar
- •Функции Inline
- •Функции Multi-statement
- •Встроенные функции
- •Математические функции
- •Строковые функции
- •Функции для работы с датой и временем
- •Вопрос 30 Хранимые процедуры в среде ms sql Server
- •Типы хранимых процедур
- •Создание, изменение и удаление хранимых процедур
- •Вопрос 29 28 Определение представления
- •Обновление данных в представлениях
- •Преимущества и недостатки представлений
- •Независимость от данных
- •Актуальность
- •Ограниченные возможности обновления
- •Структурные ограничения
- •Снижение производительности
- •Вопрос 27
- •Содержание
- •Определение[править | править исходный текст]
- •Пример[править | править исходный текст]
- •Поддержание ссылочной целостности в бд[править | править исходный текст] Причины нарушений[править | править исходный текст]
- •Пустые внешние ключи[править | править исходный текст]
- •Ссылочная целостность на триггерах[править | править исходный текст]
- •Ссылочная целостность на внешних ключах[править | править исходный текст]
- •Вопрос 26 Использование подзапросов, возвращающих множество значений
- •Использование операций in и not in
- •Использование ключевых слов any и all
- •Использование операций exists и not exists
- •Вопрос 25 Использование подзапросов, возвращающих единичное значение
- •Вопрос 24 Понятие подзапроса
- •Вопрос 23
- •Вопрос 22 Агрегатные функции MySql
- •Среднее значение
- •Сортировка агрегатных значений
- •Подсчет количества товара для каждого раздела каталога
- •Вопрос 20 Предложение select
- •Предложение from
- •Предложение where
- •Сравнение
- •Диапазон
- •Принадлежность множеству
- •Соответствие шаблону
- •Значение null
- •Предложение order by
Вопрос 33
Как отмечалось, бизнес-правила представляют собой механизмы управления БД и предназначены для поддержания БД в целостном состоянии. Кроме того, они нужны для реализации ограничений БД, а также для выполнения ряда других действий, например, накапливания статистики работы с БД. Бизнес-правила можно реализовывать на физическом и программном уровнях. В первом случае эти правила (например, ограничение ссылочной целостности для связанных таблиц) задаются при создании таблиц и входят в структуру БД. Для этого в синтаксис инструкции CREATE TABLE включаются соответствующие операнды, например, DEFAULT (значение по умолчанию). В дальнейшей работе нельзя нарушить или обойти ограничение, заданное на физическом уровне. На программном уровне бизнес-правила можно реализовать в сервере и в приложении. Причем эти бизнес-правила не должны быть определены на физическом уровне. Для реализации бизнес-правил в сервере обычно используются триггеры. Достоинствами такого подхода является то, что вычислительная нагрузка по управлению БД целиком ложится на сервер, что снижает нагрузку на приложение и сеть, а также то, что действие ограничений распространяется на все приложения, осуществляющие доступ к БД. Однако одновременно снижается гибкость управления БД. Кроме того, нужно учитывать, что средства отладки триггеров и хранимых процедур сервера развиты недостаточно хорошо. Для программирования бизнес-правил в приложении используются компоненты и их средства. Достоинство такого подхода заключается в легкости изменения бизнес-правил и возможности определить правила "своего" приложения. Недостатком является снижение безопасности БД, связанное с тем, что каждое приложение может устанавливать свои правила управления БД.
Вопрос 32 Целостность данных
При работе БД должна обеспечиваться целостность данных. Под целостностью данных понимают обеспечения целостности связей между записями в таблицах при удалении записей из первичных таблиц. То есть, при удалении записей из первичных таблиц автоматически должны удаляться связанные с ними записи из вторичных таблиц.
В случае несоблюдения целостности данных со временем в БД накопится большое количество записей во вторичных таблицах связанных с несуществующими записями в первичных таблицах, что приведёт к сбоям в работе БД и её засорению неиспользуемыми данными.
Для обеспечения целостности данных в SQL Server используют диаграммы и триггеры.
Диаграммы - это компоненты БД, которые блокируют удаление записей из первичных таблиц если существуют связанные с ними записи во вторичных таблицах. Следовательно, диаграммы предотвращают нарушение целостности данных. В SQL Serverдиаграммы создаются при помощи мастера диаграмм, его описание представлено в лабораторной работе.
Триггеры - это аналог процедур обработчиков событий в Visual Basic. То есть они выполняют команды SQL если происходят какие-либо действия с таблицей (Например: добавление, изменение или удаление записей). При помощи триггеров можно организовать автоматическое удаление записей из вторичной таблицы при удалении связанной с ними записи из первичной таблицы.
Рассмотрим создание триггеров при помощи языка SQL.