Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс (заочка) / Лабораторные работы / !Лабораторный практикум ТБД (задание).pdf
Скачиваний:
17
Добавлен:
08.01.2022
Размер:
1.12 Mб
Скачать

Создание индексов

Создайте индекс по столбцу Name таблицы CUSTOMER: CREATE INDEX CustNameIdx ON CUSTOMER(Name);

Индексу дано имя CustNameIdx. Имя не играет роли для Oracle. Чтобы создать уникальный индекс, перед ключевым словом INDEX используют ключевое слово UNIQUE. Например, чтобы гарантировать, что ни одно произведение не:6удет записано дважды в таблицу WORK, можно создать уникальный индекс по столбцам (Title, Copy, ArtistID):

СREATE UNIQUE INDEX WorkUniqueIndex ON WORK (Title, Copy, ArtistID);

Изменение структуры таблиц, контрольные ограничения

После создания таблицы ее структуру можно изменять с помощью оператора ALTER TABLE. Будьте, однако, осторожны с этим оператором, поскольку при его использовании возможна потеря данных,

Добавление или удаление столбца:

ALTER TABLE MYTABLE ADD C1 NUMBER(4);

ALTER TABLE MYTABLE DROP COLUMN C1;

Ограничения на модификацию столбцов таблиц

Чтобы добавить непустой (NOT NULL) столбец, сначала создают его в таблице как пустой, заполняют все его строки данными, а затем объявляют непустым (NOT NULL) с помощью предложения MODIFY.

Модифицируем таблицу ARTIST. Мы установили для столбцов BirthDate (дата рождения) и DeceasedDate (дата смерти) тип данных Date. Допустим, что пользователям базы данных не нужно, чтобы и этих столбцах хранилась полная дата, а нужен только год рождения или смерти художника. Предположим также, что из представленных в галерее художников нет ни одного, кто бы родился или умер ранее 1400 года или позже 2100 года.

Пока эти столбцы имеют пустые значения, что позволяет нам менять тип данных, не удаляя сами столбцы.:

ALTER TABLE ARTIST MODIFY BirthDate Number(4); ALTER TABLE ARTIST MODIFY DeceasedDate Number(4);

Следующие два оператора устанавливают пределы значений столбцов BirthDate

и DeceasedDate:

29