Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ часть 2 _SQL.doc
Скачиваний:
19
Добавлен:
10.11.2019
Размер:
3.88 Mб
Скачать

16. Инструкции ddl

С помощью инструкций DDL можно:

  • определить структуру новой таблицы и создать её;

  • удалить таблицу, которая больше не нужна;

  • изменить определение существующей таблицы;

  • определить виртуальную таблицу (или представление) данных;

  • обеспечить безопасность базы данных;

  • создать индекс для ускорения доступа к таблице;

  • управлять физическим размещением данных и т.д.

В большинстве случаев инструкции DDL обеспечивают высокий уровень доступа к данным и позволяют пользователю не вникать в детали хранения информации в базе данных на физическом уровне. Они оперируют абстрактными объектами базы данных, такими как таблицы и столбцы. Однако DDL не может совершенно не затрагивать вопросов, связанных с физической памятью. Инструкции и предложения DDL, управляющие физической памятью, могут быть разными в различных СУБД.

Ядро языка определения данных образуют три команды:

  • CREATE (создать), позволяющая определить и создать объект базы данных;

  • DROP (удалить), служащая для удаления существующего объекта базы данных;

  • ALTER (изменить), с помощью, которой можно изменить определение объекта базы данных.

Все основные реляционные СУБД позволяют использовать три указанные команды DDL. Таким образом, структура реляционной базы данных является динамической. Например, СУБД может создавать, удалять или изменять таблицы, одновременно с этим обеспечивая доступ пользователям к базе данных. Это – одно из главных преимуществ реляционных баз данных по сравнению с более ранними системами, в которых изменять структуру базы данных можно было только после прекращения работы СУБД. Это означает, что с течением времени база данных может расти и изменяться. Ее промышленная эксплуатация может продолжаться в то время, когда в базу данных добавляются все новые таблицы и модули.

Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне. Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL. Если программе или пользователю требуется таблица для временного хранения результатов, они могут ее создать, заполнить, проделать с данными необходимую работу и затем удалить.

Список основных DDL операторов, применяемых в Oracle,приведен в таблице:

Таблица

Инструкция

Назначение

ALTER RESOURCE COST

изменяет формулу, по которой вычисляется общая стоимость ресурсов сеанса

ALTER SYSTEM

производит динамическое изменение экземпляра БД

ASSOCIATE STATISTICS

определяет, как будет вычисляться статистика для указанных объектов БД

CALL

исполнение хранимого процесса или функции PL/SQL

COMMENT ON

добавляет комментарий для таблицы, представления, моментальной копии или столбца словаря данных

CREATE | ALTER | DROP

CLUSTER

FUNCTION

INDEX

JAVA

MATERIALIZED VIEW

OPERATOR

PACKAGE

PROCEDURE

PROFILE

ROLE

SNAPSHOT

SEQUENCE

TABLE

TABLE SPACE

TRIGGER

TYPE

USER

VIEW

Создает, изменяет или удаляет:

кластер – объект схемы, который содержит одну или несколько таблиц, имеющих несколько общих столбцов

функцию

индекс

объект, содержащий исходный текст, класс или ресурс Java

материализованное представление

оператор

пакет

процедуру

профиль

роль

моментальную копию

последовательность

таблицу

табличное пространство

триггер

тип

пользователя

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

CREATE | DROP

CONTEXT

DATABASE LINK

DIMENSION

DIRECTORY

LIBRARY

INDEXTYPE

SYNONYM

Создает или удаляет

пространство имен для контекста

ссылку на удаленную БД

измерение

объект каталога

объект схемы, сопоставленный разделяемой библиотеке ОС)

индексный тип

общий или частный синоним

CREATE

CONTROLFILE

TEMPORARY TABLESPACE

SCHEMA

Создает:

управляющий файл

временное табличное пространство

несколько таблиц и (или) представлений и выдает права на них в одной инструкции

CREATE | ALTER DATABASE

Создает и изменяет БД

RENAME

Изменяет имя существующей таблицы, представления, последовательности или частного синонима