Модификация столбца
Для модификации существующего столбца таблицы служит ключевое слово АLТЕR COLUMN. Изменение свойств столбца не возможно, если:
• столбец участвует в ограничениях PRIMARY КЕУ или FOREIGN KEY;
• на столбец наложены ограничения целостности СНЕСК или UNIQUE (исключение составляют столбцы, имеющие тип данных переменной длины, т. е. типы данных, начинающиеся на var);
• со столбцом связано значение по умолчанию (в этом случае допускается изменение длины, общего количества цифр или количества цифр после десятичной точки при неизменном типе данных).
Определяя для столбца новый тип данных, следует помнить о том, что старый тип данных должен конвертироваться в новый.
Пример модификации столбца "Номер_группы» таблицы «Студенты» (тип данных INTEGER заменяется на СНАR):
ALTER ТАВLЕ Студенты
АLТЕR COLUMN Номер_группы СНАR NOT NULL
Для удаления столбца из таблицы используется предложение DROP COLUMN <имя_столбца>. При удалении столбцов следует учитывать, что нельзя удалять столбцы с ограничениями целостности СНЕСК, UNIQUE, FOREIGN КЕУ или PRIMARY KEY, а так же столбцы, для которых определены значения по умолчанию (в виде ограничения целостности на уровне столбца или на уровне таблицы).
|
|
Рассмотрим, например, команду удаления из таблицы «Студенты» столбца «Год_поступления»:
АLТЕR ТАВLЕ Студенты
DROP COLUMN Год_поступления
Эта команда выполнена не будет, так как при добавлении столбца было определено значение по умолчанию.
Добавление ограничений на уровне таблицы
Для добавления ограничений на уровне таблицы используется предложение ADD CONSTRAINT <имя_ограничения>.
В качестве примера рассмотрим команды добавления внешних ключей в таблицы базы данных «Сессия»
Добавление внешних ключей в таблицу «Учебный_план» (создание связи с именем FК_Дисциплина и связи с именем FК_ Кадровый_состав):
ALTER TABLE Учебный_план
ADD CONSTRAINT FK_Дисциплина
FOREIGN KEY (ID_Дисциплина)
REFERENCES Дисциплины
ALTER TABLE Учебный_план
ADD CONSTRAINT FK_Кадровый_состав
FOREIGN KEY (ID_Преподаватель)
REFERENCES Кадровый_состав
Добавление внешних ключей в таблицу «Сводная_ведомость»
(создание связи с именем FK_Студент и связи с именем FK_План):
ALTER TABLE Сводная_ведомость
ADD CONSTRAINT FK_Студент
FOREIGN KEY (ID_Студент)
REFERENCES Студенты
ALTER TABLE Сводная_ведомость
ADD CONSTRAINT FK_План
FOREIGN KEY (ID_План)
REFERENCES Учебный_план
С помощью конструкции ADD CONSTRAINT создается поименованное ограничение. Необходимо отметить, что удаление любого ограничения на уровне таблицы происходит только по его имени, поэтому ограничение должно быть поименовано (чтобы его можно было удалить).
Рассмотрим еще один пример — добавление значения по умолчанию для столбца Номер_группы:
ALTER TABLE Студент
ADD CONSTRAINT DEF_Номер группы DEFAULT 1 FOR Номер_группы
В результате выполнения этой команды на уровне таблицы будет создано ограничение целостности с именем DEF _Номер_группы.