Суть структурного підходу
Суть структурного підходу до проектування схем баз даних (БД) полягає в декомпозиції предметної області (ПО) на окремі поняття (об’єкти), інформацію про які необхідно зберігати в БД: ПО розбивається на загальні поняття, які у свою чергу діляться на підпоняття, що поділяються на загальні об’єкти і так далі. Процес розбивання продовжується аж до конкретних об’єктів (понять). При цьому схема БД зберігає цілісне представлення, у якому всі складові елементи взаємопов’язані.
Використання структурного підходу базуються на ряді загальних принципів. Двома базовими принципами є наступні:
Виділення двох базових принципів не означає, що інші принципи є другорядними, оскільки ігнорування будь-якого з них може призвести до непередбачуваних наслідків (у тому числі і до провалу проекту загалом).
Основними з цих принципів є такі:
У структурному підході побудова схем баз даних здійснюється за допомогою ERD (Entity-Relationship Diagrams) – діаграм “сутність-взаємозв'язок”.
Побудова ER¬-діаграм
Ціль моделювання даних полягає в проектуванні концептуальної схеми бази даних у формі однієї або декількох локальних моделей, що відносно легко можуть бути відображені в будь-яку систему баз даних.
Найбільше поширеним засобом моделювання даних є діаґрами “сутність-взаємозв'язок” (ERD). З їхньою допомогою визначаються важливі для предметної області об'єкти (сутності), їх властивості (атрибути) і відношення один з одним (зв'язки). ERD безпосередньо використовуються для проектування реляційних баз даних.
Нотація ERD була уперше введена П. Ченом (Chen) і одержала подальший розвиток у роботах Баркера. Зараз існує декілька нотацій ERD, з яких “найзручнішими” можна вважати нотації Баркера чи Кровз-Фут (Crow’s Foot).
Перший крок моделювання – отримання інформації про предметну область та виділення сутностей.
Сутність (Entity) - реальний або уявлюваний об'єкт, що має істотне значення для аналізованої предметної області, інформація про який підлягає збереженню (рис. 1).

Рис.1. Графічне зображення сутності.
Кожна сутність повинна мати унікальний ідентифікатор. Кожний примірник сутності повинний однозначно ідентифікуватися і відрізнятися від всіх інших примірників даного типу сутності. Кожна сутність повинна мати наступні властивості:
Розглянемо приклад. Нехай необхідно створити базу даних для збереження інформації про розклад викладача та відпрацьованих ним занять. Аналізуючи цю ПО, виділимо 5 сутностей (рис. 2).

Рис.2. Приклад сутностей.
Наступним кроком моделювання є ідентифікація зв'язків.
Зв'язок (Relationship) – це поіменована асоціація між двома сутностями, суттєва для предметної області, що аналізується. Зв'язок – це асоціація між сутностями, при якому, як правило, кожний примірник однієї сутності, що називається сутністю-предком, асоційований із довільною (у тому числі нульовою) кількістю примірників іншої сутності, що називається сутністю-нащадком, а кожний примірник сутності-нащадка асоційований точно з одим примірником сутності-предка. Таким чином, примірник сутності-нащадка може існувати тільки при існуванні сутності-предка.
Зв'язок може мати ім'я, у вигляді граматичного звороту дієслова, яке розташовується біля лінії зв'язку. Ім'я кожного зв'язку між двома даними сутностями повинно бути унікальним, але імена зв'язків у моделі не зобов'язані бути унікальними. Ім'я зв'язку завжди формується з погляду предка, так що воно може бути утворене з'єднанням імені сутності-предка, імені зв'язку, виразу ступеня й імені сутності-нащадка.
Наприклад, зв'язок предмету й теми може бути відображений наступним чином:
Ступінь зв'язку й обов'язковість графічно зображаються в такий спосіб (рис. 3).

Рис.3. Графічне зображення зв’язків.
Таким чином, два речення, що описують зв'язок предмету з темою, графічно будуть відображені в такий спосіб (рис. 4).

Рис.4. Приклад зв’язків між сутностями.
Після описання зв'язків між іншими сутностями одержимо наступну схему у нотації Crow’s Foot (рис. 5).

Рис.5. Приклад схеми зв’язків між сутностями ПО.
Останнім кроком моделювання є визначення атрибутів.
Атрибут – будь-яка характеристика сутності, що є істотною для аналізованої ПО і призначена для кваліфікації, ідентифікації, класифікації, кількісної характеристики або відображення стану сутності. Атрибут подає тип характеристик або властивостей, асоційованих із множиною реальних або абстрактних об'єктів (людей, місць, подій, станів, ідей, пар предметів і т.д.). Примірник атрибута – це визначена характеристика окремого елемента множини. Примірник атрибута визначається типом характеристики і її значенням – значенням атрибута. У ER-моделі атрибути асоціюються з конкретними сутностями. Таким чином, примірник сутності повинний мати єдине визначене значення для асоційованого атрибута.
Атрибут може бути або обов'язковим, або необов'язковим (рис. 6). Обов'язковість означає, що атрибут не може отримувати невизначених значень (null values). Атрибут може бути або описовим (тобто звичайним дескриптором сутності), або входити до складу унікального ідентифікатора (первинного ключа – primary key).
Унікальний ідентифікатор (primary key) - це атрибут або сукупність атрибутів і/або зв'язків, призначений для унікальної ідентифікації кожного примірника даного типу сутності. У випадку повної ідентифікації кожний примірник даного типу сутності цілком ідентифікується своїми власними ключовими атрибутами, у іншому випадку в його ідентифікації беруть участь також атрибути іншої сутності-предка (рис. 6).

Рис.6. Позначення атрибутів.
Кожен атрибут ідентифікується унікальним ім'ям, що є граматичним зворотом іменника, який описує характеристику, що подається атрибутом. Атрибути зображаються у вигляді списку імен усередині блоку асоційованої сутності, причому кожний атрибут займає окремий рядок. Атрибути, що визначають первинний ключ, розміщаються нагорі списку і виділяються знаком "#".
Кожна сутність повинна володіти хоча б одим можливим ключем. Можливий ключ сутності – це один або декілька атрибутів, чиї значення однозначно визначають кожний примірник сутності. При існуванні декількох можливих ключів одий із них позначається в якості первинного ключа, а інші - як альтернативні ключі.
З урахуванням наявної інформації доповнимо побудовану раніше діаґраму (рис. 7-8).

Рис.7. Приклад ER-діаграми в нотації Баркера.

Рис.8. Приклад ER-діаграми в нотації Crow’s Foot.
Крім перерахованих основних конструкцій модель даних може містити рекурсивні зв’язки. Рекурсивний зв'язок: сутність може бути пов'язана сама із собою (рис. 9).

Рис.9. Позначення рекурсивного зв’язка.