Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет74/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   70   71   72   73   74   75   76   77   ...   256
sql osnovi yazika

CREATE TABLE students
( record_book numeric( 5 ) UNIQUE,
...
);
Это ограничение можно было бы записать и так, дав ему осмысленное имя:
CREATE TABLE students
( record_book numeric( 5 ),
...
CONSTRAINT unique_record_book UNIQUE ( record_book ),
...
);
Опять обратимся к таблице «Студенты» и покажем, как можно создать ограничение
уникальности, включающее более одного столбца. В этой таблице первичным клю-
чом является столбец record_book, но очевидно, что комбинация значений серии и
номера документа, удостоверяющего личность, является уникальной. Поэтому мож-
но модифицировать определение таблицы таким образом:
CREATE TABLE students
( ...
doc_ser numeric( 4 ),
doc_num numeric( 6 ),
...
CONSTRAINT unique_passport UNIQUE ( doc_ser, doc_num ),
...
);
При добавлении ограничения уникальности автоматически создается индекс на ос-
нове B-дерева для поддержки этого ограничения.
98


5.1. Значения по умолчанию и ограничения целостности
Переходим к первичным ключам. Как мы уже говорили ранее, этот ключ является
уникальным идентификатором строк в таблице. Ключ может быть как простым, т. е.
включать только один атрибут, так и составным, т. е. включать более одного атрибута.
При этом в отличие от уникального ключа, определяемого с помощью ограничения
UNIQUE, атрибуты, входящие в состав первичного ключа, не могут иметь значений
NULL. Таким образом, определение первичного ключа эквивалентно определению
уникального ключа, дополненного ограничением NOT NULL. Однако не стоит в ре-
альной работе заменять первичный ключ комбинацией ограничений UNIQUE и NOT
NULL, поскольку теория баз данных требует наличия в каждой таблице именно пер-
вичного ключа.
Первичный ключ является частью метаданных, его наличие позволяет другим табли-
цам использовать его в качестве уникального идентификатора строк в данной таб-
лице. Это удобно, например, при создании внешних ключей, речь о которых пойдет
ниже. Перечисленными свойствами обладает также и уникальный ключ.
Если первичный ключ состоит из одного атрибута, то можно указать его непосред-
ственно в определении этого атрибута:


Достарыңызбен бөлісу:
1   ...   70   71   72   73   74   75   76   77   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет