Логотип коледжу
Оптико-механічний фаховий коледж

Практична робота №7. Визначення схем у SQL/DDL

Мета

Навчитися створювати таблиці, домени та обмеження цілісності командами DDL.

Підготовка

Перед виконанням опрацюйте пов'язану лекцію:

Завдання

Використовуйте базу college та схему college з практичної №5.

  1. Створіть таблицю 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)
);
  1. Створіть таблицю courses із посиланням на підрозділ, типом NUMERIC(10, 2) для плати за навчання та перевіркою кредитів BETWEEN 1 AND 30.
  2. Створіть таблицю зв'язку enrollments зі складеним первинним ключем і зовнішніми ключами.
  3. Для кожної таблиці оберіть найвужчий доречний тип даних і поясніть вибір у звіті.
  4. Перевірте створені об'єкти:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'college';

Вимоги до результату

  • SQL-скрипт schema.sql, який відтворює всі таблиці з нуля.
  • Пояснення вибору типів даних для кожного стовпця.
  • Скріншот списку таблиць у схемі.

Питання для захисту

  • Чому для грошей використали NUMERIC, а не REAL?
  • Навіщо задавати імена обмеженням?
  • Що означає GENERATED ALWAYS AS IDENTITY?
  • У якому порядку потрібно створювати пов'язані таблиці?

Пов'язані лекції

Ресурси

Здати роботу