Студопедия — ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ






 

Теоретические сведения.

Каждая база данных должна удовлетворять ограничениям целостности, то есть ограничениям на значения и структуру данных, учитывающим особенности предметной области, которые должны сохранятся при любых изменениях в базе данных. Различают два вида ограничений целостности: немедленно проверяемые и откладываемые. К немедленно проверяемым ограничениям целостности относятся такие ограничения, проверку которых бессмысленно или даже невозможно откладывать. Примером ограничения, проверку которого откладывать бессмысленно, является ограничение домена (возраст сотрудника не может превышать 150 лет). Более сложным ограничением, проверку которого невозможно отложить, является следующее: зарплата сотрудника не может быть увеличена за одну операцию более чем на 100 рублей. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушениях не производится откат транзакции, а отвергается соответствующий оператор. К немедленно проверяемым ограничениям целостности можно отнести проверку ограничений на уровне поля (при создании таблицы в конструкторе таблицы-Table Designer можно определить правило проверки – Validation Rule, определяющее логическое выражение, которое должно выполнятся до ввода значения в таблицу; можно определить сообщение, выводимое при проверке значения поля – Validation Text; можно определить имя заголовка поля – Caption) и на уровне записи.

Проверка ограничений на уровне записи осуществляется с помощью триггеров, то есть правил для контроля событий добавления, удаления и изменения. Триггер сам не может изменять значение записи, он может только проверить правильность ограничения на уровне записи. Триггер сам по себе не может изменить запись, которая вызвала его, так как изменение вызовет триггер модификации, он изменит значение и снова рекурсивно вызовет самого себя, что приведет к зависанию компьютера. Триггер принимает одно из двух значений:.T.,.F. При нажатии кнопки Table Properties в Table Designer появится окно для ввода правил проверки на уровне записи. Проверка правильности ввода записи осуществляется после проверки правильности ввода полей.

Откладываемые ограничения целостности – это ограничения на базу данных, а не на отдельные операции. По умолчанию такие ограничения проверяются при завершении транзакции, а их нарушение вызывает автоматическую замену оператора фиксации транзакции, на оператор отката транзакции. Транзакция – это неделимая с точки зрения воздействия на базу данных последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации), не нарушающая ограничения целостности и такая, что либо результаты всех операций, входящих в транзакцию, отображаются в базе данных, либо воздействие всех этих операций полностью отсутствует. Откат транзакции – отмена всех операторов – ROLLBACK, фиксация транзакции – процедура внесения изменений в базу данных – COMMIT. Откладываемые ограничения целостности включают проверку ссылочной целостности таблиц (любое изменение, добавление, удаление во взаимосвязанных таблицах должно происходить синхронно). При работе в конструкторе баз данных, где осуществляется связь между таблицами при нажатии правой кнопки мыши и выборе команды Referential Intergrity в окне его построителя есть вкладки для определения действий при удалении, изменении и добавлении записей для каждой родительской и дочерней таблиц. Для каждого из названных действий можно выбрать одну из опций:

Ignore – игнорировать действие, ничего не предпринимать,

Restrict – не разрешать производить изменения, если есть дочерние записи,

Cascade – произвести каскадную модификацию, то есть повторить те же самые изменения во всех дочерних записях.

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

Начало транзакции-команда BEGIN NRANSACTION, конец транзакции команда – END TRANSACTION, фиксация транзакции команда – COMMIT, откат транзакции команда – ROLLBACK. Visual FoxPro поддерживает транзакции только для таблиц базы данных. Транзакции могут иметь пять уровней вложенности. Для вложенных транзакций выполняются следующие правила: 1) изменения, сделанные во всех вложенных транзакциях, фиксируются только последней командой END TRANSACTION, 2) команда END TRANSACTION завершает только свой уровень транзакции, 3) команда ROLLBACK отменяет изменения только своего уровня транзакции, 4) изменения, выполненные для одних и тех же данных, на более высоком уровне транзакции имеют приоритет над изменениями, выполненными на более низком уровне транзакции.

 

Задание на лабораторную работу.

1. В таблицу, хранящую сведения о студентах на уровне поля добавить ограничения: номер зачетной книжки должен быть > 10000, значение по умолчанию года рождения студентов- 1980. Задать ограничение на уровне записи для таблицы, хранящей результаты сессии - сумма оценок по трём предметам не должна превышать 15. Запретить изменения в таблице сведений о студентах с помощью триггера.

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

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

 

 

Вопросы.

 

1. Что Вы понимаете под ограничением целостности базы данных?

2. Какие виды ограничений целостности данных Вам известны?

3. Как осуществляются в Visual FoxPro непосредственно проверяемые ограничения целостности?

4. Как осуществляются в Visual FoxPro откладываемые ограничения целостности?

5. Что Вы понимаете под транзакцией?

6. Что Вы понимаете под ссылочной целостностью данных?

 

 







Дата добавления: 2014-11-10; просмотров: 802. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия