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

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

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






 

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

Каждая база данных должна удовлетворять ограничениям целостности, то есть ограничениям на значения и структуру данных, учитывающим особенности предметной области, которые должны сохранятся при любых изменениях в базе данных. Различают два вида ограничений целостности: немедленно проверяемые и откладываемые. К немедленно проверяемым ограничениям целостности относятся такие ограничения, проверку которых бессмысленно или даже невозможно откладывать. Примером ограничения, проверку которого откладывать бессмысленно, является ограничение домена (возраст сотрудника не может превышать 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; просмотров: 799. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

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