Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03 (1).docx
Скачиваний:
15
Добавлен:
10.04.2015
Размер:
1.93 Mб
Скачать

Язык определения данных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 запросов);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]