
196
Часть II. Структурированный язык запросов SQL
изменить ее структуру. Для изменения структуры БД в SQL пре-
дусмотрен язык определения данных, или DDL.
Обычному пользователю крайне редко приходится создавать
БД или таблицы внутри нее. Традиционно он работает с уже го-
товой структурой, которая уже разработана и реализована адми-
нистратором БД. Тем не менее, для полного понимания особен-
ностей работы SQL на операторах DDL стоит остановиться дос-
таточно подробно. С помощью этих операторов можно:
• создать новую БД;
• определить структуру новой таблицы и создать эту таб-
лицу;
• удалить существующую таблицу;
• изменить определение существующей таблицы;
• определить представление данных:
• обеспечить условия безопасности БД;
• создать индексы для доступа к таблицам;
• управлять размещением данных на устройствах хранения.
Операторы DDL позволяют пользователю не вникать в детали
хранения информации в БД на физическом уровне, т.к. опериру-
ют, например, такими понятиями, как таблицы или поля. В то же
время, операторы DDL обладают возможностью манипуляции с
физической памятью.
Собственно DDL базируется на трех командах SQL:
• CREATE - создать, позволяющий определить и создать
объект БД;
• DROP - удалить, применяемый для удаления сущест-
вующего объекта данных;
• ALTER - изменить, с помощью которого можно изменить
определение объекта БД.
Использование команд DDL во время работы позволяет
сделать структуру реляционной БД динамической. Другими
словами, в СУБД можно создавать, удалять или изменять таб-
лицы, одновременно с этим обеспечивая доступ пользователям
к данным. В свою очередь, это означает, что с течением вре-
мени БД может расти и изменяться, а ее эксплуатация может
продолжаться в то время, когда в БД добавляются все новые
таблицы и приложения.
Операторы DDL в СУБД можно использовать как в интерак-
тивном, так и в программном SQL. Например, если программе
Глава 2.4. Способы создания баз данных
197
или пользователю требуется таблица для временного хранения
результатов, то допускается создать эту таблицу, заполнить ее
информацией, выполнить необходимые манипуляции с данными
и затем удалить ее. В серьезных СУБД за создание новых БД от-
вечает только администратор, хотя не исключена возможность
того, что и отдельным пользователям это может быть разрешено.
Методы создания БД, применяемые в ведущих реляционных
СУБД, имеют ряд различий. Например, в Microsoft SQL Server
существует оператор CREATE DATABASE, который является
частью языка определения данных и служит для создания БД.
Соответственно, оператор DROP DATABASE удаляет сущест-
вующие БД. Эти операторы можно использовать как в интерак-
тивном, так и в программном SQL.
Большинство многопользовательских БД имеют достаточно
несложную организацию физической памяти, что обеспечивает
повышение ее производительности. Например, в Microsoft SQL
Server администратор БД может с помощью оператора CREATE
DATABASE задать один или несколько именованных файлов;
CREATE DATABASE <NAME_DATABASE>
ON <FILE1>, <FILE2>, ...
Подход, используемый в SQL Server, позволяет распределять
содержимое БД по нескольким дисковым томам, о чем уже гово-
рилось выше. Следующим шагом, вслед за созданием пустой БД,
является заполнение ее таблицами.
Создание таблиц
Итак, после создания БД необходимо осуществить создание, из-
менение, а если нужно - то и удаление таблиц. Эти действия отно-
сятся к самим таблицам, а не к данным, которые в них содержатся.
Таблицы создаются командой CREATE TABLE. Эта команда
создает пустую таблицу, т.е. не содержащую записей. Очевидно,
что значения в нее можно ввести, например, с помощью команды
INSERT. Главное в команде CREATE TABLE - это определение
имени таблицы и описания набора имен полей, которые указы-
ваются в соответствующем порядке. Кроме того, этой командой
также оговариваются типы данных и размеры полей таблицы.