Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_Infa.doc
Скачиваний:
169
Добавлен:
20.03.2016
Размер:
2.75 Mб
Скачать

9.3. Операторы определения данных

9.3.1. Создание таблиц

Создание таблицы осуществляется посредством оператора create table. Его упрошенная версия выглядит следующим образом:

CREATE TABLE Имя_таблииы

( Имя_столбца Тип_данъи [NULL | NOT NULL ] [,...]}

Оператор такого вида приведет к созданию таблицы с именем <Имя_таблицы>, которая будет содержать столько столбцов, сколько их задано в операторе. При определении столбца необходимо задать его имя, тип данных, к которому будут относиться значения этого столбца, а также определить, можно ли в качестве значения рассматриваемого столбца использовать ключевое слово null. Ключевым словом null помечается такой столбец, который может содержать неопределенные значения. Определения столбцов первичных ключей отношений всегда должны содержать ключевые слова 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 транслируются в режиме интерпретации, создавать таблицы необходимо в определенном порядке: вначале родительские, а затем дочерние. В противном случае появятся сообщения об ошибке в том случае, когда в определении дочерней таблицы будут присутствовать ссылки на еще не существующую родительскую таблицу.

9.3.2. Обновление таблиц

В уже созданную таблицу изменения могут быть внесены с помощью оператора alter table, который имеет следующий обобщенный формат:

ALTER TABLE имя_таблицы

[ADD [COLUMN] имя столбца тип даных [NOT NULL] [UNIQUE]

[DEFAULT значение по умолчанию] [CHECK (условие проверки на допустимость)]]

[DROP [COLUMN] ] имя_столбца [RISTRICT | CASCADE]]

[ADD [CONSTRAINT [имя ограничения)] ограничение]

[DROP CONSTRAINT имя ограничения [RISTRICT I CASCADE]]

[ALTER [COLUMN] SET DEFAULT значение по умолчанию]

[ALTER (COLUMN] DROP DEFAULT]

В данном формате предусмотрены возможности для выполнения ряда действий:

  • добавить новый столбец в существующую таблицу — ADD COLUMN;

  • удалить столбец из существующей таблицы — DROP COLUMN;

  • добавить в определение таблицы новое ограничение — ADD CONSTRAINT;

  • удалить из определения таблицы существующее ограничение — DROP

  • constraint;

  • задать для существующего столбца значение по умолчанию — ALTER [COLUMN] SET DEFAULT;

  • отменить установленное для столбца значение по умолчанию ALTER [COLUMN] DROP DEFAULT.

Добавить в таблицу s1 столбец Группа, содержащий символьный тип данных, можно с помощью оператора:

ALTER TABLE s1

ADD Группа varchar (7) NOT NULL;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]