Создать таблицу Subject [1] cо столбцами IDSubject, NameSubject.
Решение.
CREATE TABLE Subject
(IDSubject INT,
NameSubject VARCHAR (35));
Здесь и всегда сообщение об успешном выполнении команды CREATE имеет вид: The command(s) completed successfully.
Пример 2
Задача.
Создать таблицу Subject cо столбцами IDSubject (значение которого генерируется автоматически) и NameSubject.
Решение.
CREATE TABLE Subject
(IDSubject INT IDENTITY,
NameSubject VARCHAR (35));
Автоматическая генерация значения столбца IDSubject достигается за счет использования свойства IDENTITY, по умолчанию начальное значение, генерируемое с помощью IDENTITY равно 1, так же как и его приращение. Таким образом, следующее значение будет равно 2. Значения в IDENTITY-столбцах обязательно последовательные, то есть если приращение положительное, то следующее значение всегда больше предыдущего, если приращение отрицательное, то – всегда меньше. Приращение и начальное значение могут быть заданы, однако этот механизм чрезвычайно редко используется в реальных проектах.
Пример 3
Задача.
Создать таблицу Subject cо столбцами IDSubject (значение которого генерируется автоматически, начиная со значения 2 с шагом 2) и NameSubject.
Решение.
CREATE TABLE Subject
(IDSubject INT IDENTITY (2,2),
NameSubject VARCHAR (35));
Не нуждается в доказательстве, что таблица без ограничений не имеет смысла. Например, в таблице Subject – IDSubject является первичным ключом, другой атрибут NameSubject – потенциальным. В первом случае необходимо наложить ограничение PRIMARY KEY, во втором – UNIQUE, кроме того, целесообразно наложить ограничение NOT NULL на оба атрибута.
Синтаксис команды CREATE TABLE для создания таблицы c ограничениями:
CREATE TABLE [<имя базы данных>.[<имя владельца>] <имя таблицы>
({<имя столбца> <тип данных> (<размер>) [<ограничение для столбца>]}
[,…n])
[,<ограничение для таблицы>];
Ограничения на уровне таблицы целесообразно вводить, если они имеют отношения к нескольким столбцам. Ограничения для одного столбца рекомендуется устанавливать на уровне столбца. Все ограничения за исключением ограничения NULL/NOT NULL создаются как на уровне столбца, так и на уровне таблицы. Каждому созданному ограничению за исключением ограничений NULL/NOT NULL присваивается уникальное имя. Если вы хотите сами присвоить имя тому или иному ограничению, то необходимо при создании ограничения воспользоваться предложением CONSTRAINT. Синтаксис предложения CONSTRAINT, задающего в команде CREATE TABLE ограничения, как на уровне таблицы, так и на уровне столбца приведен ниже.
Обратите внимание на то, что при задании ограничения на уровне таблицы перед предложением CONSTRAINT должна стоять запятая.
Если устанавливается несколько поименованных ограничений, то назначение каждого ограничения начинается с ключевого слова CONSTRAINT, ограничения разделяются друг от друга запятыми.