на начало
На главную страницу
Форум   

Статья :: Ограничения целостности

2.5. Ограничения целостности

Целостность (от англ. integrity – нетронутость, неприкосновенность, сохранность, целостность) – понимается как правильность данных в любой момент времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не может контролировать правильность каждого отдельного значения, вводимого в базу данных (хотя каждое значение можно проверить на правдоподобность). Например, нельзя обнаружить, что вводимое значение 5 (представляющее номер дня недели) в действительности должно быть равно 3. С другой стороны, значение 9 явно будет ошибочным и СУБД должна его отвергнуть. Однако для этого ей следует сообщить, что номера дней недели должны принадлежать набору (1,2,3,4,5,6,7).

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

Выделяют три группы правил целостности:

  1. Целостность по сущностям.
  2. Целостность по ссылкам.
  3. Целостность, определяемая пользователем.

В п. 2.4 была рассмотрена мотивировка двух правил целостности, общих для любых реляционных баз данных.

  1. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал неопределенное значение.
  2. Значение внешнего ключа должно либо:
    1. быть равным значению первичного ключа цели;
    2. быть полностью неопределенным, т.е. каждое значение атрибута, участвующего во внешнем ключе должно быть неопределенным.
  3. Для любой конкретной базы данных существует ряд дополнительных специфических правил, которые относятся к ней одной и определяются разработчиком. Чаще всего контролируется:

уникальность тех или иных атрибутов,
диапазон значений (экзаменационная оценка от 2 до 5),
принадлежность набору значений (пол "М" или "Ж").

[Назад] [Содержание] [Вперед]

Ограничения целостности

страницы в данном разделе 
Данные и ЭВМ Концепция баз данных
Архитектура СУБД Модели данных
Основные понятия Характеристика связей и язык моделирования
Классификация сущностей О первичных и внешних ключах
Ограничения целостности О построении инфологической модели
Реляционная структура данных Реляционная база данных
Манипулирование реляционными данными Цели проектирования
Универсальное отношение Почему проект БД может быть плохим?
О нормализации, функциональных и многозначных зависимостях Нормальные формы
Процедура нормализации Процедура проектирования
Различные советы и рекомендации Назначение и предметная область
Построение инфологической модели Проектирование базы данных
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Основы проектирования реляционных баз данных
ЛИТЕРАТУРА >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста