Базы данных - модели, разработка, реализация



         

Средства изменения описания таблиц и средства удаления таблиц


В язык SQL добавлены средства изменения схемы таблиц. Что можно и что нельзя изменять в описании таблицы? В стандарте SQL2 добавлены достаточно широкие возможности по модификации уже существующих схем таблиц. Для модификации таблиц используется оператор ALTER TABLE, который позволяет выполнить следующие операции изменения для схемы таблицы:

  • добавить новый столбец в уже существующую и заполненную таблицу;
  • изменить значение по умолчанию для какого-либо столбца;
  • удалить столбец из существующей таблицы;
  • добавить или удалить первичный ключ таблицы;
  • добавить или удалить новый внешний ключ таблицы;
  • добавить или удалить условие уникальности;
  • добавить или удалить условие проверки для любого столбца или для таблицы в целом.
  • Синтаксис оператора ALTER TABLE:

  • ::= ALTER TABLE
  • { ADD |
  • 151

  • ALTER {SET DEFAULT
  • DROP DEFAULT } |
  • DROP {CASCADE | RESTRICT} |
  • ADD { определение первичного ключа>|
  • |
  • |
  • } |
  • DROP CONSTRAINT имя условия { CASCADE |
  • RESTRICT}
  • }
  • Одним оператором ALTER TABLE можно провести только одно из перечисленных изменений, например, за один раз можно добавить один столбец. Если вам требуется добавить два столбца, то необходимо применить два оператора.

    Давайте рассмотрим несколько примеров. Чаще всего применяется операция добавления столбца. Предложение определения нового столбца в операторе ALTER TABLE имеет точно такой же синтаксис, как и в операторе создания таблицы. Добавим столбец EDUCATION (образование), содержащий символьный тип данных, с заданным перечнем значений ("начальное", "среднее", "неоконченное высшее", "высшее").

  • ALTER TABLE READERS
  • ADD EDUCATION varchar (30) DEFAULT NULL
  • CHECK (EDUCATION IS NULL OR
  • EDUCATION= "начальное" OR
  • EDUCATION= "среднее " OR EDUCATION= "неоконченное высшее" OR
  • EDUCATION= "высшее" )
  • В таблицу READERS будет добавлен столбец EDUCATION, в который по умолчанию будут добавлены все кортежи неопределенного значения.


    Содержание  Назад  Вперед