Изменение таблиц.
Организация баз данных
Этот ряд команд позволит успешно удалить столбец из таблицы. Однако нужно будет воссоздать все прочие объекты, связанные с существующей таблицей. Эти объекты включают индексы, представления, триггеры, снимки и любые хранимые процедурные модули которые обращались к первоначальной таблице. Кроме того, для новой таблицы нужно переназначить все привилегии, представленные для исходной таблицы. Этот… Читать ещё >
Изменение таблиц. Организация баз данных (реферат, курсовая, диплом, контрольная)
Как и в случае табличных пространств, часто возникает необходимость изменить таблицу с использованием команды alter table. Основное назначение этой команды состоит в изменении параметров памяти или транзакции для таблицы. Просто введите новые значения после команды alter table table_name. Обратите внимание, что изменения в параметрах памяти будут распространяться только на будущие распределения для таблицы и не скорректируют экстенты, распределенные в настоящее время.
Команду alter table можно также использовать для добавления новых столбцов или изменения существующих столбцов в таблице. Для добавления столбца для хранения значений лимитов по кредитам заказчиков в таблицу CUSTOMERS выдайте следующую команду:
ALTER TABLE CUSTOMERS.
ADD (CUST_CREDIT_LIMIT NUMBER (7, 2));
Для изменения размера столбца для хранения названий стран используйте следующую команду:
ALTER TABLE CUSTOMERS.
MODIFY (CUST_COONTRY VARCHAR2 (25)) ;
К сожалению, Oracle не позволяет удалять столбцы из таблицы или переименовывать их. В следующем примере показано, как удалить столбец CUST_COUNTRY из таблицы CUSTOMERS. Первая команда создает новую таблицу, CUSTOMERS_NEW, копируя данные из таблицы CUSTOMERS посредством выбора всех столбцов, кроме CUST_COUNTRY. Как только данные будут скопированы, должна быть удалена существующая таблица CUSTOMERS с использованием команды DROP table. (Эта команда описана далее в этой главе в разделе «Удаление таблицы» .) И наконец, имя новой таблицы должно быть изменено на первоначальное имя CUSTOMERS для завершения удаления столбца из таблицы. Этот процесс можно выполнить посредством следующих шагов:
1. CREATE TABLE CUSTOMERS_NEW AS
select CUST_NO,
CUST_NAME,
CUST_ADDRESS,
CUST_SITY,
CUST_STATE,
CUST_POSTAL_CODE,
CUST_PHONE from CUSTOMERS;
- 2. DROP TABLE CUSTOMERS;
- 3. RENAME CUSTOMERSJSEW TO CUSTOMERS;
ПРИМЕЧАНИЕ.
Этот ряд команд позволит успешно удалить столбец из таблицы. Однако нужно будет воссоздать все прочие объекты, связанные с существующей таблицей. Эти объекты включают индексы, представления, триггеры, снимки и любые хранимые процедурные модули которые обращались к первоначальной таблице. Кроме того, для новой таблицы нужно переназначить все привилегии, представленные для исходной таблицы.
Этот процесс будет выполнен, если имеется достаточно свободного пространства для хранения копии новой таблицы и достаточно пространства отката для обработки транзакции. Однако необходимо также вновь выдать все команды, связанные со старой таблицей CUSTOMERS, такие, как index, view и trigger creation, а также восстановить все прочие объекты, ассоциированные со старой таблицей.
Удаление таблицы
И наконец, чтобы удалить таблицу из базы данных, выдайте команду drop table, как показано ниже: drop table customers;
Индексы — это, возможно, наиболее важные объекты в базе данных Oracle, не считая таблиц. Индекс имеет древовидную структуру, и при его правильном использовании позволяет уменьшить количество операций ввода-вывода, необходимых для поиска и выборки данных. Оптимизатор запросов использует индексы для повышения эффективности выборки информации из базы данных. Еще одним назначением индексов является обеспечение однозначности при идентификации данных в таблице.