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;