Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всі відповіді СП.docx
Скачиваний:
10
Добавлен:
28.01.2023
Размер:
217.28 Кб
Скачать
  1. Організація баз даних

    1. Моделі даних: ієрархічна, мережева, реляційна, об‘єктно-реляційна, нереляційна.

Модель даних – це засіб для визначення логічного зображення фізичних даних, що відносяться до деякого додатку. В процесі розробки засад створення баз даних вибір моделі в основному залежить від об'єкту впровадження (від регіонального представництва до центрального органу управління), а також від етапу впровадження.

Ієрархічна модель даних будується за принципом ієрархії типів об'єктів, тобто один тип об'єктів є головним, а Інші, що знаходяться на нижчих рівнях ієрархії, підпорядкованими. Ієрархічна модель зображується у вигляді дерева. Між головним та підпорядкованими об'єктами встановлюється взаємозв'язок "один до багатьох". Іншими словами, для даного головного типу об'єкта існує декілька підпорядкованих типів об'єктів. У той же час для кожного екземпляра головного об'єкта може бути декілька екземплярів підпорядкованих типів об'єктів.

У мережевій структурі кожен елемент може бути пов'язаний з будь-яким іншим елементом.

Мережева модель даних будується за принципом "головний і підлеглий тип одночасно", тобто будь-який тип даних одночасно може породжувати кілька підлеглих типів (бути власником набору) і бути підлеглим для декількох головних (бути членом набору).

Мережевий підхід до організації даних є розширенням ієрархічного. В ієрархічних структурах запис-нащадок повинна мати в точності одного предка; у мережній структурі даних нащадок може мати будь-яке число предків.

У реляційній моделі об'єкти і зв'язки між ними зображуються за допомогою двомірних таблиць – відношень (від англійського relation – відношення). Ідея реляційної моделі застосовується до зовнішнього та логічного рівня. Кожен рядок, що містить у таблиці такої бази даних, є записом з унікальним ідентифікатором, який називають ключем. Стовпці таблиці мають атрибути даних, а кожен запис зазвичай містить значення для кожного атрибуту, що дозволяє легко встановлювати взаємозв'язок між елементами даних.

Об’єктно-реляційна модель — це комбінація об’єктно-орієнтованої моделі бази даних і моделі реляційної бази даних. Отже, вона підтримує об’єкти, класи, успадкування тощо, як і об’єктно-орієнтовані моделі, а також підтримує типи даних, табличні структури тощо, як реляційна модель даних.

Однією з головних цілей об’єктно-реляційної моделі даних є усунення розриву між реляційними базами даних і об’єктно-орієнтованими практиками, які часто використовуються в багатьох мовах програмування, таких як C++, C#, Java тощо.

Нереляційна модель зберігає дані без чітких зв’язків між собою та без чіткої структури. Замість структурованих таблиць, всередині бази знаходиться безліч різнорідних документів, в тому числі і зображення, відео та навіть публікації у соціальних мережах. На відміну від реляційних БД, NoSQL бази не підтримують SQL запити.

    1. NoSql або постреляційні бази даних

Нереляційна база даних (NoSQL) – зберігає дані без чітких зв’язків між собою та без чіткої структури. Замість структурованих таблиць, всередині бази знаходиться безліч різнорідних документів, в тому числі і зображення, відео та навіть публікації у соціальних мережах. На відміну від реляційних БД, NoSQL бази не підтримують SQL запити.

"Класичні" SQL БД підтримують властивості ACID. Про NoSQL бази кажуть, що ACID в них немає. Оригінальне визначення ACID відноситься до транзакцій. Тобто під "операцією" у визначеннях ACID слід розуміти безліч дрібних CRUD операцій над даними. У NoSQL, як правило, такі "великі" транзакції не підтримуються. Але окремі операції модифікації даних цілком можуть задовольняти деяким властивостям ACID.

Окремим винятком є NewSQL і графові БД. Часто вони декларують підтримку транзакцій, повністю аналогічним таким у SQL базах.

Особливості. На відміну від реляційних, у нереляційних базах даних схема даних є динамічною та може змінюватись у будь який момент часу. До даних складніше отримати доступ. Проте такі СУБД відрізняються швидкістю та продуктивністю. Фізичні об’єкти у NoSQL зазвичай можна зберігати прямо у тому вигляді, у якому з ними потім працює додаток.

Бази даних NoSQL підходять для зберігання великих об’ємів неструктурованої інформації, а також для швидкої розробки та тестування гіпотез.

У них можна зберігати дані будь яких типів та додавати нові в процесі роботи.

Переваги NoSQL:

  • Здатність обробляти великі дані.

  • Завдяки відсутності схем та таблиць, досягається високий рівень гнучкості при роботі з моделями даних.

  • Це недорога база даних, а бази даних NoSQL з відкритим кодом надають дуже доступні рішення для малих підприємств.

  • Масштабованість. NoSQL бази мають розподілену архітектуру, тому легко масштабуються горизонтально та вирізняються високою продуктивністю. Технології NoSQL можуть автоматично розподіляти дані на різних серверах. Це підвищує швидкість читання даних у розподіленому середовищі.

  • Відсутність необхідності детального моделювання даних.

Недоліки NoSQL:

  • Відсутність стандартної мови для виконання запитів NoSQL. Синтаксис, який використовується для запиту даних, відрізняється для різних типів баз даних NoSQL

  • Нижча ефективність при роботі зі складними запитами. З різноманітністю структур даних, які можна знайти в базах даних NoSQL, запити не такі ефективні. На відміну від баз даних SQL, стандартного інтерфейсу для виконання складних запитів немає

  • Неузгодженість даних. Розподілений характер баз даних NoSQL дозволяє швидше надавати дані. Однак це також може ускладнити забезпечення узгодженості даних. Запити можуть не завжди повертати оновлені дані, і можна отримати неточну інформацію. Завдяки розподіленому підходу база даних може повертати різні значення одночасно залежно від того, до якого сервера надсилається запит. Це одна з причин, чому NoSQL не досягає відповідності на рівні ACID