- 9.1. Проектування баз даних
- 9.1.2. Класифікація БД
- 9.1.2.1. Класифікація БД за моделлю даних
- 9.1.2.1.1. ієрархічні
Анотація: У даній лекції розглядаються питання проектування баз даних і роботи з ними Веб-додатків. Дається введення в технологію доступу до даних ADO.NET
Презентацію до даної лекції Ви можете завантажити тут .
9.1. Проектування баз даних
9.1.1. Поняття бази даних
Більшість автоматизованих систем тим чи іншим чином використовують структуровану інформацію. У сучасних додатках такі впорядковані дані прийнято зберігати в базах даних - особливих файлах, використання яких разом зі спеціальними програмними засобами дозволяє користувачеві, як переглядати необхідну інформацію, так і маніпулювати нею.
Наприклад, телефонний довідник являє собою найпростішу базу даних, в якій вся інформація розташовується в єдиній таблиці [ 1 , 2 ]. Кожен запис в цій таблиці містить ідентифікатор конкретного людини - ПІБ і його номер телефону. Таким чином, таблиця складається із записів, інформація в яких розділена на кілька частин - полів ( табл. 9.1 ).
Таблиця 9.1. Телефонний довідник ПІБ Номер телефону Іванов Іван Іванович 532-43-12 Ільїн Федір Іванович 321-32-34
Розглянемо різні визначення бази даних:
- Базою даних є представлена в об'єктивній формі сукупність самостійних матеріалів, систематизованих таким чином, щоб ці матеріали могли бути знайдені і оброблені за допомогою електронної обчислювальної машини [ 3 ].
- База даних - організована відповідно до певних правил і підтримувана в пам'яті комп'ютера сукупність даних, що характеризує актуальний стан деякої предметної області і використовувана для задоволення інформаційних потреб користувачів [ 4 ].
- База даних - сукупність даних, що зберігаються у відповідності зі схемою даних, маніпулювання якими виконують відповідно до правил засобів моделювання даних [ 5 ].
- База даних - деякий набір перманентних (постійно зберігаються) даних, що використовуються прикладними програмними системами будь-якого підприємства [ 6 ].
- База даних - сукупність взаємопов'язаних даних, спільно збережених в одному або декількох комп'ютерних файлах [ 7 ].
- База даних - спільно використовуваний набір логічно пов'язаних даних (і опис цих даних), призначений для задоволення інформаційних потреб організації [ 8 ].
- База даних - це сукупність пов'язаних даних, організованих за певними правилами, що передбачають загальні принципи опису, зберігання і маніпулювання, незалежна від прикладних програм [ 9 ].
Існує безліч і інших визначень, що відображають скоріше суб'єктивна думка тих чи інших авторів про те, що означає цей термін в їх розумінні, однак загальновизнана єдина формулювання відсутній. Найбільш часто використовуються наступні відмітні ознаки [ 10 ]:
- База даних зберігається і обробляється в обчислювальній системі. Таким чином, будь-які некомп'ютерні сховища інформації (архіви, бібліотеки, картотеки і т. П.) Базами даних не є.
- Дані в базі даних логічно структуровані (систематизовані) з метою забезпечення можливості їх ефективного пошуку і обробки в обчислювальній системі. Структурованість передбачає явне виділення складових частин (елементів), зв'язків між ними, а також типізацію елементів і зв'язків, при якій з типом елемента (зв'язку) співвідноситься певна семантика і допустимі операції.
- База даних включає метадані, що описують логічну структуру БД в формальному вигляді (відповідно до деякої метамодель). Відповідно до ГОСТ Р ІСО МЕК ТО 10032-2007, "постійні дані в середовищі бази даних включають в себе схему і базу даних. Схема включає в себе опису змісту, структури і обмежень цілісності, що використовуються для створення і підтримки бази даних. База даних містить в себе набір постійних даних, визначених за допомогою схеми. Система управління даними використовує визначення даних в схемі для забезпечення доступу і управління доступом до даних в базі даних "[ 5 ].
З перерахованих ознак тільки перший є строгим, а інші допускає різні трактування і різні ступені оцінки. Можна лише встановити певний рівень відповідності вимогам до БД.
Багато фахівців вказують на поширену помилку, що складається в некоректному використанні терміну база даних замість терміна система управління базами даних. Ці поняття, отже, необхідно розрізняти.
Система управління базами даних (СКБД) - це спеціалізована програма (частіше комплекс програм), призначена для організації і ведення бази даних [ 11 ].
Таким чином, система управління базою даних (СКБД) - найважливіший компонент інформаційної системи. Для створення і управління інформаційною системою СУБД необхідна в тій же мірі, як для розробки програми на алгоритмічній мові необхідний транслятор.
Основні функції СУБД [ 12 ]:
- керування даними в зовнішній пам'яті (на дисках);
- керування даними в оперативній пам'яті;
- журнал змін і відновлення бази даних після збоїв;
- підтримка мов БД (мова визначення даних, мова маніпулювання даними).
Зазвичай сучасна СУБД містить наступні компоненти [ 12 ] ( Мал. 9.1 ):
- ядро, яке відповідає за управління даними у зовнішній і оперативної пам'яті і журнал;
- процесор мови бази даних, що забезпечує оптимізацію запитів на вилучення та зміну даних і створення, як правило, машинно-незалежного виконуваного внутрішнього коду;
- підсистему підтримки часу виконання, яка інтерпретує програми маніпуляції даними, що створюють користувальницький інтерфейс із СУБД;
- сервісні програми (зовнішні утиліти), що забезпечують ряд додаткових можливостей по обслуговуванню інформаційної системи.
Мал.9.1.
компоненти СУБД
на Мал. 9.2 наведені основні функції та вміст компонентів обробки баз даних [ 13 ].
9.1.2. Класифікація БД
Існує величезна кількість різновидів баз даних, що відрізняються за різними критеріями (наприклад, в "Енциклопедії технологій баз даних" М. Р. Когаловскій [ 4 ] Визначаються понад 50 видів БД).
Бази даних можуть бути класифіковані [ 10 ]:
- За технологією зберігання:
- БД у вторинній пам'яті (традиційні);
- БД в оперативній пам'яті (in-memory databases);
- БД в третинної пам'яті (tertiary databases);
- За вмістом:
- Географічні;
- історичні;
- наукові;
- Мультимедійні;
- За ступенем розподіленості:
- Централізовані (зосереджені);
- Розподілені.
Детальніше ж розглянемо класифікацію БД за моделями даних.
9.1.2.1. Класифікація БД за моделлю даних
У класичній теорії баз даних, модель даних є формальна теорія подання та обробки даних в системі управління базами даних (СКБД), яка включає, щонайменше, три аспекти [ 12 , 14 ]:
- структура даних - описує точку зору користувача на представлення даних;
- набір допустимих операцій, що виконуються на структурі даних (модель даних передбачає, як мінімум, наявність мови визначення даних (МОД), що описує структуру їх зберігання, і мови маніпулювання даними (ЯМД), що включає операції вилучення та модифікації даних);
- обмеження цілісності - механізм підтримки відповідності даних предметної області на основі формально описаних правил.
Іншими словами, структура даних визначає, що з себе логічно представляє база даних, обмеження цілісності визначають кошти описів коректних станів бази даних, набір допустимих операцій визначає способи переходу між станами бази даних (тобто способи модифікації даних) і способи отримання даних з бази даних [ 14 ].
Кожна БД і СУБД будується на основі певної явній або неявній моделі даних. Всі СУБД, побудовані на одній і тій же моделі даних, відносять до одного типу. Наприклад, основою реляційних СУБД є реляційна модель даних, мережевих СУБД - мережева модель даних і т.д.
Тривалий час термін "модель даних" використовувався без формального визначення. Одним з перших фахівців, який досить формально визначив це поняття, був Е. Кодд. У статті "Моделі даних в управлінні базами даних" [ 15 ] Він визначив модель даних як комбінацію трьох компонентів:
- колекції типів об'єктів даних, що утворюють базові будівельні блоки для будь-якої бази даних, відповідної моделі;
- колекції загальних правил цілісності, що обмежують набір екземплярів тих типів об'єктів, які законним чином можуть з'явитися в будь-який такий базі даних;
- колекції операцій, які можна застосувати до таких екземплярів об'єктів для вибірки і інших цілей.
В процесі історичного розвитку в СУБД використовувалося наступні моделі даних [ 12 ]:
9.1.2.1.1. ієрархічні
Ієрархічна модель бази даних складається з об'єктів з покажчиками від батьківських об'єктів до нащадків, з'єднуючи разом зв'язану інформацію.
Організація даних в СУБД ієрархічного типу визначається в наступних термінах [ 12 ]:
- Атрибут (елемент даних) - найменша одиниця структури даних. Зазвичай кожному елементу при описі бази даних присвоюється унікальне ім'я. З цього імені до нього звертаються при обробці. Елемент даних також часто називають полем.
- Запис - іменована сукупність атрибутів. Використання записів дозволяє за одне звернення до бази отримати деяку логічно зв'язану сукупність даних. Саме записи змінюються, додаються і видаляються. Тип запису визначається складом її атрибутів. Примірник записи - конкретний запис з конкретним значенням елементів
- Групове ставлення - ієрархічне відношення між записами двох типів. Батьківська запис (власник групового відносини) називається вихідної записом, а дочірні записи (члени групового відносини) - підлеглими. Ієрархічна база даних може зберігати тільки такі деревовидні структури.
Однією з найбільш популярних ієрархічних СУБД була Information Management System (IMS) компанії IBM, що з'явилася в 1968 році [ 13 ].