Главная

Статьи

НОУ ІНТУЇТ | лекція | Проектування баз даних та робота з ними Веб-додатків. Введення в БД, SQL Server, ADO.NET

  1. 9.1. Проектування баз даних
  2. 9.1.2. Класифікація БД
  3. 9.1.2.1. Класифікація БД за моделлю даних
  4. 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 ]:

  1. База даних зберігається і обробляється в обчислювальній системі. Таким чином, будь-які некомп'ютерні сховища інформації (архіви, бібліотеки, картотеки і т. П.) Базами даних не є.
  2. Дані в базі даних логічно структуровані (систематизовані) з метою забезпечення можливості їх ефективного пошуку і обробки в обчислювальній системі. Структурованість передбачає явне виділення складових частин (елементів), зв'язків між ними, а також типізацію елементів і зв'язків, при якій з типом елемента (зв'язку) співвідноситься певна семантика і допустимі операції.
  3. База даних включає метадані, що описують логічну структуру БД в формальному вигляді (відповідно до деякої метамодель). Відповідно до ГОСТ Р ІСО МЕК ТО 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 ]:

  1. структура даних - описує точку зору користувача на представлення даних;
  2. набір допустимих операцій, що виконуються на структурі даних (модель даних передбачає, як мінімум, наявність мови визначення даних (МОД), що описує структуру їх зберігання, і мови маніпулювання даними (ЯМД), що включає операції вилучення та модифікації даних);
  3. обмеження цілісності - механізм підтримки відповідності даних предметної області на основі формально описаних правил.

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

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

Тривалий час термін "модель даних" використовувався без формального визначення. Одним з перших фахівців, який досить формально визначив це поняття, був Е. Кодд. У статті "Моделі даних в управлінні базами даних" [ 15 ] Він визначив модель даних як комбінацію трьох компонентів:

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

В процесі історичного розвитку в СУБД використовувалося наступні моделі даних [ 12 ]:

9.1.2.1.1. ієрархічні

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

Організація даних в СУБД ієрархічного типу визначається в наступних термінах [ 12 ]:

  • Атрибут (елемент даних) - найменша одиниця структури даних. Зазвичай кожному елементу при описі бази даних присвоюється унікальне ім'я. З цього імені до нього звертаються при обробці. Елемент даних також часто називають полем.
  • Запис - іменована сукупність атрибутів. Використання записів дозволяє за одне звернення до бази отримати деяку логічно зв'язану сукупність даних. Саме записи змінюються, додаються і видаляються. Тип запису визначається складом її атрибутів. Примірник записи - конкретний запис з конкретним значенням елементів
  • Групове ставлення - ієрархічне відношення між записами двох типів. Батьківська запис (власник групового відносини) називається вихідної записом, а дочірні записи (члени групового відносини) - підлеглими. Ієрархічна база даних може зберігати тільки такі деревовидні структури.

Однією з найбільш популярних ієрархічних СУБД була Information Management System (IMS) компанії IBM, що з'явилася в 1968 році [ 13 ].