PRIMARY KEY (id_plant),

CHECK (LEN(p_name) > 5));

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

 

LEN(p_name) BETWEEN 18 AND 100 – длина имени должна быть в пределах от 18 до 100 символов

LEN(p_name) IN (10, 20, 30) – длина имени может быть равна 10, 20 или 30 символам.

Для объявления внешнего ключа применяют инструкции REFERENCES и FOREIGN KEY.

Так же, как и первичный, внешний ключ можно объявить двумя способами: на уровне столбца (для простых ключей) и таблицы (для простых и составных ключей).

 

Объявление на уровне столбца:

 

CREATE TABLE Shop

(id_product int IDENTITY,

Pr_name char(20),

Pr_definition varchar(150),

Pr_cost int,

Fk_plant int REFERENCES Plants (id_plant));

 

Здесь поле fk_plant – внешний ключ таблицы Shop, который ссылается на поле id_plant (первичный ключ таблицы Plants).

 

Объявление на уровне таблицы:

 

CREATE TABLE Shop

(id_product int IDENTITY,

Pr_name char(20),

Pr_definition varchar(150),

Pr_cost int,

Fk_plant int,

FOREIGN KEY (fk_plant)

REFERENCES Plants (id_plant));

 

Пример создания составного внешнего ключа:

 

CREATE TABLE Shop

(id_product int IDENTITY,

Pr_name char(20),

Pr_definition varchar(150),

Pr_cost int,

Fk_plant int,

FOREIGN KEY (fk_plant, pr_name)

REFERENCES Plants (id_plant, p_name));

 

Можно определять действия, которые SQL Server будет предпринимать, когда пользователь попытается удалить или обновить ключ, на который указывают еще существующие внешние ключи. Действия указываются с помощью конструкций ON DELETE (при удалении) и ON UPDATE (при обновлении).

 

Существует четыре варианта действий.

 

CASCADE. Внешний ключ будет приведен в соответствие родительскому ключу. При изменении р.к. внешний ключ также изменится, при удалении – будет удалены все содержащие ключ записи.

SET NULL. Значения внешнего ключа будут установлены в NULL.

SET DEFAULT. Для внешнего ключа будет установлено значение по умолчанию, а при отсутствии такового – NULL.

NO ACTION. Применяется по умолчанию. Внешний ключ не меняется, но если в результате применения оператора ссылка может стать недействительной, оператор игнорируется.

По умолчанию выполняется действие NO ACTION, если не указано иное.

 

CREATE TABLE Shop

(id_product int IDENTITY,

Pr_name char(20),

Pr_definition varchar(150),

Pr_cost int,

Fk_plant int REFERENCES Plants (id_plant)

ON DELETE NO ACTION

ON UPDATE CASCADE);

 

 


Выборка данных

 

Для выборки данных в SQL используется инструкция SELECT. Она состоит из следующих основных частей. Части пишутся в определенном порядке.

 

1. Список выборки. Здесь указываются столбцы, которые включаются в результат запроса. Столбцы возвращаются в порядке их перечисления в списке выборки. Чтобы список выборки содержал все столбцы таблицы, можно использовать символ *.

2. Раздел FROM. Определяет источник (или источники) данных для выборки (таблицы или представления).

 

SELECT * FROM Films; – выводит все данные из таблицы «Films».

SELECT FilmName, PublYear FROM Films;– выборка только названия и года выхода фильма.

 

Имена объектов БД можно уточнить. Уточненное имя записывается в форме:

 

ИмяСервера . ИмяБазы . ИмяВладельца . ИмяТаблицы(для таблицы)

ИмяСервера . ИмяБазы . ИмяВладельца . ИмяТаблицы . ИмяСтолбца(для столбца)

 

Уточнение имени полезно, например, при выборке данных из нескольких таблиц, если таблицы содержат одноимённые столбцы.

Для того чтобы сократить размеры запроса, для громоздких имен объектов в разделе FROM можно задать псевдонимы. После объявления псевдонима нельзя обращаться к объекту по имени в текущем запросе. Служебное слово AS можно опустить.

 

Псевдоним для таблицы:

 








Дата добавления: 2018-09-24; просмотров: 304;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.