Учись программированию на C++ Builder бесплатно!

В таблицах InterBase ключи разделяются на первичные и уникальные (для главных таблиц) и внешние (для подчиненных таблиц). Первичный ключ по построению и использованию не отличается от ключа (главного ключа) в таблицах Paradox. Ключ предназначен для обеспечения уникальности записей и ссылочной целостности БД.

Первичного ключа

Синтаксис

Для описания первичного ключа используется операнд PRIMARY KEY формата:

PRIMARY KEY (<Список столбцов ключа>)

Имена столбцов, образующие ключ, перечисляются в списке через запятую.

Пример 1. Создание ключа для столбца

CREATE TABLE Personnel2
(Code INTEGER NOT NULL,
Name VARCHAR(30),
PRIMARY KEY (Code));

Создается таблица Personnel2, для которой по столбцу Code строится первичный ключ. Для ключевого столбца задан описатель NOT NULL.

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

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

Пример 2. Создание ключа в столбце

CREATE TABLE Personnel2
(Code INTEGER NOT NULL PRIMARY KEY,
Name VARCHAR(30));

Как и в предыдущем примере, здесь создается таблица Personnel2 с первичным ключом по столбцу Code. Оба приведенных способа определения ключа являются эквивалентными.

Уникальный ключ

Синтаксис

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

UNIQUE (<Список столбцов ключа>)

Пример 1. Создание ключа

CREATE TABLE Position
(Code INTEGER NOT NULL,
Position VARCHAR(20) NOT NULL,
PRIMARY KEY (Code),
UNIQUE (Position));

Создается таблица Position, для которой строятся два ключа первичный ключ по столбцу Code и уникальный ключ по столбцу Position.

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


Поиск по сайту