Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие_Чигарина_бд_2014.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1.25 Mб
Скачать

7.2 Таблицы баз данных. Создание, удаление, изменение

Команда создания таблиц соответствует стандарту языка SQL. Имена таблиц ограничиваются 128 символами. Они должны быть уникальными по отношению к владельцу. Таблица может содержать до 1024 столбцов. Имя столбца имеет длину до 128 символов и уникально в пределах таблицы (допускаются в имени служебные символы _, @, #). Типы полей также соответствуют стандарту. В качестве одного из видов полей может использоваться счетчик. Столбец счетчика (IDENTITY) – это автоматизированный столбец, генерирующий уникальные значения с некоторым приращением. Столбцы счетчика не могут содержать неопределенные значения, и должны относиться к числовым типам данных - int, smallint, tinyint, numeric(p,0),decimal(p,0). Если при объявлении столбца не указаны начальное значение и приращение, столбец действует как счетчик с начальным значением 1 и приращением 1. Недостаточный размер счетчика может вызвать проблемы. В примере тип tinyint допускает максимальное значение 255, при достижении максимума таблица будет отвергать все дальнейшие операции вставки.

При изменении созданной таблицы к числу возможных модификаций относится добавление столбцов, изменение типов данных в существующих столбцах, объявление первичных ключей и так далее. Нельзя удалить ограничение первичного ключа при наличии ограничения внешнего ключа, ссылающегося на него. Команда изменения выглядит следующим образом:

ALTER TABLE <имя таблицы> <параметры>

Добавить столбцы после определения таблицы можно с помощью команды:

ALTER TABLE <имя таблицы> ADD <имя поля> <тип поля> <ограничения>

Удаление столбцов осуществляется командой:

ALTER TABLE <имя таблицы> DROP COLUMN < имя поля>

Удаление из таблиц ограничений:

ALTER TABLE <имя таблицы> DROP CONSTRAINT <имя ограничения>

Команда удаления таблицы выглядит следующим образом:

DROP TABLE <имя таблицы>

Удаленная таблица навсегда пропадает из базы данных, то есть действие команды удаления невозможно отменить. Удаляются не только пользовательские, но и системные таблицы. Таблицу, на которую ссылаются какие-либо ограничения, удалить нельзя. Перед удалением таблицы эти ограничения необходимо отключить или удалить. Таблица может быть удалена только владельцем. Удаленную таблицу нельзя восстановить. Кроме рассмотренных пользовательских таблиц и системных таблиц, существуют временные таблицы. Имена системных таблиц начинается с префикса sys. Временные таблицы отличаются от обычных тем, что они не предназначены для постоянного хранения данных. Временные таблицы могут быть локальными и глобальными. Локальные временные таблицы доступны только одному пользователю во время сеанса, глобальные временные таблицы доступны всем пользователям сети во время сеанса. Имена временных таблиц начинаются на # (локальные временные таблицы) и на ##(глобальные временные таблицы). Имена временных таблиц ограничиваются 116 символами. Временные таблицы удалятся при отключении пользователя от базы данных. Временные таблицы используются так, как будто они входят в текущую базу данных, однако в действительности данные хранятся в TEMPDB. Временные таблицы удаляются как обычные таблицы во время сеанса работы пользователя.