Зацерковний В.І. та ін. ГІС та бази даних. І бази даних
Скачать 31.1 Mb.
|
Рис. 11.16. Приклад мережевої моделі даних Застосування мережевої моделі даних дозволило збільшити продук- тивність СКБД, проте суттєво їх ускладнила. Складність практичного використання ієрархічних і мережевих СКБД змушувала шукати інші способи представлення даних. Теоретико-множинні моделі даних. У червні 1970 р. співробітник IBM Едгар Кодд опублікував статтю "Реляційна модель для великих бан- ків спільно використовуваних даних", яка перевернула теорію баз даних і принесла доктору Кодду нагороду Тюрінга в 1981 р. В реляційних моде- лях даних ключовим поняттям є відношення (від англійського слова 384 "relation"), що становить собою множину елементів, які називаються кортежами, кожному з яких відповідає атрибут. У реляційній моделі даних об’єкти і взаємозв’язки між ними подаються за допомогою таблиць (рис. 11.17). Рис. 11.17. Реляційна модель Взаємозв’язки також розглядаються як об’єкти. Кожна таблиця подає один об’єкт і складається із рядків (запис, кортеж) і стовпчиків (поле, домен). У реляційній базі даних кожна таблиця повинна мати первинний ключ-поле або комбінацію полів, які єдиним чином ідентифікують кож- ний рядок у таблиці. Завдяки своїй простоті і природності подання реля- ційна модель одержала надзвичайно широке поширення в БД. Перевагами реляційної моделі даних є простота, зрозумілість і зручність фізичної реалізації. Основним недоліком реляційної моделі даних є складність опису ієрархічних і мережевих зв’язків, однак це не завадило реляційній моделі широко використовуватись розробниками баз даних. Сьогодні, крім реляційної моделі в чистому вигляді, СКБД підтри- мують її розширення, що є змішаними і доповненими моделями, до яких відносяться постреляційні і багатомірні моделі. Постреляційна модель даних – це розширена реляційна модель, яка знімає обмеження неподільності даних, що зберігаються в кортежах відношень за допомогою використання багатозначних атрибутів, значення яких складаються з підзначень. Набір значень багатозначних атрибутів вважається самостійним відношенням, убудованим в основне відношення. Крім забезпечення вкладеності атрибутів, постреляційна модель підтримує асоційовані багатозначні атрибути. Недоліком постреляційної моделі даних є складність розв’язку проблеми забезпечення цілісності даних. Таблиця 1 Таблиця 2 Таблиця 3 Зв’язок 1 Зв’язок 2 385 Багатовимірні моделі почали активно використовуватись у 90-х рр. ХХ ст. для розв’язку задач аналізу і прийняття рішень. Основними понят- тями, що використовуються в багатомірних СКБД, є агрегованість, істо- ричність і прогнозованість даних, а також вимір і комірка. Агрегованість даних – це розгляд інформації на різних рівнях її узагальнення. Історичність даних передбачає забезпечення високого рівня статич- ності даних і їх взаємозв’язків, а також прив’язки даних до часу. Прогнозованість даних передбачає задання функцій прогнозування і їх застосування до різних інтервалів часу. Багатомірність моделі даних виражається в багатомірному логіч- ному подані структури даних, що приводить до більш високої наочності і інформативності. Вимірювання становить множину однотипних даних, які утворюють одну з граней гіперкуба. Коміркою називають поле, значення якого однозначно визначається фіксованим набором вимірів. На рис. 11.18 наведено приклад багатомірної моделі даних. Кожне значення комірки "Температура" однозначно визначається географічним місцем розта- шування, датою і часом доби. Для розв’язку практичних задач необхідно будувати гіперкуби з великою кількістю вимірів. Рис. 11.18. Приклад багатомірної моделі даних Об’єктно орієнтовані моделі даних. Об’єктно орієнтовані моделі даних виникли порівняно давно. Публікації з’явились у середині 80-х рр. ХХ ст. 386 В об’єктно орієнтованій моделі даних між записами бази даних і функціями їх обробки встановлюються взаємозв’язки за допомогою механізмів, подібних відповідним засобам в об’єктно орієнтованих мовах програмування. Основними поняттями, що використовуються в об’єктно орієнто- ваних моделях даних, є поліморфізм, спадкування й інкапсуляція. Інкапсуляція – це механізм, який об’єднує дані та методи, що маніпулюють цими даними, і захищає і те, й інше від зовнішнього втручання або неправильного використання. Коли методи і дані об’єд- нуються таким способом, створюється об’єкт. Застосовуючи інкапсуляцію, ми начебто будуємо фортецю, яка за- хищає дані, що належать об’єкту, від можливих помилок, що можуть ви- никнути при прямому доступі до цих даних. Крім того, застосування цього принципу дуже часто допомагає локалізувати можливі помилки в коді про- грами. А це набагато спрощує процес пошуку і виправлення цих помилок. Можна сказати, що інкапсуляція має на увазі приховування даних (data hiding), що дозволяє таким чином захистити ці дані. Сутність інкапсуляції полягає в тому, що змінні стану об’єкта при- ховані від зовнішнього світу. Зміна стану об’єкта (його змінних) можлива тільки за допомогою його методів (операцій). Спадковування поширює сферу видимості властивостей на усіх нащадків об’єкта. Поліморфізм означає можливість мати в об’єктах різних типів методи з однаковими іменами. Дані в таких об’єктно орієнтованих СКБД здатні прийняти вид будь-якої структури, яку можна описати на використовуваній мові програмування. Відношення між об’єктами також можуть бути будь- якими складними. При цьому розв’язується декілька дуже важливих проблем. По- перше, складні інформаційні структури виражаються в них краще, ніж у реляційних базах даних, а по-друге, усувається необхідність транслювати дані з того формату, який підтримується в СКБД. Недоліком же об’єктно орієнтованих баз даних є їх тісний зв’язок з використовуваною мовою програмування, низька швидкість виконання запитів і складність роботи з даними. 11.4. Фізичні моделі Фізична модель (рис. 11.19) БД є комп’ютерно орієнтованою і містить структури даних, що зберігаються в пам’яті ЕОМ, включаючи опис фор- матів даних, порядок їх логічного чи фізичного упорядкування, розміщення за типами пристроїв, а також характеристики і шляхи доступу до даних. 387 Рис. 11.19. Приклад багатомірної моделі даних Від параметрів фізичної моделі залежать такі характеристики функ- ціонування БД, як обсяг пам’яті і час реакції системи. Фізичні параметри БД можна змінювати у процесі її експлуатації (не змінюючи при цьому опису інших рівнів) з метою підвищення ефективності функціонування системи. На даний час як фізичні моделі використовуються різні методи розміщення даних, засновані на файлових структурах (рис. 11.20): це організація файлів прямого і послідовного доступу, індексних файлів та інвертованих файлів, що використовують різні методи хешування 45 , взаємопов’язаних файлів. Крім того, сучасні СКБД широко викорис- товують сторінкову організацію даних. Рис. 11.20. Класифікація файлів, що використовуються в СКБД 45 Хешування (іноді гешування, англ. hashing) – перетворення вхідного масиву даних довільної довжини на вихідний бітовий рядок фіксованої довжини. Файли Прямого доступу Щільний індекс (індексно- прямі) Нещільний індекс (індексно- послідовні) В-дерева З односпрямо- ваними ланцюгами Послідовного доступу Індексні Інвертовані списки Взаємопов’язані файли З двоспрямо- ваними ланцюгами Фізичні моделі Моделі, що засновані на файлових структурах Моделі, що мають сторінкову організацію 388 ХІІ. РЕЛЯЦІЙНІ МОДЕЛІ ТА НОРМАЛІЗАЦІЯ ВІДНОШЕНЬ У НИХ Життя приборкується двома речами: створенням баз даних і їх викладанням. Віктор де Бравуа Як було відзначено раніше, реляційна модель даних була запропонова- на співробітником фірми IBM Едгаром Коддом, який виклав основні ідеї в статті "A Relational Model of Data for Large Shared Data Banks" ("Реляційна модель для великих банків спільно використовуваних даних"). Причина, за якою такі системи називають реляційними, полягає в тому, що англійській термін "relation", по суті, є прийнятою матема- тичною назвою таблиці. Реляційна модель даних дозволила перебороти недоліки мережевих та ієрархічних моделей, а наочність і чітке теоретичне пророблення принесли велику популярність моделі серед розробників баз даних. 12.1. Загальні відомості про реляційні моделі баз даних Принципи реляційної моделі були сформульовані в 1969–1970 рр. Е. Ф. Коддом (E. F. Codd), який на той час працював у корпорації IBM. Наприкінці 1968 р. Кодд, математик за освітою, вперше прийшов до висновку, що для впровадження в сферу баз даних строгих і точних принципів можна використати математичну теорію, зокрема теорію множин (об’єднання, перетин, різність, декартовий добуток) і логіку предикатів. Свої ідеї він виклав у статті "A Relational Model of Data for Large Shared Data Banks" ("Реляційна модель для великих банків спільно використовуваних даних"). Він показав, що будь-яке подання даних зводиться до сукупності двовимірних таблиць особливого виду, відомих у математиці як відношення (relation). Запропонувавши реляційну модель даних, Кодд створив і інстру- ментарій для зручної роботи з відношеннями – реляційну алгебру. Кожна операція цієї алгебри використовує одну або декілька таблиць (відношень) як її операндів й отримує в результаті нову таблицю, тобто дозволяє "розрізати" або "склеювати" таблиці (рис. 12.1). Робота Е. Кодда сприяла появі великої кількості статей і книг, у яких реляційна модель отримала подальший розвиток. Найбільш розпо- всюджене трактування реляційної моделі даних належить К. Дейту. Згідно з Дейтом, реляційна модель складається з трьох частин: 389 – структурної; – цілісної; – маніпуляційної. Рис. 12.1. Приклади операцій реляційної алгебри Структурна частина описує, які саме об’єкти розглядаються реляційною моделлю. Постулюється, що єдиною структурою даних, які використовуються в реляційній моделі, є нормалізовані n-арні відносини. Цілісна частина описує обмеження спеціального виду, що повинні виконуватися для будь-яких відносин у будь-яких реляційних базах даних. Це цілісність сутностей і цілісність зовнішніх ключів (посилань). Маніпуляційна частина описує два еквівалентні способи мані- пулювання реляційними даними – реляційну алгебру і реляційне числення. Реляційна алгебра в явному вигляді становить набір операцій, які можна використовувати, щоб повідомити системі, як в БД з певних відношень реально побудувати необхідне відношення. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A B C D : : : : : : : : : : : C D A B : : : : : : : : : : : : A B C D C D A B A B C D : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ВИБІРКА ПРИРОДНЄ З’ЄДНАННЯ ОБ’ЄДНАННЯ ПЕРЕТИН РІЗНИЦЯ П Р О Е К Ц І Я 390 Реляційні оператори мають одну важливу властивість: вони замкнені відносно поняття відношення. Це означає, що вирази реляційної алгебри визначаються над відношеннями реляційних БД і результатом обчислень також є відношення. Оскільки результатом будь-якої реляційної операції є певне відношення, можна утворювати реляційні вирази, в яких замість відношення-операнда певної реляційної операції знаходиться вкладений реляційний вираз. Вирази реляційної алгебри будуються на основі алгебраїчних опера- цій (високого рівня), і подібно тому, як інтерпретуються арифметичні і логічні вирази, вираз реляційної алгебри також має процедурну інтер- претацію. Інакше кажучи, запит, поданий мовою реляційної алгебри, може бути обчислений на основі елементарних алгебраїчних операцій з урахуванням їх старшинства і можливої наявності дужок. Набір основних алгебраїчних операцій складається з восьми опера- цій, які діляться на два класи – теоретико-множинні операції і спеціальні реляційні операції, доповнені певними спеціальними операціями, специфічними для баз даних. До складу теоретико-множинних операцій входять традиційні операції над множинами: – об’єднання; – перетин; – різність; – декартовий добуток. Спеціальні реляційні операції включають: • вибірку; • проекцію; • природне з’єднання; • ділення. Ці ідеї стали загальноприйнятими й істотно вплинули на всі аспекти технологій баз даних, а також на інші галузі інформаційних технологій, такі як штучний інтелект, обробка природних мов і проектування програмних засобів тощо. До Е. Кодда в теорії БД використовувались лише певні, ретельно підібрані визначення. Наприклад, термін відношення в сфері ІТ практично не використовувався, на відміну від інших галузей. Це було пов’язано з тим, що більшість термінів, що використовувались на той час, були нечіткими і не могли застосовуватись для формальної теорії. Наприклад, якщо розглянути термін запис, то він застосовувався в різних контекстах (як екземпляр запису, як тип запису, як логічний запис, як фізичний запис, запис що підлягав збереженню, як віртуальний запис тощо). Через це в формальній реляційній моделі термін запис взагалі не використовується. 391 Основними поняттями реляційних баз даних є тип даних, домен, атрибут, кортеж, первинний ключ і відношення (рис. 12.2). Альтерна- тивні варіанти термінів СКБД представлені в табл. 12.1. Рис. 12.2. Графічне відображення основних понять реляційних баз даних Таблиця 12.1 Альтернативні варіанти термінів СКБД Реляційні терміни Табличний варіант Файловий варіант Об’єктна модель Відношення Таблиця Файл Клас Кортеж Рядок Запис Об’єкт Атрибут Стовпчик Поле Властивість ВІДНОШЕННЯ ЗАГОЛОВОК ВІДНОШЕННЯ Номер рейсу … Пункт призна- чення … Тип літака … 138 … Берлін … Боїнг 737 … 1234 … Варшава … Ан-148 … 86 … Афіни … А-320 … 241 … Париж … Боїнг 767 … ТІЛО ВІДНОШЕННЯ А1 А5 А7 V1 V1 V1 D1 57 77 86 138 241 242 577 Стамбул Салоніки Тбілісі Мадрид Єреван Ан-148 Ан-140 А-320 ІЛ-86 АН-24 ЯК-40 ЯК-42 D2 D3 Домен цілих чисел Домен назв міст Домен типів літаків Кортеж 392 Тип даних. Поняття "тип даних" у реляційній моделі даних цілком адекватне поняттю типу даних в мовах програмування. Зазвичай у сучасних реляційних базах даних припускається збереження символьних, числових даних, бітових рядків, спеціалізованих числових даних (таких як "гроші"), а також спеціальних "темпоральних" даних (дата, час, часовий інтервал). Домен – обмежена підмножина значень даного типу. Домен характеризується такими властивостями: домен має унікальне ім’я (в межах бази даних); домен є визначеним на певному простому типі даних або на іншому домені; домен може мати певну логічну умову, яка дозволяє описати підмножину даних, припустимих для даного домену; домен має певне змістове навантаження Термін кортеж приблизно відповідає поняттю рядка, аналогічне поняттю відношення, що приблизно відповідає поняттю таблиці. Кортеж визначається як окрема сутність. Доменом є набір усіх можливих значень певного атрибута відношення. Схема відношення є списком імен атрибутів. Атрибут – це властивість, яка описує сутність. У структурі відношення кожний атрибут має назву і тип. Реляційна модель передбачає організацію даних тільки у вигляді таблиць. Таблиця складається з рядків і стовпчик (рис. 12.3). Рис. 12.3. Приклад табличної організації даних KOD NAME SUMM 5216 Хрущик В. Ф. 25.50 5217 Прищик Н. В 25.50 … … … В ід н ош ен н я К орт еж і Атрибути 1,2,… Домени 393 Реляційна модель заснована на математичному понятті відношення, фізичним представленням якого є таблиця. Будь-яка комп’ютерна реляційна модель, подана у вигляді таблиці, має такі властивості: Рис. 12.3. Властивості реляційної моделі даних Сутність – опис об’єкта, дані про який зберігаються в базі даних. Сутність – це інформація, яку необхідно зберігати.Звідси випливає, що сутності (а значить, і зв’язки) мають певні властивості (properties), які відповідають тим даних про них, які необхідно зберігати в базі даних. Дані про сутність зберігаються у відношенні. В загальному випадку властивості можуть бути як простими, так і складними, причому настільки простими або складними, наскільки це буде вимагатись потребами бази даних. Наприклад, властивість "місце- знаходження ділянки" – відносно проста: вона складається тільки з назви населеного пункту і може бути описана як простий символьний рядок. На противагу цьому сутність "ґрунт" може мати властивість "морфологічний опис" з достатньо складною структурою, що включає розчленування на генетичні горизонти, кольори і їх забарвлення, структуру тощо з відповідним текстовим описом. К. Дейт 46 визначає три основні класи сутностей:стрижневі,асо- ціативні і характеристичні, а також підклас асоціативних сутностей – позначення. 46 |