русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Поддержка целостности данных


Дата добавления: 2014-11-28; просмотров: 3937; Нарушение авторских прав


 

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

Целостность данных – это точность и непротиворечивость значений данных в базе данных.

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

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

· категорная целостность;

· целостность на уровне ссылок;

· функциональные зависимости.

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



Правило категорной целостности. Никакой ключевой атрибут строки не может быть пустым.

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

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

 

ЗАГОЛОВКИ (НОМЕР_ПРОТОКОЛА, ДАТА, ТИП_ОБЪЕКТА, ИСПЫТАТЕЛЬ),

РЕЗУЛЬТАТЫ (НОМЕР_ПРОТОКОЛА, ПАРАМЕТР_1,…, ПАРАМЕТР_N).

 

Внешним ключом для связи между этими таблицами служит атрибут НОМЕР_ПРОТОКОЛА.

Если в рассмотренном выше примере из таблицы ЗАГОЛОВКИ удалить некоторую запись, не удалив при этом связанные с ней записи из дочерней таблицы РЕЗУЛЬТАТЫ, то эти записи как бы повиснут в воздухе.

Условиями ссылочной целостности данных называют набор правил для поддержания связей между записями в связанных таблицах. Эти правила делают невозможным случайное удаление или изменение связанных данных.

Условия целостности данных выполняются в следующих случаях:

· связанное поле главной таблицы является ключевым полем;

· связанные поля (внешние ключи) имеют один тип данных;

· обе таблицы принадлежат одной базе данных.

При определении условия целостности данных действуют следующие ограничения.

 

Для изменения записей:

· при изменении значений внешнего ключа в родительской таблице автоматически осуществляется каскадное изменение всех соответствующих значений в дочерней таблице;

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

 

При удалении записей:

 

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

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

 

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

 



<== предыдущая лекция | следующая лекция ==>
Реляционная модель данных | Процесс нормализации таблиц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.377 сек.