Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Управление структурой таблиц

CuBook05

Структуру таблицы определяют следующие элементы:
  • описания столбцов;
  • ограничения столбцов;
  • описания ключей;
  • описания индексов;
  • ограничения таблицы.
Описания и ограничения столбцов объединяют также под общим термином "описание столбцов". В InterBase ключи могут быть первичными и уникальными. Ограничения таблицы включают в себя ограничения ссылочной целостности и ограничения на значения столбцов.
 
Отметим, что ограничения таблицы, описания ключей и индексов относятся также к структуре базы данных, поэтому их можно просмотреть при выводе метаданных БД, например, с помощью программы IBConsole.
 
При управлении структурой таблицы удаленной БД состав и использование операторов определения данных в языке SQL в принципе не отличаются от ранних версий этого языка для локальных БД. Однако в дополнение к локальной версии для столбцов таблицы удаленной БД можно задавать различные ограничения, например, значение по умолчанию или диапазон возможных значений.
 
Создание таблицы заключается в задании имени и структуры таблицы и выполняется с помощью оператора CREATE TABLE:
CREATE TABLE <ИМЯ ТАБЛИЦЫ> [EXTERNAL [FILE] "<ИМЯ ФАЙЛА>"]
(<Имя столбца1> <Описание столбца1> [<Ограничения столбца1>,]
...
[<Имя столбцам» <Описание столбцаN» [<Ограничения столбцаN»],]
[<Ограничение1 таблицы»,]
...
[<ОграничениеN таблицы»,]
[<Описание ключа1>,]
...
[<Описание ключаN>,]
[<Описание индекса1>,]
...
[<Описание индексаN>]);
Обязательно должны быть заданы имя таблицы и как минимум один столбец. Часть элементов структуры БД это ограничения столбца и описание ключей, которые можно специфицировать либо на уровне столбца, либо на уровне таблицы. В первом случае текст описания указывается в описании соответствующего столбца, во втором отдельно, после описания всех столбцов.
 
По умолчанию таблица добавляется к текущей БД. Если таблицу нужно разместить не в файле БД, а в другом файле, то его имя указывается в операнде EXTERNAL.
 
Удаление таблицы выполняется так же, как в случае локальной БД, оператором DROP TABLE, имеющим формат:
DROP TABLE <Имя таблицы>;
Удалить таблицу, для которой есть подчиненные таблицы, невозможно. Для удаления главной таблицы нужно предварительно удалить ограничения ссылочной целостности, связывающие эти таблицы.
Структуру таблицы можно изменять путем удаления или добавления столбцов, ключей, индексов и ограничений.
Для изменения структуры таблиц нужно иметь соответствующие права (полномочия) доступа к БД и ее таблицам. Кроме того, изменяемые элементы структуры не должны в этот момент использоваться другими пользователями. Например, нельзя удалить индекс, который в данный момент применяется для поиска записей.
Как и для локальных БД, изменение таблицы выполняется оператором ALTER TABLE, который позволяет добавлять и удалять отдельные столбцы, а также ограничения. В отличие от оператора ALTER TABLE, другие операторы типа ALTER ХХХ (например, ALTER TRIGGER) удаляют предыдущее описание указанного объекта и заменяют его на новое.
 
Удаляя и добавляя столбцы, можно требуемым образом изменить состав таблицы. Однако следует иметь в виду, что после удаления столбца теряется вся его информация. Поэтому в случае, когда необходимо только немного изменить описание столбца, рекомендуется поступать так:
  1. Создать новый столбец с требуемым описанием.
  2. Скопировать данные из старого столбца, описание которого изменяется, в новый столбец.
  3. Удалить старый столбец.
Рассмотрим пример, иллюстрирующий приведенную последовательность действий:
CREATE TABLE List
(Name VARCHAR(15));
...
ALTER TABLE List
ADD Name2 VARCHAR(20);
UPDATE List
SET Nante2 = Name;
ALTER TABLE List
DROP Name;
Для ведения списка создана таблица List, имеющая столбец Name строкового типа длиной не более 15 символов. В процессе работы с таблицей возникла необходимость увеличить длину столбца до 20 символов, что и было сделано выполнением последовательности трех операторов. Столбец получил новое ИМЯ Name2.
При уменьшении длины столбца возможна потеря части информации из-за усечения значений, расположенных в конце более длинного столбца.
В рассмотренном способе изменения описания столбца имя нового столбца отличается от старого, что может оказаться нежелательным. В этом случае следует повторить указанные действия еще раз, присвоив новому столбцу прежнее имя.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий