Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
57
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

23 Изменение определения и удаление таблицы (инструкции alter ,drop table).

DROP TABLE

В соответствии со стандартом инструкция DROPTABLEдолжна включать в себя либо параметрCASCADE, либоRESTRICT, которые определяют, как влияет удаление таблицы на другие объекты базы данных (например, представления), зависящие от этой таблицы. Если задан параметрCASCADEи в базе данных имеются объекты, которые содержат ссылку на удаляемую таблицу, то выполнение инструкции закончится неуспешно. В большинстве коммерческих СУБД допускается применение инструкцииDROPTABLEбез каких-либо параметров.

ALTER TABLE

Изменения в определении таблицы можно осуществить с помощью инструкции ALTERTABLE

Чаще всего инструкция ALTER TABLE применяется для добавления столбца в существующую таблицу. Предложение с определением столбца в инструкции ALTER TABLE имеет точно такой же вид, как и в инструкции CREATE TABLE, и выполняет ту же самую функцию

С помощью инструкции ALTER TABLE можно удалить из существующей таблицы один или несколько столбцов, если в них больше нет необходимости. Например, следующая инструкция удаляет столбец POSITIONиз таблицыSALESREPS.

alter tablesalesreps

dropposition;

Как видно из рисунка, инструкция ALTERTABLEможет:

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

• удалить столбец из таблицы;

• изменить значение по умолчанию, для какого – либо столбца;

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

• добавить или удалить внешний ключ таблицы;

• добавить или удалить условие уникальности;

• добавить или удалить условие на значения

24 Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)

CREATE/DROP ALIAS

Поэтому и только в случае получения разрешения на доступ к таблицам другого пользователя, для ссылки на них необходимо использовать полные имена таблиц. На практике это означает, что в каждом запросе к таким таблицам следует указывать полные имена таблиц, в результате чего запросы становятся длинными, а их ввод – утомительным:

Для решения этой проблемы во многих СУБД вводится понятие псевдонимаилисинонима.Псевдоним– это назначаемое пользователем имя, которое заменяет имя некоторой таблицы.

В ORACLEдля создания псевдонимов используется инструкция CREATE SYNONYM. В других СУБД для аналогичных целей используется инструкцияCREATE ALIAS

DROP ALIAS – удаление псевдонима

CREATE/DROP INDEX

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

СУБД пользуется индексом так же, как читатели пользуетесь предметным указателем книги. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Данные в индексе располагаются в отсортированном по убыванию или возрастанию порядке, чтобы СУБД могла быстро найти требуемое значение. Затем по указателю СУБД может быстро локализовать строку, содержащую искомое значение.

Пример select tel_no, address

fromstaff

wherelname= ‘Комаров’;

В инструкции ничего не говорится о том, имеется ли индекс для столбца LNAMEили нет, и СУБД выполнит запрос в любом случае.

Если бы индекса для столбца LNAMEне существовало, то СУБД была бы вынуждена выполнять запрос путем последовательного “сканирования” таблицыSTAFF, строка за строкой, просматривая в каждой строке столбецLNAME.

В инструкции указывается имя индекса и таблица, для которой он создается. Задается также индексируемый столбец и порядок его сортировки (по возрастанию или убыванию, на приведенной диаграмме данная возможность не отражена с целью придания ей по – возможности “большей” универсальности).