Показать сообщение отдельно
  #8  
Старый 24.09.2009, 12:53
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Целостность данных



Целостность данных

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


Ограничение NOT NULL. По умолчанию во всех столбцах таблицы разрешены неопределенные (null) значения. Это означает возможность отсутствия значения в столбце. Ограничение NOT NULL требует, чтобы в столбце таблицы были определенные значение. Например, если установлено ограничение NOT NULL для столбца LAST_NAME таблицы EMPLOYEES, в каждой строке хранится фамилия сотрудника.


Ограничение UNIQUE. Ограничение целостности "уникальный ключ" означает, что каждое значение в столбце или наборе столбцов должно быть уникально, т.е. никакие две строки таблицы не должны содержать одинаковые значения в этом столбце или наборе столбцов. Например, ограничение UNIQUE, определенное для столбца DEPARTMENT_NAME таблицы DEPARTMENTS запрещает строки с повторяющимися наименованиями отделов. В большинстве случаев для поддержки ограничения используется уникальный индекс.


Ограничение PRIMARY KEY. Главный ключ (PRIMARY KEY) у каждой таблицы может быть только один. Это ограничение обеспечивает уникальность значения столбца или комбинации столбцов и поэтому значение первичного ключа уникально идентифицирует каждую строку таблицы.

Oracle, реализуя ограничение PRIMARY KEY гарантирует, что оба, приведенные ниже условия, верны:

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

Oracle обычно поддерживает ограничение PRIMARY KEY с помощью индекса. Например, главный ключ таблицы DEPARTMENTS, включающий столбец DEPARTMENT_ID, поддерживается путем неявного создания:

- уникального индекса для этого столбца;
- ограничения NOT NULL для этого столбца.


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

Например, внешний ключ в таблице EMPLOYEES - это столбец DEPARTMENT_ID. Он гарантирует, что каждое значение в этом столбце соответствует значению главного ключа (primary key) таблицы DEPARTMENTS (также столбец DEPARTMENT_ID). Поэтому в таблице EMPLOYEES не может быть отделов с неверными номерами в столбце DEPARTMENT_ID. Ограничение ссылочной целостности, в котором используется рефлексивный внешний ключ, ссылающийся на главный ключ той же самой таблицы, называется рефлексивным (self-referential integrity constraint).


Ограничение CHECK задает условие, которое должно быть верно (true) или неопределенно (null) для каждой строки. Когда в результате команды DML нарушается условие в ограничении CHECK (false), команда откатывается.
__________________
Телеграм чат
Ответить с цитированием