Управляющие запросы в Access, изменение и удаление таблиц или индексов, страница 2

В общем виде, формат оператора создания таблицы будет таким:

CREATE TABLE НАЗВАНИЕ_ТАБЛИЦЫ

(СПИСОК_СТОЛБЦОВ_И_ОГРАНИЧЕНИЙ);

Перечислим некоторые типы данных Access (название остальных при необходимости посмотрите по справке):

  • COUNTER – счетчик;
  • INTEGER – целое;
  • Text(N) – текстовый тип, в скобках число символов;
  • Memo – поле МЕМО;
  •  DATETIME – Дата/Время;
  • LOGICAL – логический.

Построим теперь запрос, создающий таблицу, ссылающуюся на предыдущую таблицу.  Ограничение внешнего ключа указывается с помощью конструкции REFERENCES, после чего следует указание таблицы на потенциальный ключ которой мы ссылаемся:

CREATE TABLE [Элементы] (ElementsID COUNTER PRIMARY KEY,

ElemID INTEGER REFERENCES [Элемент] NOT NULL, Comment MEMO);

Выполните запрос, и в схеме данных проверьте, что в результате запроса появилась также связь между таблицами типа «1 ко многим».

Задание. Напишите три запроса, создающие структуру данных нашей библиотечной базы (см. лабораторную номер 1). Обратите внимание, что подстановку запросами задать не удастся.

Можно сделать управляющий запрос, который создаст таблицу и внесет в нее какие-то данные из другой таблицы. Пусть, например, нам нужен список авторов книг, размещенный в отдельной таблице. Откройте конструктор запросов, выберите таблицу Book и из нее столбец Author. Найдите на панели инструментов кнопку «Тип запроса» и в выпадающем списке выберите Создание таблицы. Задайте имя таблицы Auth. Теперь в режиме SQL можно увидеть такой текст запроса:

SELECT Book.Author INTO Auth FROM Book;

Выполните запрос и опишите результат.

Удалить таблицу можно с помощью выражения DROP TABLE, например, удалим только что созданную таблицу:

DROP TABLE Auth;

С помощью запросов можно также добавлять, изменять (тип запроса – «обновление»)  и удалять (тип запроса – «удаление») записи. Такие запросы легко строятся в конструкторе.

Задание. В конструкторе создайте два запроса. Первый из них должен увеличивать на 1 год издания всех книг, автор которых Гук. Второй – удалить все библиотечные экземпляры (в таблице Book_in_Lib) книг, изданных в издательстве «Азбука».