Студопедия Главная Случайная страница Обратная связь

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

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





 

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

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




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

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