snum |
avg |
001 |
5 |
002 |
4 |
003 |
3 |
В этом запросе, в отличие от запроса INSERTINTO таблицу Средний балл не нужно предварительно создавать.
Другим способом создания таблиц является использование команд ЯОД. В MS Access эти команды определены в режиме SQL, но не имеют аналогов в конструкторе запросов. Это уменьшает гибкость использования SQL, т.к. требует предварительного определения всех временно создаваемых таблиц. Формат этой команды имеет следующий вид:
CREATETABLE имя_таблицы (имя_поля тип_данных [(размер)], … имя_поля тип_данных [(размер)]);
Каждая таблица должна содержать хотя бы один столбец, т.к. пробелы используются для разделения параметров, а имена полей не могут содержать пробелы (в MS Acces пробелы возможны, но не рекомендуются).
Типы данных для различных программных средств значительно отличаются, однако в целях совместимости со стандартом всегда поддерживают стандартные ANSI типы данных. К ним относятся:
Пример:
Создать таблицу о среднем балле студента.
CREATE TABLE Средбалл (snum char (3), avg real]);
Структуру таблицы существующей можно изменить по команде ALTERTABLE. Эта команда не является частью стандарта ANSI, но присутствует практически во всех реализациях SQL. Формат команды имеет следующий вид:
ALTER TABLE имя_таблицы
ADD (column) имя_поля тип_данных [размер];
Пример:
Добавить в таблицу Средний балл фамилию студента.
ALTER TABLE Средбалл
ADD sname char (30);
Для удаления столбца используется следующая команда:
ALTER TABLE имя_таблицыDROP [COLUMN] имя_поля;
Пример:
ALTER TABLE СредбаллDROP sname;
Для уничтожения таблицы используется запрос, имеющий следующий формат:
DROPTABLE имя_таблицы;
Пример:
Удалить таблицу Средний балл:
DROPTABLE Средбалл;
В некоторых системах могут удаляться только пустые таблицы, но в MS Access даже заполненная таблица удаляется без всякого предупреждения.
Когда создаётся таблица можно определить ограничения назначения, которые вводятся в поля, и SQL будет отвергать любое значение, не удовлетворяющее условию. Ограничение может быть задано в команде CREATETABLE для конкретного столбца или группы столбцов. Следует отметить, что данное средство не работает в MS Access. Команда CREATETABLEс такими ограничениями отвергается в принципе. Формат команды CREATETABLE с возможными ограничениями имеет вид:
CREATETABLE имя_таблицы (имя_поля тип_данных [(размер)] [ограничение]… , имя_таблицы (имя_поля тип_данных [(размер)] [ограничение])
Типы ограничений к команде:
Пример:
Создать таблицу наиболее успевающих студентов, специализирующихся на кафедре.
CREATE TABLE КАФ_СТУД_ОТЛ (snum char (3) UNIQUE, sname char (30), ball float CHECK (ball >= 4), NOT NULL (snum,sname));
Таблица оценка может быть задана со следующими параметрами:
CREATE TABLE Оценка (opnum char (3) NOT NULL, osnum char (3) NOT NULL, odate char (8) NOT NULL, ocen int CHECK (ocen IN NULL OR ocen >= 2 AND ocen =< 5), PRIMARY KEY (opnum, osnum, odate);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.