Генератори графічного представлення даних

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

Генератори програм

Генератор програм являє собою інструмент для створення програм, взаємодіючих з базою даних. Застосовуючи генератор програм, можна скоротити час, необхідний для проектування повного обсягу необхідного прикладного програмного забезпечення. Генератори програм звичайно складаються з попередньо створених модулів, що містять фундаментальні функції, що необхідні для роботи більшості програм. Ці модулі, звичайно створювані на мовах високого рівня, утворять "бібліотеку" доступних функцій. Користувач вказує, які задачі програма повинна виконати, а генератор додатків визначає, якїх варто виконати.

Моделі даних і концептуальне моделювання

Вищевже згадувалося, що схема створюється за допомогою деякої мови визначення даних. Насправді вона створюється на основі мови визначення даних конкретної цільовий СКБД. На жаль, це мова низького рівня; з її допомогою важко описати вимоги до даних у масштабі всієї організації так, щоб створена схема була доступна розумінню користувачів самих різних категорій. У чому ми дійсно бідуємо, так це в описі схеми на якомусь, більш високому рівні, що будемо називатимоделлю даних.

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

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

1. Структурна частина, тобто набір правил, по яких може бути побудована база даних.

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

3. Набір обмежень підтримки цілісності даних (необов'язково), що гарантують коректність використовуваних даних.

Мета побудови моделі даних полягає в представленні даних у зрозумілому вигляді. Якщо таке представлення можливо, то модель даних можна буде легко застосувати при проектуванні бази даних. Для відображення архітектури ANSI-SPARC можна ідентифікувати наступні три зв'язані моделі даних:

· зовнішню модель даних, що відображає представлення кожного існуючого в організації типу користувачів, що іноді називають предметною областю (Universe of Discourse - Uo);

· концептуальну модель даних, що відображає логічне (чи узагальнене) представлення даних, не залежне від типу обраної СКБД;

· внутрішню модель даних, що відображає концептуальнусхему певним чином, зрозумілим обраній цільовий СКБД.

У літературі запропоновано й опубліковано досить багато моделей даних. Вони підрозділяються на три категорії:об'єктні (object-based) моделі даних, моделі данихна основі записів (record-based)і фізичні моделі даних. Перші дві використовуються для опису даних на концептуальному і зовнішньому рівнях, а остання - на внутрішньому рівні.

 

Об'єктні моделі даних

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

· Модель типу "сутність-зв'язок", чи ER-модель (Entity-Relationship model).

· Семантична модель.

· Функціональна модель.

· Об'єктно-орієнтована модель.

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

Моделі даних на основі записів

У моделі на основі записів база даних складається з декількох записів фіксованого формату, що можуть мати різні типи. Кожен тип запису визначає фіксовану кількість полів, кожне з який має фіксовану довжину. Існує три основних типи логічних моделей даних на основі записів:

· реляційна модель даних (relational data model),

· мережна модель даних (network data model)

· ієрархічна модель даних (hierarchical data model).

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

Реляційна модель даних

Реляційна модель даних заснована на понятті математичних відносин. У реляційній моделі дані і зв'язки представлені у виді таблиць, кожна з який має кілька стовпців з унікальними іменами. У табл. 2.1 і 2.2 показаний приклад реляційної схеми деякої частини проекту DreamHome, що містить зведення про відділення компанії і персонал організації. Наприклад, з табл. 2.2 видно, що співробітник 'John White' проживає за адресою '19 Taylor St, London' і працює менеджером з річною зарплатою в 30000 фунтів стерлінгів у відділенні компанії з номером 'У5', що, згідно з даними з табл. 2.1, розташований за адресою '22 Deer Rd, Sidcup, London'. Тут важливо відзначити, що між відносинами Staff і Branch існує наступний зв'язок: співробітник працює у відділенні компанії. Однак між цими двома відносинами немає явно заданого зв'язку; її існування можна помітити, тільки знаючи, що атрибут Bno у відношенні Staff еквівалентний атрибуту Bno у відношенні Branch.

Зверніть увагу, що в реляційній моделі даних єдина вимога полягає в тому, щоб база даних з погляду користувача виглядала як набір таблиць. Однак таке сприйняття відноситься тільки до логічної структури бази даних, тобто до зовнішнього і концептуального рівнів архітектури ANSI/SPARC. Воно не відноситься до фізичної структури бази даних, що може бути реалізоване за допомогою різноманітних структур збереження.

 
 


Мережна модель даних

 
 

У мережній моделі дані представлені у вигляді колекцій записів, а зв'язки - у виглядінаборів. На відміну від реляційної моделі, зв'язку тут явно моделюються наборами, що реалізуються за допомогою покажчиків. Мережну модель можна представити як граф із записами у видівузлів графа і наборами у виді його ребер. На мал.2.4 показаний приклад мережної схеми для тих же наборів даних, що показані в табл. 2.1 і 2.2. Самою популярною мережною СКБД є система IDMS/R фірми Computer Associates.

 

Рис. 2.4. Приклад фрагмента мережної схеми

Ієрархічна модель даних

Ієрархічна модель є обмеженим підтипом мережної моделі. У ній дані також представлені як колекціїзаписів, а зв'язку — якнабори. Однак в ієрархічній моделі вузол може мати тільки одного батька. Ієрархічна модель може бути представлена як деревоподібний граф із записами у виді вузлів (які також називаються сегментами) і множинами у виді ребер. На мал. 2.5 приведений приклад ієрархічної схеми для тих же наборів даних, що показані в табл. 2.1 і 2.2. Найпоширенішої ієрархічний СКБД є система IMS корпорації IBM, хоча вона має також деякі інші неієрархічні риси.

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

Більшість сучасних комерційних систем засновано на реляційній парадигмі, тоді як найперші системи баз даних будувалися на основі мережної чи ієрархічної моделі. При використанні останніх двох моделей від користувача потрібно знання фізичної організації бази даних, до якої він повинний здійснювати доступ, у той час як при роботі з реляційною моделлю незалежність від даних забезпечується в значно більшому ступені. Отже, якщо в реляційних системах для обробки інформації в базі даних прийнятий декларативний підхід (тобто вони вказують, які дані варто витягти), те в мережних і ієрархічних системах - навігаційний підхід (тобто вони вказують, якїх варто витягти}.

 
 

Фізичні моделі даних

Фізичні моделі даних описують те, як дані зберігаються в комп'ютері, представляючи інформацію про структуру записів,їх упорядкованості і існуючих шляхах доступу. Фізичних моделей даних не так багато, як логічних, а самими популярними середних є узагальнююча модель (unifying model) i модель пам'яті кадрів (frame memory).

Концептуальне моделювання

Як показує вивчення трьохрівневої архітектури СКБД, концептуальна схема є "серцем" бази даних. Вона підтримує всі зовнішні представлення, а сама підтримується засобами внутрішньої схеми. Однак внутрішня схема є усього лише фізичним утіленням концептуальної схеми. Саме концептуальна схема покликана бути повним і точним представленням вимог до даних деякого підприємства. У противному випадку визначена частина інформації про підприємство буде упущена чи перекручена, у результаті чого можуть виникнути труднощі при спробах повної реалізації одного чи декількох зовнішніх представлень.

Концептуальне моделювання, чи концептуальне проектування, бази даних це процес конструювання моделі використання інформації на деякім підприємстві. Цей процес не залежить від таких подробиць, як використовувана СКБД, прикладні програми, мови програмування чи будь-які інші питання фізичної організації інформації. Подібна модель називаєтьсяконцептуальною моделлю даних. Концептуальні моделі в літературі іноді також називають логічними моделями. Однак ми проводимо розділ між концептуальною і логічною моделями даних. Концептуальна модель не залежить від будь-яких деталей реалізації, тоді як при розробці логічної моделі передбачається знання типу базової моделі представлення даних в обраної цільовий СКБД.

Функції СКБД

У цьому розділі ми розглянемо типи функцій і служб (сервісів), що повинна забезпечувати типова СКБД. У свій час Кодд запропонував перелік з восьми сервісів, що повинні бути реалізовані в будь-який повномасштабний СКБД (Codd, 1982). Нижче приводиться короткий опис кожного .зних.