Изучение средств обеспечения целостности данных в SQL Server 2005. Реализация алгоритмов поддержания целостности с помощью триггеров (Лабораторная работа № 6)

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

Содержание работы

Лабораторная работа №6

Изучение средств обеспечения целостности данных в SQL Server 2005. реализация алгоритмов поддержания целостности с помощью триггеров

1. Цель работы

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

2.  Научиться реализовывать алгоритмы поддержки целостности данных с помощью триггеров.

3.  Изучить языковые средства работы с триггерами в SQL Server 2005.

2. Основные сведения из теории

2.1. Общие сведения о требованиях целостности

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

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

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

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

Согласно концепции Дейта, целостность может рассматриваться как корректность состояний данных и корректность переходов из одного состояния в другое.

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

Выполнение операций записи в таблицах – вставки, обновления и удаления строк – приводит к переходу данных из одного состояния в другое. Возможны случаи, когда для выбранных таблиц и (или) столбцов только часть возможных переходов является допустимой в данной предметной области или с точки зрения здравого смысла. Требование целостности, задающее множество допустимых переходов для выбранных таблиц и (или) столбцов, называется требованием к переходу. В рамках одного проекта БД может быть определено множество требований к переходу, связанных с различными таблицами и столбцами.

Реализация требований целостности – задача, решение которой включает три этапа:

·  словесное описание требований целостности;

·  формализованное описание требований целостности;

·  разработка программной реализации требований целостности в виде ограничений целостности и триггеров.

Словесное описание требований целостности

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

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

Формализованное описание требований целостности

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

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

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