- •Лабораторная работа 3. Описание структуры бд на языках субд (6 часов) Первое знакомство с интерфейсомAccess
- •Создание таблиц в режиме «Конструктор»
- •Контроль данных в таблицах
- •Описание связей между данными
- •Работа со схемой данных
- •Документирование схемы бд
- •Поля с подстановкой значений из списка
- •Оптимизация источников для подстановочных полей
- •Контроль целостности на уровне записей таблицы
- •Ввод и коррекция данных
- •Язык определения данныхSql-ddl
- •Отчет о работе
Язык определения данныхSql-ddl
Инструкции определения структуры БД позволяют создать (CREATE), изменить (ALTER) и удалить (DROP) таблицы, индексы, представления, пользователей и их группы. Сокращенный синтаксис команд приведен в таблице 8.
Таблица 5 - инструкции SQL DDL
Синтаксис команды |
Примечания |
CREATE TABLE ИмяТабл (поле тип (размер) NOT NULL CONSTRAINT Индекс, … описание других полей… CONSTRAINT СоставнойИндекс)
|
Инструкция создания таблицы, к обязательным относятся только параметры ИмяТабл, поле, тип. Обозначения типов полей см. табл.1. Предложение Constraint см.ниже. |
ALTER TABLE ИмяТабл Изменение где Изменение описывается ключевыми словами: ADD COLUMN поле тип (размер) CONSTRAINT Индекс ALTER COLUMN поле тип (размер) CONSTRAINT Индекс DROP COLUMN поле |
Инструкция изменения таблицы: - добавить новое поле - изменить имеющееся поле - удалить поле |
CONSTRAINT имяИндекса видИндекса, где ВидИндекса принимает значения: PRIMARY KEY UNIQUE
NOT NULL REFERENCES РодительскаяТаблица (Поле)
|
Предложение для описания ограничений и индекса. - первичный ключ - запрет повторений значений поля - запрет пустых значений, -внешний ключ для связи с другой таблицей |
DROP объект, где объект - TABLE таблица, INDEX индекс ON таблица |
Инструкция удаления объекта БД: - для удаления таблицы - для удаления индекса |
Объект «индекс» содержит упорядоченные значения какого-либо столбца таблицы и служит для быстрого поиска в столбце, для связывания таблиц, для упорядочения значений в столбце, создания ключа таблицы. Индексы автоматически создаются при упорядочении полей, при связывании таблиц, то есть в Accessони являются частью структуры таблицы, но вSQLиндексы считаются отдельными объектами БД.
Не все возможные в Accessограничения на поля и связи могут быть описаны в данной версии языкаSQL, возможности режима «Конструктора таблиц» намного богаче.
Обратите внимание, что при описании имен таблиц и полей, содержащих пробелы, следует обязательно заключать имя в квадратные скобки.
Примеры.
1) Создание таблицы с двумя текстовыми полями и числовым ключом:
CREATE TABLE HelpMe (Code INTEGER PRIMARY KEY, Titul TEXT(20), TextHelp MEMO);
2) Добавление в таблицу «Сотрудники» нового столбца «Оклад» денежного типа: ALTERTABLE[Сотрудники]ADDCOLUMN[Оклад]Money;
Команда удаления этого столбца:
ALTERTABLE[Сотрудники]DROPCOLUMN[Оклад];
3) Создание БД из двух таблиц: родительская таблица «Группа» с полями «НомерГруппы», «Специальность» и дочерняя - «Студенты» с полями «КодС», «ФИО», «ДатаРождения», «Номер группы». При описании столбцов укажем ограничения целостности (не пустое значение), первичные ключи и внешний ключ в таблице «Студенты».
CREATE TABLE группа (
НомерГруппы TEXT(4) PRIMARY KEY,
Специальность TEXT(6));
CREATETABLEстуденты (
КодС COUNTER PRIMARY KEY,
ФИО TEXT(50) NOT NULL,
ДатаРождения DATETIME,
НомерГруппы TEXT (4) CONSTRAINT ngr REFERENCES группа);
Практическое задание
Создайте новый файл БД и разработайте на языке SQLзапросы создания таблиц БД и связей между ними, запросы выборки с условиямиbetween,in,like, запрос левого (правого) соединения таблиц с поиском пустых значений, запрос с подзапросом, запрос с объединением (union), запросы на удаление, добавление и обновление данных (всего не менее 12 запросов);