d580a088

Смысловая целостность



Смысловая целостность

Каждая таблица базы данных соответствует какому-либо объекту реального мира. Такой объект может быть физическим или умозрительным, но его существование в некотором смысле не зависит от базы данных. Если таблица полностью соответствует объекту, который она моделирует, то она обладает смысловой целостностью. Чтобы иметь такую целостность, таблица должна иметь первичный ключ. Этот ключ однозначно определяет каждую строку таблицы. Если его нет, то нет и уверенности, что вы получите нужную вам строку.

Чтобы поддержать целостность объекта, необходимо для столбца или группы столбцов, из которых состоит первичный ключ, указать NOT NULL. Кроме того, для первичного ключа еще необходимо ограничение UNIQUE. В некоторых реализациях SQL такое ограничение указывается непосредственно в определении таблицы. В других же реализациях его приходится задавать уже после того, как будет указано, каким образом данные следует добавлять в таблицу, изменять и удалять из нее. Проще всего добиться, чтобы первичный ключ был и NOT NULL, и UNIQUE, — это использовать ограничение PRIMARY KEY, как показано в следующем примере:



CREATE TABLE CLIENT (
ClientName CHARACTER (30), PRIMARY KEY,
Address1 CHARACTER (30),
Address2 CHARACTER (30),  
City CHARACTER (25),  
State CHARACTER (2),  
PostalCode CHARACTER (10),  
Phone CHARACTER (13),  
Fax CHARACTER (13),  
ContactPerson CHARACTER (30) ) ;  

Альтернативой этому способу является использование ограничения NOT NULL в сочетании с UNIQUE:

CREATE TABLE CLIENT (
ClientName CHARACTER (30), NOT NULL,,
Address1 CHARACTER (30),  
Address2 CHARACTER (30),  
City CHARACTER (25),  
State CHARACTER (2),  
PostalCode CHARACTER (10),  
Phone CHARACTER (13),  
Fax CHARACTER (13),  
ContactPerson CHARACTER (30) ) ;  
UNIQUE (ClientName)) ;



Содержание раздела