Выпуск №12 (Август)

https://doi.org/10.25313/2520-2057-2017-12

XLI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.05.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XL Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.03.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

МНПК "Цифровая трансформация и инновации в экономике, праве, государственном управлении, науке и образовательных процессах", 18-21.03.2019

XXXIX Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.02.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XIII Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 31.01.2019 (Совместная конференция с Финансово-экономическим научным советом)

XXXVIII Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.01.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XXXVІI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2018 (Совместная конференция с Международным научным центром)

XXXVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2018 (Совместная конференция с Международным научным центром)

XIII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXXV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.10.2018 (Совместная конференция с Международным научным центром)

XXXIV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2018 (Совместная конференция с Международным научным центром)

ХXXIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.08.2018 (Совместная конференция с Международным научным центром)

ХXXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 31.07.2018 (Совместная конференция с Международным научным центром)

XII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХXXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2018 (Совместная конференция с Международным научным центром)

ХІ Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2018 (Совместная конференция с Международным научным центром)

XXIХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.04.2018 (Совместная конференция с Международным научным центром)

ХХVIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.03.2018 (Совместная конференция с Международным научным центром)

ІІІ МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 19-22.03.2018 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 28.02.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХХVІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2018 (Совместная конференция с Международным научным центром)

ХХVІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2018 (Совместная конференция с Международным научным центром)

XІІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.12.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2017 (Совместная конференция с Международным научным центром)

ХХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2017 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2017 (Совместная конференция с Финансово-экономическим научным советом)

XІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.09.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2017 (Совместная конференция с Международным научным центром)

X Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.07.2017 (Совместная конференция с Международным научным центром)

ХXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2017 (Совместная конференция с Международным научным центром)

"Тенденции развития национальных экономик: экономическое и правовое измерение" 18-19.05.2017 (Совместная конференция с Финансово-экономическим научным советом и ККИБиП)

ХIX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.04.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.03.2017 (Совместная конференция с Международным научным центром)

МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 20–23.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

VIII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.02.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2017 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.01.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2017 (Совместная конференция с Международным научным центром)

ХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2016 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 28.12.2016 (Совместная конференция с Финансово-экономическим научным советом)

VII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.11.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.10.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.10.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конф. «Научный диспут: вопросы экономики и финансов», 30.09.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.09.2016 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.08.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 29.07.2016 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.07.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.06.2016 (Совместная конференция с Финансово-экономическим научным советом)

ІX Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2016 (Совместная конференция с Международным научным центром)

VI Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.05.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 30.05.2016 (Совместная конференция с Международным научным центром)

V Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 29.04.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.04.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 31.03.2016 (Совместная конференция с Международным научным центром)

ІI Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 30.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 21-24.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 26.02.2016 (Совместная конференция с Финансово-экономическим научным советом)

II Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 20.02.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.12.2015 (Совместная конференция с Международным научным центром)

IV Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.12.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.11.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 29.10.2015 (Совместная конференция с Финансово-экономическим научным советом)

Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 28.10.2015 (Совместная конференция с Международным научным центром)

III Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.09.2015 (Совместная конференция с Финансово-экономическим научным советом)

III Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.08.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІІ Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 30.06.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2015 (Совместная конференция с Международным научным центром)

II Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.05.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы экономики и финансов, 29.04.2015 (Совместная конференция с Финансово-экономическим научным советом)

Научный диспут: вопросы экономики и финансов, 31.03.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы современной науки, 27.03.2015 (Совместная конференция с Международным научным центром)

Глобальные проблемы экономики и финансов, 27.02.2015 (Совместная конференция с финансово-экономическим научным советом)



Токарський А. О. Об’єктно-орієнтовані властивості бази даних PostgreSQL  // Міжнародний науковий журнал "Інтернаука". — 2017. — №12.


Отрасль науки: Технические науки
Скачать статью (pdf)

Технічні науки

УДК 004.054

Токарський Андрій Олегович

студент

Національного технічного університету України

«Київський політехнічний інститут імені Ігоря Сікорського»

Токарский Андрей Олегович

студент

Национального технического университета Украины

«Киевский политехнический институт имени Игоря Сикорского»

Tokarskyi Andrii

Student of the

National technical university of Ukraine

«Igor Sikorsky Kyiv Polytechnic Institute»

ОБ’ЄКТНО-ОРІЄНТОВАНІ ВЛАСТИВОСТІ БАЗИ ДАНИХ POSTGRESQL

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ СВОЙСТВА БАЗЫ ДАННЫХ POSTGRESQL

THE OBJECT-ORIENTED PROPERTIES OF POSTGRESQL

Анотація. Огляд об’єктних можливостей бази даних PostgreSQL.

Ключові слова: SQL, Postgres, Дані, ООП, База даних.

Аннотация. Обзор объектных возможностей базы данных PostgreSQL.

Ключевые слова: SQL, Postgres, Дані, ООП, База данных.

Summary. The review of object-oriented abilities of PostgreSQL.

Key words: SQL, Postgres, Data, ООP, Database.

Однією із найпопулярніших вільних баз даних є об’єктно-реляційна база даних PostgreSQL. Не зважаючи на те, що ця БД дозволяє формувати сховище даних на основі реляційної алгебри, є і можливість створити базу даних, що може в деякій мірі повторити об’єктну архітектуру програми [1].

Інкупсуляції, як такої, немає. Є лише можливість сховати стовпець таблиці при запиті типу “SELECT *”.

Невід’ємною частиною об’єктно-орієнтованої архітектури є наслідування. Наслідування (inheritance) – це концепція ООП, згідно із якою тип даних може наслідувати дані і функціонал деякого існуючого типу.

Також існує і множинне наслідування (multiple inheritance) – це вид наслідування, при якому клас-потомок може мати більше одного батьківського класу. Так, у базі даних PostgreSQL є можливість для таблиць створювати таблиць-потомків. Розглянемо, яким чином це реалізовано у PostgreSQL.

Для цього створимо схему бази даних, заповнимо її таблиці даними та виконаємо ряд SELECT-запитів, як це зображено на рисунку 1.

Рис. 1. Набір запитів, що демонструє роботу наслідування в PostgreSQL

Результат виконання цього ряду запитів зображений на рисунку 2.

Рис. 2. Результат виконання тестових запитів

Із результатів, отриманих із виконання першого запиту, видно, що всі записи із таблиці Programmer одночасно знаходяться і в таблицю Human. Як видно із запиту 3, із допомогою ключового слова ONLY можна вибрати ті записи, які є у даній таблиці, але яких немає у жодній із потомків.

Запити 5 і 6 дозволяють визначити кінцеву таблицю, у якій знаходяться записи. Це здійснено із допомогою колонки tableoid, яку мають всі таблиці в PostgreSQL.

Таблиця pg_inherits в СУБД PostgreSQL зберігає в собі список усіх наслідувань. У нашому прикладі (результат виконання запиту №7) видно, що таблиця із ідентифікатором 1196807 – потомок таблиці із ідентифікатором 1196801.

Детальніше роботу таблиці pg_inherits можна розглянути на іншому прикладі.  Розглянемо наступний SQL-код, зображений на рисунку 3.

Рис. 3. Демонстрація роботи таблиці pg_inherits в PostgreSQL

У цьому прикладі також продемонстровано multiple inheritance. Є дві базових таблиці – Humanoid та AI. Human наслідується із Humanoid, а Droid – із Humanoid та AI (це приклад множинного наслідування). Також, в свою чергу, Droid є батьківською таблицею для C3PO. 

Розглянемо колонки таблиці - pg_inherits. inhrelid та inhparent вказують, яка таблиця наслідується із якої відповідно. Якщо у таблиці-потомка є кілька батьківських таблиць, то число inhseqno визначає порядок, у якому будуть розташовуватись стовпці наслідуваних таблиць.

Таким чином, користуючись даними із таблиці pg_inherits, можемо отримати граф, на якому зображено схему наслідування у базі. Цей граф зображений на рисунку 4.

Рис. 4. Граф наслідування

Отже, можна зробити висновок, що для забезпечення базі даних можливістю наслідування потрібно в тому чи іншому вигляді зберігати граф наслідування. У СУБД PostgreSQL дані про наслідування зберігаються у окремій службовій таблиці pg_inherits.

Слід звернути увагу, що не всі команди SQL можуть працювати з ієрархією наслідування. Команди, які використовуються для запитів отримання даних, зміни даних або зміни схем (наприклад, SELECT, UPDATE, DELETE, більшість варіантів ALTER TABLE, але не INSERT і ALTER TABLE ... RENAME) зазвичай за умовчанням включають таблиці-нащадки і підтримують нотацію ONLY для виключення цих таблиць-нащадків. Команди, які обслуговують базу даних і виконують тонкі настройки (наприклад, REINDEX, VACUUM) зазвичай працюють тільки з окремими, фізичними таблицями і не підтримують рекурсивную обробку ієрархії наслідування [2].

Серйозне обмеження можливості наслідування полягає в тому, що індекси (включаючи обмеження унікальності) і зовнішні ключі застосовуються тільки до одиноких таблиць, а не до нащадків. Це обмеження справедливо як для посилаються так і для посилальних сторін зовнішнього ключа.

Література

  1. S. K. Singh. Database Systems: Concepts, Design and Applications / S. K. Singh – London : Dorling Kinderslay. – 2011.
  2. PostgreSQL. Tutorial inheritance. – Режим доступа:  https://www.postgresql.org/docs/8.4/static/tutorial-inheritance.html/. – Дата доступа: 27.07.2017.