9.3. Операторы определения данных
9.3.1. Создание таблиц
Создание таблицы осуществляется посредством оператора
CREATE
TABLE
.
Е
ГО
упрошенная версия выглядит следующим образом:
CREATE TABLE Имя_таблииы
( Имя_столбца Тип_данъи [NULL | NOT NULL ] [,...]}
Оператор такого вида приведет к созданию таблицы с именем
<Имя_таблицы>, которая будет содержать столько столбцов, сколько их
задано в операторе. При определении столбца необходимо задать его имя,
тип данных, к которому будут относиться значения этого столбца, а также
определить, можно ли в качестве значения рассматриваемого столбца
использовать ключевое слово
NULL
.
Ключевым словом
NULL
помечается
117
такой столбец, который может содержать неопределенные значения.
Определения столбцов первичных ключей отношений всегда должны
содержать ключевые слова
ROT NULL
.
Для того чтобы создать таблицу s1 БД СЕССИЯ, необходимо
использовать оператор вида
CREATE TABLE s1 (
ФИО
VARCHAR
(20)
NOT
NULL,
Дисциплина
VARCHAR (20)
NOT NULL,
Оценка
SMALLINT
NOT
NULL);
Полное описание оператора
CREATE TABLE ДОЛЖНО
включать
средства поддержки целостности данных. Такие средства представляют
собой
спецификаторы,
позволяющие
задать
ограничения
для
предотвращения попыток нарушить согласованность данных. Базовое
определение оператора
CREATE TABLE
имеет следующий формат:
CREATE TABLE имя_таблицы
({ имя_столбца тип_даных [NOT NULL] [UNIQUE]
[DEFAULT значение по умолчанию]
[CHECK (условие проверки на допустимость) [,...] }
[PRIMARY KEY (список столбцов),]
{[UNIQUE (список столбцов),] [,...]}
{[FORING KEY {список столбцов внешних ключей)
REFERENCES имя родительской таблицы [(список столбцов
ключей-кандидатов)],
[MATCH {PARTIAL | FULL}
[ON UPDATE правило ссылочной целостности]
[ON DELETE правило ссылочной целостности]] [,...]}
{[CHECK (условие проверки на допустимость)] [,...]})
Перепишем оператор создания таблицы s1 БД Сессия следующим
образом:
CREATE TABLE sI (
ФИО
VARCHAB
(20)
NOT
NULL,
Дисциплина
VAHCHAR (20)
NOT NULL,
Оценка
SMALLINT
NOT
NULL);
PRIMARY KEY (ФИО, Дисциплина),
FORING KEY ФИО REFERENCES S2
ON UPDATE CASCADE
ON DELETE CASCADE);
Учитывая то, что операторы языка SQL транслируются в режиме
интерпретации, создавать таблицы необходимо в определенном порядке:
вначале родительские, а затем дочерние. В противном случае появятся
сообщения об ошибке в том случае, когда в определении дочерней
118
таблицы будут присутствовать ссылки на еще не существующую
родительскую таблицу.
Do'stlaringiz bilan baham: |