Про рівні абстракції при моделюванні даних

В процесі проектування схему даних зручно представляти за допомогою наступних моделей (див. Рис. 8.2):

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

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

фізична модель є описом структури даних в термінах платформи реалізації - конкретної СУБД; ця модель вже містить інформацію про різні деталях реалізації - індексах і ключах, типах атрибутів і т.д. які визначені в термінах цільової мови програмування і т. д .; фізична модель фактично є ДІАГРАМНИХ ​​поданням частини програмного коду, що визначає схему даних.

Про рівні абстракції при моделюванні даних

Мал. 8.2. Різні моделі даних

Далі слід реалізація схеми даних у вигляді:

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

"Живий" бази даних, що отримується як результат виконання засобами деякої СУБД програми, яка задає схему (SQL / DDL-скрипта); створюється електронне сховище, яке реалізує доступ до даних з боку програмних додатків, а також забезпечує збереження даних після закінчення роботи програми і виключення комп'ютера - це властивість даних зазвичай називають персистентного (persistent).

Приклад концептуальної моделі

У цьому прикладі розглядається схема дані про програму, що автоматизує роботу факультетів університету. Фрагмент відповідної концептуальної моделі представлений на рис. 8.3.

Про рівні абстракції при моделюванні даних

Мал. 8.3. Приклад концептуальної моделі

Схожі статті