CREATE TABLE Order( -- таблица "Заказы"
OrderNum INT PRIMARY KEY -- номер заказа
ODate DATE NOT NULL, -- дата заказа
-- столбцы внешнего ключа
ClPastSeria NUMERIC(4,0)NOT NULL,-- серия паспорта
ClPasNumber NUMERIC(6,0)NOT NULL,-- номер паспорта
-- объявление составного внешнего ключа,…
-- … ссылающегося на таблицу Clients
CONSTRAINT Order_FK
FOREIGN KEY (ClPastSeria,ClPasNumber)
REFERENCES Clients(PastSeria,PasNumber));
Для организации связи 1:1 между таблицами ограничение UNIQUE накладывается на внешний ключ.
Стандартный тип реакции сервера на удаление или модификацию строки, на которую ссылаются через внешний ключ строки других таблиц: CASCADE, NO ACTION, RESTRICT, SET NULL, SET DEFAULT, объявляется при создании внешнего ключа после слов ON DELETE и ON UPDATE.
CREATE TABLE Leave( -- таблица "Отпуск"
TabNum INT FOREIGN KEY REFERENCES Staff(TabNum)
ON DELETE CASCADE
ON UPDATE CASCADE,
StartDate DATE NOT NULL,
FinDate DATE NULL);
СУБД MySQL 3.x внешние ключи позволяет объявлять, но целостность по внешним ключам не проверяет (в целях совместимости с будущими версиями).
6.4. Создание автоинкрементных столбцов
Автоинкрементный столбец (autoincrement field) – это целочисленный столбец, значение которого автоматически увеличивается или уменьшается с постоянным шагом при добавлении новой строки. Например, у первой строки этот столбец =1, у второй 2, у третьей 3, и т.д. Когда строка удаляется (например, с номером 3), значение 3 все равно больше использоваться не будет, поскольку автоинкрементный столбец всегда только увеличивается, не возвращаясь назад. Автоинкрементные столбцы используются для создания суррогатных первичных ключей.
Создание автоинкрементных столбцов в Microsoft SQL Server
Автоинкрементный столбец объявляется при описании столбца командами CREATE TABLE или ALTER TABLE с помощью конструкции
Do'stlaringiz bilan baham: |