§ 24. Использование SQL для построения запросов

24.2. Определение структуры базы данных

С помощью операторов DDL языка SQL определяется структура БД, т. е. создаются объекты базы данных (пример 24.5) и задаются их свойства.

Назначение команд DDL определяется первым словом в записи команды:

  • CREATE (создать) — создает объект базы данных (таблицу, представление и др.);
  • ALTER (изменить) — изменяет объект;
  • DROP (удалить) — удаляет объект.

Синтаксис команды DDL:

<OPERATOR><OBJECT> <NAME> [параметры]

Синтаксис команды на создание таблицы базы данных:

CREATE TABLE <имя_таблицы>
  (<имя_поля> <тип_данных в поле>
  [<ограничения_ в поле>], ...)

Основные типы данных, используемые в DDL, в сравнении с типами данных в Access:

Тип

Тип данных в Access

COUNTER

Счетчик

INT

Длинное целое

SMALLINT

Целое

DECIMAL

Одинарное с плавающей точкой

FLOAT

Двойное с плавающей точкой

BIT

Логический

CHAR

Короткий текст (не более 255 символов)

NCHAR

Длинный текст

DATETIME

Дата и время

MONEY

Денежный

Основные ограничения SQL для данных в полях таблицы БД:

Ограничение

Описание

DEFAULT

Принимать значение по умолчанию

NOT NULL

Запрет на отсутствие значений

UNIQUE

Запрет повторов значений

PRIMARY KEY

Первичный ключ

Список ограничений в операторе CREATE TABLE может отсутствовать, поэтому в представлении синтаксиса он заключен в квадратные скобки.

В примере 24.6 приведены команды на создание и удаление таблицы базы данных.

В DDL реализована возможность изменения объектов БД — оператор ALTER. С помощью этого оператора можно изменять структуру таблицы, добавляя или удаляя поля, изменять тип поля, добавлять или удалять ограничения (пример 24.7).

Синтаксис команды на изменение таблицы БД:

ALTER TABLE <имя_таблицы> <действия по изменению>

Пример 24.5. Некоторые из объектов в DDL.

DATABASE

База данных

TABLE

Таблица

SCHEMA

Схема

CONSTRAINT

Ограничение

ATTRIBUTE

Свойство

VIEW

Представление

INDEX

Индекс

Пример 24.6. Создание и удаление таблицы базы данных с помощью запросов SQL.

1. Создание:

CREATE TABLE [Сеансы в мае] 
(Код INT PRIMARY KEY, 
Фильм VARCHAR(50) NOT NULL, 
Время TIME NOT NULL, 
Стоимость MONEY)

Команда создает таблицу «Сеансы в мае» следующей структуры:

Поля таблицы:

    • Код — целое (INT), первичный ключ таблицы (PRIMARY KEY).
    • Фильм — строка длиной до 50 символов (VARCHAR(50)), установлен запрет на отсутствие значений (NOT NULL).
    • Время — поле для хранения времени (TIME), установлен запрет на отсутствие значений (NOT NULL).
    • Стоимость — поле для хранения денежной суммы (MONEY).

2. Удаление:

   DROP TABLE [Сеансы в мае]  

Пример 24.7. Использование оператора ALTER для изменения таблицы БД.

1. Добавление поля:

ALTER TABLE [Сеансы в мае] 
ADD COLUMN [Наличие билетов] CHAR

В таблицу «Сеансы в мае» будет добавлено поле «Наличие билетов» с типом данных «Короткий текст». Длина текста ограничена значением по умолчанию (255 символов).

2. Обновление поля:

ALTER TABLE [Сеансы в мае] 
ALTER COLUMN [Наличие билетов] CHAR(10)

Для поля «Наличие билетов» таблицы «Сеансы в мае» будет изменено ограничение по длине текста (установлено ограничение 10 символов).

3. Удаление поля:

ALTER TABLE [Сеансы в мае] 
DROP COLUMN [Наличие билетов]

Поле «Наличие билетов» будет удалено из таблицы «Сеансы в мае».