Учебно-практическое пособие москва 2017 ббк



Pdf көрінісі
бет69/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   65   66   67   68   69   70   71   72   ...   243
Байланысты:
Язык SQL. Базовый курс

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


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


Достарыңызбен бөлісу:
1   ...   65   66   67   68   69   70   71   72   ...   243




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

    Басты бет