Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авт_ПМП / Metod_BD.doc
Скачиваний:
31
Добавлен:
05.02.2016
Размер:
574.98 Кб
Скачать

Видалення таблиць (оператор drop table)

Непотрібні таблиці видаляються з бази з допомогою оператора DROP TABLE, який має формат:

DROP TABLE table_name[RESTRICT | CASCADE]

Наприклад, для видалення таблиці Vidomist з бази необхідно застосувати оператор:

DROP TABLE Vidomist

Якщо в операторі вказано ключове слово RESTRICT і в базі існує хоча б один об’єкт, який пов’язаний з таблицею table_name (наприклад, VIEW в якому використовується ця таблиця), операція видалення буде відхилена. Якщо в операторі вказано ключове слово CASCADE, автоматично буде видалена таблиця table_name і всі об’єкти, які пов’язані з цією таблицею.

Створення індексу (оператор create index)

Індекс – це об’єкт бази даних, з допомогою якого істотно збільшується швидкість пошуку даних в таблицях. Створення індексів не передбачено стандартом, але більшість розробників СУБД підтримують такий оператор:

CREATE [UNIQUE] INDEX index_name

ON table_name(column [ASC | DESC][,…])

Вказані в операторі стовпчики утворюють ключ індексу. Індекси можуть створюватись лише для таблиць бази даних. Наприклад, оператор:

CREATE INDEX ind_osobaON Osoba (kod ASC)

створює індекс ind_osoba по полю kod у висхідному порядку для таблиці Osoba.

Якщо в операторі вказано ключове слово UNIQUE, автоматично буде підтримуватись унікальність значень ключа. Тобто СУБД не дозволить існування двох рядків з однаковим

значенням індексу. В нашому прикладі це означає, що СУБД не допустить двох і більше рядків у таблиці Osoba з однаковим кодом.

Видалення індексу (оператор drop index)

Оператор DROP INDEX видаляє з бази створений раніше індекс. Він має формат:

DROP INDEX index_name

Наприклад, оператор

DROP INDEX ind_osoba

видаляє з бази створений раніше індекс ind_osoba для таблиці Osoba.

Модифікація структури таблиці (оператор alter table)

Для зміни структури існуючої таблиці стандартом ISO передбачено оператор ALTER TABLE. Визначення цього оператора містить шість параметрів для виконання таких операцій:

  • вставка в таблицю нового стовпчика;

  • видалення стовпчика з таблиці;

  • видалення з визначення таблиці існуючого обмеження;

  • визначення для зазначеного стовпчика значення за змовчуванням;

  • відміна встановленого значення за змовчуванням для даного стовпчика.

Оператор ALTER TABLE має такий формат:

ALTER TABLE table_name

[ADD [COLUMN] column_name data_type[NOT NULL] [UNIQUE]

[DEFAULT default_option] [CHECK (search_condition)]]

[DROP [COLUMN] column_name[RESTRICT | CASCADE]]

[ADD [CONSTRAINT [constrain_name]]table_constraint_definition]

[DROP CONSTRAINT constrain_name[RESTRICT | CASCADE]]

[ALTER [COLUMN] SET DEFAULT default_option]

[ALTER [COLUMN] DROP DEFAULT]

Тут параметри мають ті ж призначення, що і в операторі CREATE TABLE. Параметрtable_constraint_definitionможе приймати одне з таких значень: PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK. У фразі DROP COLUMNcolumn_nameзадається ім’я стовпчика, який видаляється з таблиці. Кваліфікатор RESTRICT означає, що якщо на даний стовпчик посилається який небудь інший об’єкт бази, він з таблиці не видалиться; кваліфікатор CASCADE означає, що крім стовпчика вказаної таблиці будуть видалені всі посилання на даний стовпчик в базі. За змовчуванням діє кваліфікатор RESTRICT.

Оператор ALTER TABLE реалізовано не у всіх діалектах SQL. В деяких діалектах підтримується урізаний варіант цього оператора (не дозволяється видаляти вже існуючі стовпчики).

Соседние файлы в папке Авт_ПМП