База даних «Теорія та практика прикладного програмування» призначена для зберігання, обробки та пошуку інформації про зміст підручника з програмування.
Головним конструктором баз даних є адміністратор. Адміністратор здійснює роботу з супроводу баз даних у комп'ютерних системах. До його основних обов'язків належить забезпечення збереження інформації, коректування БД за завданнями користувачів, визначення ефективності баз даних, консультування користувачів.
Користувач — це особа, яка користується інформацією, що міситься у базах даних. Зокрема, Користувач автоматизованої системи — особа, яка бере участь у функціонуванні автоматизованої системи або використовує результати її функціонування [2].
З точки зору інформаційної безпеки, користувачем є тільки людина. Програма ж, що працює за її завданням, є вже суб'єктом. З її допомогою користувач взаємодіє з системою, можливо включеною в мережу, і отримує створюване нею робоче середовище. Користувачем є людина, що використовує систему або мережу для вирішення поставлених перед нею завдань. Її називають кінцевим користувачем.
Базою даних «Теорія та практика прикладного програмування» можуть користуватися молоді програмісти, які займаються вивченням мови програмування Delphi. У БД зберігається інформація про зміст розділів підручника, компоненти, функції та процедури, що в ньому розглядаються.
Рисунок 1.1 – Модель предметної області ІС «Теорія та практика прикладного програмування»
2. Проектування інформаційної системи
Під предметною областю розуміють стійкий зв'язок між іменами, поняттями та об'єктами зовнішнього світу, що не залежить від самої інформаційної системи та кола її користувачів. Введення в розгляд поняття предметної області бази даних обмежує і робить доступним для огляду простір інформаційного пошуку в базі даних і дозволяє виконувати запити за кінцевий час [3].
Проектування бази даних — це впорядкований процес створення такої моделі предметної області, яка зв’язує дані, що зберігаються в базі з об’єктами предметної області, що описуються цими даними.
Проектування баз даних, як правило, відіграє одну з ключових ролей у більшості проектів. Грамотно спроектована база дозволяє без особливих проблем вносити зміни, змінювати структуру системи [4].
Повний етап проектування бази даних складається з трьох частин:
1. Концептуального (або інфологічного) проектування.
2. Даталогічного проектування.
3. Фізичного проектування.
2.1 Концептуальне (інфологічне) проектування
Проектування бази даних складається з кількох етапів і починається з попередньої структуризації предметної області. Перш за все, необхідно виділити всі об'єкти, які будуть використовуватися в базі даних, вказати їх властивості (характеристики) та встановити зв'язки між ними. Цей етап називають концептуальним проектуванням бази даних.
Для опису предметної області використовують три основні конструктивні елементи сутність, атрибут і зв'язок.
Сутність - це узагальнене поняття для позначення безлічі однорідних об'єктів, інформацію про які необхідно збирати і зберігати в інформаційній системі. Сутність визначається своїм унікальним ім'ям і переліком атрибутів, що характеризують властивості сутності.
Атрибут - це пойменована характеристика суті, яка приймає значення з деякої множини допустимих значень. Атрибути моделюють властивості сутності.
Зв'язок – це графічно зображена асоціація, призначена для позначення виділеної відносини між двома або більше сутностями [1].
У даній інформаційній системі основними об'єктами є:
Главы з властивостями: № главы, название главы, краткое содержание, начальная страница, конечная страница;
Подглавы з властивостями: № главы, код подглавы, название подглавы, начальная страница, конечная страница;
Параграфы з властивостями: код параграфа, № главы, код подглавы, название параграфа, начальная страница, конечная страница, ключевые слова которые упоминаются, процедуры которые упоминаются, функции которые упоминаются, свойства компонентов которые упоминаются, типы переменных которые упоминаются, определения, фрагменты кода, рисунки, таблицы;
Таблицы з властивостями: код параграфа, название таблицы, содержание таблицы;
Типы переменных з властивостями: код параграфа, тип переменной, описание;
Фрагменты кода з властивостями: код параграфа, фрагмент кода, описание;
Рисунки з властивостями: код параграфа, название рисунка, рисунок;
Функции властивостями: код параграфа, функция, описание;
Ключевые слова з властивостями: код параграфа, код ключевого слова, ключевое слово, описание.
ER-модель є однією з самих простих візуальних моделей даних (графічних нотацій). Вона дозволяє визначити структуру в загальних рисах [5]. Це загальний опис структури називається ER-діаграмою або онтологією вибраної предметної області.
На етапі переходу до реалізації даної ER-діаграми у вигляді реальної інформаційної системи або програми, відбувається відображення ER-моделі в більш детальну модель даних реляційної (об'єктної, мережевої, логічної, або ін) бази даних, яка називається фізичною моделлю даних по відношенню до вихідної ER-діаграмі.
Модель Сутність-Зв'язок (ER-модель) (англ. entity-relationship model або entity-relationship diagram) — це модель даних, що дозволяє описувати концептуальні схеми. Вона надає графічну нотацію, засновану на блоках і з'єднуючих їх лініях, за допомогою яких можна описувати об'єкти і відносини між ними будь-якої іншої моделі даних. У цьому сенсі ER-модель є мета-моделлю даних, тобто є засобом опису моделей даних.
ER-модель зручна при проектуванні інформаційних систем, баз даних, архітектур комп'ютерних програм, і інших систем (далі — моделей). З її допомогою можна виділити ключові сутності, що присутні в моделі, і позначити зв’язки, які можуть встановлюватися між цими сутностями. Важливо відзначити, що самі зв’язки також є сутностями (виділяються в окремі графічні блоки), що дозволяє встановлювати зв’язки на безлічі самих відносин [1].
Для цього використовуються наступні позначення:
Сутність зображається прямокутниками.
Атрибути позначаються овалами (або прямокутниками з закругленими кутами).
Зв’язки зображаються ромбами.
Рисунок 2.1.1 – ER-діаграма
У базі даних можуть перебувати дані, що повторюються, які призводять до надмірності даних. Надмірність даних є причиною аномалій, які виявляються в некоректному оновленні, видаленні та редагуванні даних, що в свою чергу стає причиною порушення таких властивостей бази даних, як цілісність, несуперечність, логічна і фізична незалежність. Мінімальна надмірність досягається шляхом виключення повторюваних записів. Але іноді повне усунення надмірності недоцільно [6].
Нормалізація — це розбиття таблиці на дві або більше, що володіють кращими властивостями при включенні, зміні та видаленні даних. Остаточна мета нормалізації зводиться до отримання такого проекту бази даних, в якому кожен факт з'являється лише в одному місці, тобто виключена надмірність інформації. Це робиться не стільки з метою економії пам'яті, скільки для виключення можливої суперечливості збережених даних [7].
Процес нормалізації складається з кількох етапів, на кожному з яких визначаються так звані нормальні форми: 1НФ, 2 НФ, 3 НФ, НФБК, 4НФ, 5НФ (форма проекції зв’язків). У більшості проектів третя нормальна форма завершує процес нормалізації.
Таблиця знаходиться у першій нормальній формі (1НФ) тоді і тільки тоді, коли жоден з її рядків не містить у будь-якому своєму полі більше одного значення і жодне з її ключових полів не порожньо.
Таблиця знаходиться в другій нормальній формі (2НФ), якщо вона задовольняє визначенням 1НФ і всі її поля, що не входять до первинного ключа, пов'язані повною функціональною залежністю з первинним ключем.
Таблиця знаходиться в третій нормальній формі (3НФ), якщо вона задовольняє визначенням 2НФ і не одне з її неключових полів не залежить функціонально від будь-якого іншого неключового поля.
Таблиця знаходиться в нормальній формі Бойса-Кодда (НФБК), якщо і тільки якщо будь-яка функціональна залежність між її полями зводиться до повної функціональної залежності від можливого ключа.
Таблиця знаходиться у п'ятій нормальній формі (5НФ) тоді і тільки тоді, коли в кожній її повній декомпозиції всі проекції містять можливий ключ. Таблиця, яка не має жодної повної декомпозиції, також знаходиться в 5НФ. Повною декомпозицією таблиці називають таку сукупність довільного числа її проекцій, підключення яких повністю збігається з вмістом таблиці.
Четверта нормальна форма (4НФ) є окремим випадком 5НФ, коли повна декомпозиція повинна бути з'єднанням рівно двох проекцій. Вельми не просто підібрати реальну таблицю, що може бути надана в 4НФ, але не була б у 5НФ.
Рисунок 2.1.2 – Нормалізована ER-діаграма (3НФ)
2.2 Даталогічне проектування баз даних
На даному етапі об'єкти й зв'язки між ними перетворюють в логічну модель даних. Існує кілька логічних моделей даних. Серед них виділяють реляційну (від англ. Relation - відношення), ієрархічну і мережеву.
Ця база даних є реляційної. У ній об'єкти й зв'язки між ними представляються у вигляді таблиць (відносин), що складаються з рядків і стовпців. Стовпець - це поле, рядок - це запис. Кожне поле має ім'я і тип. Імена полів - це атрибути (вони визначаються властивостями об'єкта). Тип задає спосіб представлення атрибуту.