Практична робота №8. Створення структури бази та її об'єктів (SQL DDL)
Мета
Побудувати повну структуру навчальної бази за допомогою DDL: CREATE, ALTER, DROP, TRUNCATE та обмежень цілісності.
Підготовка
Перед виконанням опрацюйте пов'язані лекції:
Завдання
- Сформуйте повний DDL-скрипт вашої схеми з практичної №4 (усі таблиці, ключі, обмеження).
- Виконайте зміну структури на окремій тестовій таблиці:
ALTER TABLE college.courses ADD COLUMN description TEXT;
ALTER TABLE college.courses ALTER COLUMN description SET DEFAULT 'опис відсутній';
ALTER TABLE college.courses DROP COLUMN description;
- Продемонструйте різницю між
DROPіTRUNCATEна тестовій таблиці: створіть тимчасову таблицю, додайте кілька рядків, виконайтеTRUNCATE(збережіть структуру) і покажіть, що рядків немає. - Спробуйте видалити таблицю, на яку посилається зовнішній ключ, і поясніть повідомлення PostgreSQL.
- Опишіть у звіті, які зміни структури небезпечні для даних і чому.
- Зберіть фінальний
schema.sql, що створює базу з нуля без помилок.
Вимоги до результату
- Файл
schema.sql(повний, виконуваний). - Файл
alter.sqlіз демонстрацієюALTER,DROP,TRUNCATE. - Пояснення помилки про зовнішній ключ.
Питання для захисту
- Чим
TRUNCATEвідрізняється відDELETE? - Як безпечно змінити структуру таблиці з даними?
- Чому PostgreSQL забороняє
DROPтаблиці, на яку є посилання? - Коли
ALTERможе призвести до втрати даних?
