Практична робота №7. Визначення схем у SQL/DDL
Мета
Навчитися створювати таблиці, домени та обмеження цілісності командами DDL.
Підготовка
Перед виконанням опрацюйте пов'язану лекцію:
Завдання
Використовуйте базу college та схему college з практичної №5.
- Створіть таблицю
departments:
CREATE TABLE college.departments (
department_id INTEGER GENERATED ALWAYS AS IDENTITY,
code VARCHAR(10) NOT NULL,
name TEXT NOT NULL,
CONSTRAINT pk_departments PRIMARY KEY (department_id),
CONSTRAINT uq_departments_code UNIQUE (code)
);
- Створіть таблицю
coursesіз посиланням на підрозділ, типомNUMERIC(10, 2)для плати за навчання та перевіркою кредитівBETWEEN 1 AND 30. - Створіть таблицю зв'язку
enrollmentsзі складеним первинним ключем і зовнішніми ключами. - Для кожної таблиці оберіть найвужчий доречний тип даних і поясніть вибір у звіті.
- Перевірте створені об'єкти:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'college';
Вимоги до результату
- SQL-скрипт
schema.sql, який відтворює всі таблиці з нуля. - Пояснення вибору типів даних для кожного стовпця.
- Скріншот списку таблиць у схемі.
Питання для захисту
- Чому для грошей використали
NUMERIC, а неREAL? - Навіщо задавати імена обмеженням?
- Що означає
GENERATED ALWAYS AS IDENTITY? - У якому порядку потрібно створювати пов'язані таблиці?
