
- •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.4 Задача 9
Скласти програму для видачі звіту за умовою задачі 6, використати курсор.
Розв’язок задачі
create or replace function gg() returns TEXT as
$$
DECLARE
-- локальні змінні
reg_name text; oblast_name text; baza_name text; alltxt text; kilk_b integer; kilk_d integer; kilk_m integer;
-- оголошення курсора
cur CURSOR FOR
SELECT
region.n_reg, oblast.n_obl, baza.n_b, paluvo.kilk_b, paluvo.kilk_d, paluvo.kilk_m
FROM
paluvo INNER JOIN baza ON paluvo.kod_b=baza.kod_b
INNER JOIN oblast ON baza.kod_obl=oblast.kod_obl
INNER JOIN region ON oblast.kod_reg=region.kod_reg;
BEGIN
alltxt :=' Область'||' Нафтобаза,'||' Бензину(тонн),'||' Дизпалива(тонн),'||' Машинного масла(тонн),'||'Регіон'||'\n\n';
open cur;
LOOP
FETCH cur INTO reg_name, oblast_name, baza_name, kilk_b, kilk_d, kilk_m;
exit when NOT FOUND;
alltxt := alltxt|| oblast_name||baza_name ||kilk_b ||' '||kilk_d ||' '||kilk_m ||' '||reg_name || '\n';
end loop;
return alltxt;
END;
$$
language plpgsql;
select gg() AS "ZVIT9";
Результат:
6. Висновки
Завершуючи роботу, можна прийти до висновку, що SQL - це високорівнева мова запитів, призначена для роботи з базами даних.
Вона дозволяє модифікувати дані, складати і виконувати запити, виводити результати у вигляді звітів.
Система управління базами даних PostgreSQL, щоє однією з найрозвиненіших в своїй категорії, дозволяє повноцінну реалізацію баз даних на основі SQL, забезпечує всі стандарти SQL, і крім того дозволяє використання власних додаткових можливостей.
В даному курсовому проекті було розглянуто роботу з реляційними базами даних на прикладі PostgreSQL. Було реалізовано завдання по створенню бази даних для обробки інформації в нафтогазовій області, зокрема отримання відомостей про родовища і поклади нафти на території України, для чого використовувалась як мова запитів SQL, так і мова програмування pl/pgSQL.
7. Список використаної літератури
http://www.postgresql.org/docs/
Клим Б.В. Конспект лекцій по предмету “Бази даних”
В.В. Кириллов Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 1994. - 90 с.
М. Мейер Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.
PostgreSQL Reference Manual - Volume 1: SQL Language Reference ― The PostgreSQL Global Development Group, 2007.
Уорсли Дж., Дрейк Дж. PostgreSQL. Для профессионалов. – СПб.: Питер, 2003. – 496с.