- •1. Вступ
- •2. Коротка історія PostgreSql
- •3. Оновні концепції роботи з PostgreSql
- •3.1 Створення таблиць
- •3.1.1 Типи даних
- •3.2 Внесення даних у таблицю
- •3.3 Редагування таблиць
- •3.4 Обмеження
- •Immediate – всі або конкретне обмеження перевіряються наприкінці кожної команди.
- •3.5 Послідовності
- •3.6 Запити
- •3.7 Об'єднання таблиць (Join)
- •3.8 Агрегатні функції
- •3.9 Курсори sql
- •4. Основні елементи мови pLpgSql
- •4.1 Структура мови, функції користувача.
- •4.2 Розгалуження, цикли, масиви.
- •4.3 Курсори
- •5. Практична частина
- •Регіон: код регіону, назва регіону; Область: код регіону, код області, назва області;
- •5.1 Завдання 1
- •5.2 Завдання 2
- •5.3 Завдання 3
- •5.3 Завдання 3
- •5.3 Завдання 3
- •5.4 Завдання 4
- •5.4 Задача 4
- •5.4 Задача 7
- •5.4 Задача 9
- •6. Висновки
- •7. Список використаної літератури
5. Практична частина
Завдання:
Задача 1. Спроектувати та утворити базу даних Palyvo для зберігання та обробки інформації, яка містить такі дані про забезпеченість паливно-мастильними матеріалами:
назва регіону;
назва області;
назва нафтобази;
дата представлення даних;
кількість бензину, тис. т;
кількість дизпалива, тис. т;
кількість машинного масла, тис. т.
Утворити таблиці БД. Рекомендації до побудови таблиць:
Регіон: код регіону, назва регіону; Область: код регіону, код області, назва області;
Нафтобаза: код області, код нафтобази, назва нафтобази;
Паливо: код нафтобази, дата представлення даних, кількість бензину, кількість дизпалива, кількість машинного масла.
Рекомендовані зразки даних для побудови таблиць подані в дадатку А.
Задача 2. Підготувати і занести в таблиці контрольні дані.
Задача 3. Виготовити запити, де відібрати дані для звітів.
Задача 4. Виготовити звіт про розподіл кількості нафтобаз, областей по категоріях. Навпроти назв областей установити назви нафтобаз, розділених пробілом, установити значення кількості нафтобаз у даній області.
Задача 5. Виготовити запит про розподіл кількості нафтових областей по категоріях. Навпроти назв регіонів і областей установити значення кількості нафтових баз для кожної категорії.
Задача 6. Виготовити звіт з видачею областей, регіонів, нафтобаз, та ресурсів на них, використовуючи курсор.
Задача 7. Утворити запит про вартість палива яке є на нафтобазі. Використовуючи курсори.
Задача 8. Виготовити запити з відомостями про всі нафтобази. Забезпечити відповідний напис для баз про ввивіз палива в листопаді. Використовуючи курсори.
Задача 9. Скласти програму для видачі звіту за умовою задачі 6, використати курсор.
5.1 Завдання 1
Спроектувати та утворити базу даних Palyvo для зберігання та обробки інформації, яка містить такі дані про забезпеченість паливно-мастильними матеріалами:
назва регіону;
назва області;
назва нафтобази;
дата представлення даних;
кількість бензину, тис. т;
кількість дизпалива, тис. т;
кількість машинного масла, тис. т.
Розв’язок
CREATE TABLE region --створення таблиці регіон
(
kod_reg integer NOT NULL,
n_reg character(80),
CONSTRAINT region_pkey PRIMARY KEY (kod_reg),
CONSTRAINT region_n_reg_key UNIQUE (n_reg)
)
CREATE TABLE oblast --створення таблиці область
(
kod_reg integer,
kod_obl integer NOT NULL,
n_obl character(80),
CONSTRAINT oblast_pkey PRIMARY KEY (kod_obl),
CONSTRAINT oblast_n_obl_key UNIQUE (n_obl)
)
CREATE TABLE baza --створення таблиці база
(
kod_obl integer,
kod_b integer NOT NULL,
n_b character(80),
CONSTRAINT baza_pkey PRIMARY KEY (kod_b),
CONSTRAINT baza_n_b_key UNIQUE (n_b)
)
CREATE TABLE paluvo --створення таблиці паливо
(
kod_b integer NOT NULL,
data date,
kilk_b integer, -- кількість бензину
kilk_d integer, -- кількість дизпалива
kilk_m integer, -- кількість машинного масла
CONSTRAINT paluvo_pkey PRIMARY KEY (kod_b)
)
--створення додаткових обмежень
ALTER TABLE paluvo ADD CONSTRAINT kilk_b CHECK (kilk_b> 0);
ALTER TABLE paluvo ADD CONSTRAINT kilk_d CHECK (kilk_d> 0);
ALTER TABLE paluvo ADD CONSTRAINT kilk_m CHECK (kilk_m> 0);
Результати виконання:

