- •1. Пояснення до тексту пояснювальної записки
- •1. Постановка задачі до курсової роботи
- •2. Теоретична частина (короткий опис візуальних та програмних засобів PostfreSql)
- •1.2. Поради щодо складання тексту пояснювальної записки
- •2. Варіанти задач курсової роботи
- •Варіант 2 Реалізація продукції хлібозаводу
- •Варіант 3 Нафтогазоносні родовища України
- •Варіант 4 Розміри газонафтоносних родовищ України
- •Варіант 5 Газосховища України
- •Варіант 6 Нафтобази України
- •Варіант 7 Транспортування газу по території України
- •Варіант 8 Забезпеченість України паливно-мастильними матеріалами
- •Варіант 9 Видобування нафти на Україні
- •Варіант 10 Запаси нафти на родовищах України
- •Варіант 11 Зміни запасів нафти в родовищах України
- •Варіант 12 Гiдрохiмiчний стан поверхневих вод
- •Варіант 13 Реалізація продукції хлібозаводу
- •Варіант 14 Облік відвідування занять студентами вузу
- •Варіант 15 Газосховища України
- •Варіант 16 Вміст нафтопродуктів у нафтобазах України
- •Варіант 17 Забезпеченість паливно-мастильними матеріалами
- •Варіант 18 Добовий видобуток нафти на Україні
- •Варіант 19 Кадровий облік працівників фірми
- •Варіант 20 Дані про туристичну фірму (даний варіант розглянути в прикладі)
- •Варіант 21 Продажа товарів торгівельною фірмою
- •Варіант 22 Продажа фірмою виробів із сої
- •Варіант 23 Виготовлення продукції підприємствами виробничого об’єднання
- •Варіант 24 Малий бізнес
- •Варіант 25 Книжковий магазин
- •Варіант 26 Заклади освіти
- •Варіант 27 Науково-технічна література бібліотеки
- •Напрям: код напряму, напрям;
- •Варіант 28 Транспортні підприємства
- •Варіант 29 Автомобілі
- •Варіант 30 Підприємства-банкрути
- •Завдання
- •Дата видачі завдання 02.09.2013 р.
- •Календарний план
- •1. Вступ
- •2 Коротка історія postgresql
- •2.1 Проект postgres його заснування та розробка
- •3 Основні концепції роботи з postgresql
- •3.1 Створення таблиць
- •3.1.1 Типи даних
- •3.2 Внесення даних у таблицю
- •Insert into ім’я_таблиці [(список_імен_полів)] values (значення1, значення2, …, значення n);
- •3.3 Редагування таблиць
- •Alter table ім’я_таблиці owner то новий_власник
- •3.4 Обмеження
- •Immediate – всі або конкретне обмеження перевіряються наприкінці кожної команди.
- •3.5 Послідовності
- •Drop sequence перелік_послідовностей
- •3.6 Запити
- •3.7 Об'єднання таблиць (Join)
- •3.8 Агрегатні функції
- •3.9 Курсори sql
- •4 Основні елементи мови plpgsql
- •4.1 Структура мови, функції користувача
- •4.2 Розгалуження, цикли, масиви
- •4.3 Курсори
- •5. Практична частина Завдання в-20
- •5.1 Завдання 1
- •Результати виконання:
- •5.2 Завдання 2
- •Розв'язок задачі
- •Задача 8.
- •Розв'язок задачі
- •Результати запиту:
- •5.4 Завдання 4
- •Розв'язок задачі
- •Результат задачі
- •Задача 6,9
- •Розв’язок задачі
- •Результат задачі:
- •6. Висновки
- •7. Список використаної літератури
- •Рекомендована література
3 Основні концепції роботи з postgresql
3.1 Створення таблиць
PostgreSQL - це система управління реляційними базами даних (СКБД). Це означає, що це система для управління даними, які зберігаються у вигляді відносин. (В підручниках з СУБД існують і інші терміни, наприклад, кортежі - прим. Пер.). Ставлення - це математичний термін для таблиці. Поняття зберігання даних в таблицях є сьогодні таким банальним, що воно може здатися самоочевидним, однак є кілька інших способів організації баз даних. Файли і каталоги в Unix-подібних операційних системах є прикладом ієрархічної бази даних. Одне з найбільш сучасних напрямків розробки СУБД - це об'єктно-орієнтовані бази даних.
Кожна таблиця є пойменованої колекцією рядків (rows) (в російській літературі по SQL переважно говорять "записів" - прим. Пер.). Кожен запис у таблиці має деякий набір пойменованих колонок (columns) (знову-таки в російській літературі переважно говорять "полів" - прим. Пер.) І кожне поле є певним типом даних. Поля в записі розташовані в фіксований порядку, важливо пам'ятати, що SQL ніколи не гарантує упорядкованого проходження записів в таблиці (за винятком випадку, коли вони можуть бути явно розсортовані для видачі користувачеві).
Таблиці групуються в бази даних, а колекція баз даних, керована однією копією сервераPostgreSQL називається кластером баз даних. Команда створення таблиці:
CREATE [ TEMPORARY | TEMP ] TABLE ім’я_таблиці (
{ ім’я_поля тип [ обмеження_поля [...] ] | обмеження таблиці } )
[ INHERITS ( базова_таблиця [ , ... ] ) ] ;
де
TEMPORARY | TEMP. Ознака тимчасової таблиці. Таблиця, створена з ключовим словом TEMPORARY або TEMP, автоматично знищується наприкінці поточного сеансу Всі конструкції рівня таблиці (наприклад, індекси і обмеження) знищуються наприкінці сеансу разом з таблицею. Якщо ім’я тимчасової таблиці співпадає з ім’ям існуючої таблиці, то всі посилання на таблицю з цим ім’ям впродовж сеансу відноситимуться до тимчасової таблиці. Іноді це викликає проблеми, оскільки тимчасова таблиця побічно заміщає існуючу таблицю в контексті поточного сеансу до моменту її знищення.
таблиця. Ім’я створюваної таблиці.
поле. Ім’я поля в новій таблиці. Імена полів перераховуються в круглих дужках і розділяються комами.
тип. Відразу ж після імені користувача задається його тип – стандартний тип або масив одного із стандартних типів.
обмеження_поля.
базова_таблиця. Ім’я таблиці, від якої нова таблиця успадковує поля. Якщо імена успадкованих полів збігаються з іменами полів, раніше включених в структуру таблиці, PostgreSQL видає повідомлення про помилку і перериває виконання команди.
3.1.1 Типи даних
Числові типи |
|
smallint |
коротке 2-х байтовое ціле |
integer |
звичайне 4-х байтовое ціле |
bigint |
велике 8-байтовое ціле |
decimal |
коротке із фіксованою точкою |
numeric |
коротке із фіксованою точкою |
real |
коротке із рухомою точкою |
double precision |
коротке із рухомою точкою подвійної точності |
serial |
ціле із автозбільшенням |
bigserial |
велике ціле із автозбільшенням |
Грошові типи |
|
money |
гроші |
Символьні типи |
|
character varying(n), varchar(n) |
рядок змінної довжини |
character(n), char(n) |
рядок фіксованої довжини |
text |
рядок змінної необмеженої довжини |
Бінарні типи |
||||||||||||||||||
bytea |
бінарний рядок змінної довжини |
|||||||||||||||||
Дата і час |
||||||||||||||||||
timestamp [ (p) ] [ без часового пояса ] |
дата і час |
|||||||||||||||||
timestamp [ (p) ] с часовим поясом |
дата і час із часовим поясом |
|||||||||||||||||
interval [ (p) ] |
Інтервал часу |
|||||||||||||||||
date |
тільки дата |
|||||||||||||||||
time [ (p) ] [ без часового пояса ] |
тільки час |
|||||||||||||||||
time [ (p) ] с часовым поясом |
тільки час із часовим поясом |
|||||||||||||||||
Логічні типи |
|
|||||||||||||||||
boolean |
TRUE або FALSE |
|
||||||||||||||||
Геометричні типи |
|
|||||||||||||||||
point |
Точка на площині (x,y) |
|
||||||||||||||||
line |
Невидима лінія (не повністю реалізовано) |
|
||||||||||||||||
lseg |
Видимий відрізок ((x1,y1),(x2,y2)) |
|
||||||||||||||||
box |
Чотирикутник ((x1,y1),(x2,y2)) |
|
||||||||||||||||
path |
Замкнений прямокутник ((x1,y1),...) |
|
||||||||||||||||
path |
Ламана лінія [(x1,y1),...] |
|
||||||||||||||||
polygon |
Полігон ((x1,y1),...) |
|
||||||||||||||||
circle |
Круг (x,y),r (центр і радіус) |
|
||||||||||||||||
Типи для адрес комп’ютерних мереж |
|
|||||||||||||||||
cidr |
IPv4 або IPv6 мережа |
|
||||||||||||||||
inet |
IPv4 або IPv6 хост і мережа |
|
||||||||||||||||
macaddr |
MAC адреса |
|
||||||||||||||||
Бітові рядки |
|
|||||||||||||||||
bit [ (n) ] |
Бітовий рядок фіксованої довжини |
|
||||||||||||||||
bit varying [ (n) ] |
Бітовий рядок змінної довжини |
|
||||||||||||||||
Типи для пошуку тексту |
|
|||||||||||||||||
tsquery |
Запит на пошук тексту |
|
||||||||||||||||
tsvector |
Список для пошуку тексту |
|
||||||||||||||||
UUID тип |
|
|||||||||||||||||
uuid |
Універсальний унікальний ідентифікатор |
|
||||||||||||||||
XML типи |
|
|||||||||||||||||
xml |
данні XML |
|
||||||||||||||||
varchar (80) задає тип даних, який може зберігати символьні рядки довжиною до 80 символів. int - це звичайний цілочисельний тип. real - це тип даних, що зберігає числа з плаваючою точкою одинарної точності. Тип date говорить сам за себе. (Цілком вірно, поле з типом date так і називається дата. Зручно це чи ні - вирішувати вам.)
PostgreSQL підтримує таки корисні типи SQL як int, smallint, real, double precision, char (N), varchar (N), date, time, timestamp і interval, а також і інші загальні типи і багатий набір геометричних типів. PostgreSQL можна налаштувати так, щоб він працював з довільним числом типів даних, визначених користувачем. Отже, імена типів не є синтаксичними ключовими словами, за виключаємо тих випадків, де потрібні підтримка спеціально згідно стандартуSQL.
Приклад створення таблиці міста, яка містить назви міст і відповідні їм географічні координати:
CREATE TABLE cities (
name varchar(80),
location point
);
