Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Изменение физических атрибутов

Изменение физических атрибутовВ инструкции Oracle ALTER TABLE можно изменить массу физических атрибутов таблицы. К примеру, если таблица была создана с неправильным пространством таблиц, это легко исправить. В следующем примере предполагается существование пространства таблиц DATA01. Более подробную информацию об изменении физических атрибутов таблиц можно получить в документации Oracle. Часто в таблицу нужно добавить столбец. К примеру, в базе данных ACME легко справиться с ситуацией, когда некоторый заказчик имеет несколько телефонных номеров. А теперь представьте себе бизнес-правила, гласящие, что если у клиента или торгового представителя имеется несколько телефонов, необходимо некоторое средство, определяющее, какой из них является основным и каков его тип (домашний, служебный, мобильный и т. п.). Исходя из этого в таблицу PHONE нужно добавить 2 дополнительных столбца: PHONE_PRIMARY_S со значением по умолчанию Y и PHONE_CATEGORY_S. Также для поля PHONE_PRIMARY_S необходимо определить диапазон допустимых значений (Y и N). Эта задача запросто реализуется с помощью следующей инструкции: Как видно из этого примера, Oracle позволяет с помощью всего одной инструкции ALTER TABLE добавить в таблицу несколько новых столбцов. Аналогичным образом можно избавиться от нескольких лишних столбцов. С помощью инструкции ALTER TABLE можно изменить тип данных существующего столбца, увеличить или уменьшить его размер (для строк) или точность (для чисел). Также можно определить новое значение по умолчанию или добавить ограничение NOT NULL. Однако существуют и некоторые ограничения. Уменьшить размер или точность столбца можно только в том случае, если он пуст (т. е. все его значения равны NULL). В то же время увеличить точность или размеры поля можно безо всяких ограничений (кроме налагаемых самим типом данных). Нельзя добавить ограничение NOT NULL, если в столбце содержится хотя бы одно неопределенное значение (NULL). Имеется также возможность изменения типа данных только на совместимый с существующим (к примеру, CHAR можно изменить на VARCHAR), если столбец не пуст. Для пустых столбцов ограничений выбора типа не существует.