Анотація: В лекції розглядаються різні уявлення про дані в базах даних. Описуються моделі даних (зовнішнє уявлення, концептуальна модель, структура зберігання) і основні етапи проектування бази даних. Розглядається життєвий цикл проектування бази даних.
Мета лекції. Показати існування різних поглядів на даних (різних моделей) у різних груп осіб, які працюють з даними. Розглянути відображення цих уявлень в трирівневої архітектурі бази даних (зовнішній рівень, концептуальний рівень. Внутрішній рівень), сформулювати гідність трирівневої архітектури. Виділити основні етапи проектування бази даних як процесу побудови вищезгаданих моделей.
4.1. Різні уявлення про дані в базах даних
Створення бази даних передбачає інтеграцію даних, призначених для вирішення декількох прикладних задач різних користувачів. Відповідно, при інтеграції даних повинні враховуватися вимоги до даних кожного користувача, засновані на його уявленні про дані і зв'язках між ними. Далі ці вимоги повинні узагальнюватися в єдине уявлення. яке і буде служити основою для побудови єдиної бази даних (рис. 4.1).
Узагальнення уявлень всіх користувачів про дані називається концептуальною моделлю (схемою) БД. Концептуальна модель представляє інформаційне опис предметної області з урахуванням логічних взаємозв'язків, тому її ще називають инфологической (інформаційно-логічної) моделлю. У моделі відсутні будь-які поняття, пов'язані з ЕОМ, пам'яттю ЕОМ, способами розміщення даних в пам'яті ЕОМ, і, по суті, це модель тільки предметної області.
Мал. 4.1. Узагальнення уявлення користувачів про дані
Як уже зазначалося, для створення бази даних і роботи з нею використовується система управління базами даних. Кожна конкретна СУБД підтримує певний вид даних (форматів записів і відносин), званий моделлю даних СУБД.
Наступний етап розробки бази даних передбачає вибір уявлення концептуальної моделі за допомогою моделі даних конкретної СУБД. Отримане таким чином представлення концептуальної моделі називається логічною моделлю БД. Або іншими словами. логічна модель - це концептуальна схема, специфіковані в мові конкретної СУБД. Логічна модель представляє дані і елементи даних незалежно від їх змісту і середовища зберігання. Далі розробник системи засобами СУБД відображає отриману логічну модель БД в пам'ять ЕОМ і визначає методи доступу. Отримане уявлення даних в пам'яті ЕОМ називається внутрішнім поданням або структурою зберігання. Прикладні програми працюють з логічною моделлю, причому кожному користувачеві видається підмножина цієї логічної моделі (подсхема), що відбиває його уявлення про предметну область. Кожна прикладна програма "бачить" і обробляє тільки ті дані, які необхідні саме їй.
Відповідне "бачення" даних прикладними програмами (користувачами) являє собою зовнішні уявлення. Взаємозв'язок вищевказаних моделей зображена на рис. 4.2.
Мал. 4.2. Різні уявлення про дані в БД
На даній схемі виділені три різних рівня опису даних (зовнішній, концептуальний, внутрішній). Ці рівні формують так звану трирівневу архітектуру ANSI / SPARC. запропоновану в 1975 р Комітетом планування стандартів і норм SPARC (Standards Planning and Requirements Committee) Національного інституту стандартизації США (American National Standards Institute - ANSI). Основна мета цієї архітектури полягає в відділенні призначеного для користувача уявлення про дані в базі даних від їх фізичного представлення. Використання таких уявлень про дані дозволяє забезпечити виконання основної вимоги до БД - незалежності програм і даних. При зміні прикладних програм може змінитися відповідне зовнішнє уявлення. але логічна модель даних не змінюється і, відповідно, не будуть змінюватися інші прикладні програми. При зміні внутрішнього подання (структур зберігання) логічна модель не змінюється, відповідно, не змінюються прикладні програми.
Використання відповідних подань також дозволяє чітко розмежувати повноваження різних осіб, що працюють з базою даних.
Відповідні подання дозволяють описати "бачення" бази даних різними особами, які працюють з нею:
- зовнішнє уявлення - уявлення фахівця предметної області (користувача);
- зовнішнє уявлення і логічна модель - представлення прикладного програміста, який розробляє конкретний додаток для користувача;
- логічна модель і внутрішнє уявлення - уявлення системного програміста, адмініструє базу даних.