- •ВВЕДЕНИЕ
- •Лабораторная работа №1
- •Лабораторная работа №3-4
- •Создание первичного ключа двумя способами
- •Создание суррогатных ключей с помощью последовательностей
- •Ввод данных
- •Создание связей
- •Создание индексов
- •Изменение структуры таблиц, контрольные ограничения
- •Ограничения на модификацию столбцов таблиц
- •Представления
- •Контрольные задания к л.р. № 3-4
- •Лабораторная работа №5-6
- •Логика приложения
- •Обработка файлов PL/SQL
- •Хранимые процедуры
- •Хранимая процедура Customer_Insert
- •Листинг 1. Процедура CustomerInsert
- •Хранимая процедура NewCustomerWithTransaction
- •Задания к лабораторной работе.
- •Триггеры
- •Пример предваряющего триггера
- •Пример завершающего триггера
- •Обработка исключений
- •Словарь данных
- •Дополнительный материал для самостоятельного изучения
- •Управление параллельной обработкой
- •Уровень изоляции «завершенное чтение»
- •Уровень изоляции «сериализуемость»
- •Уровень изоляции «только чтение»
- •Дополнительные замечания о блокировках
- •Oracle и безопасность
Создание индексов
Создайте индекс по столбцу 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