- •1. Стратегія автоматизації предметної області
- •1.1. Загальні положення
- •1.2. Мета, цілі та задачі створення бази даних
- •1.3. Вимоги до інформаційного забезпечення
- •2. Аналіз предметної області
- •2.1. Загальні положення системного аналізу по
- •2.2. Загальні положення ведення каталогу видань, їх зберігання та видачі в бібліотеці
- •2.3. Системний аналіз предметної області
- •2.3.1. Сутність «Тип видання»
- •2.3.2. Сутність «Заголовок»
- •2.3.3. Сутність «Видавництво»
- •2.3.4. Сутність «Автор»
- •2.3.5. Сутність «Стиль»
- •2.3.6. Сутність «Видання»
- •2.3.7. Сутність «Співавтори»
- •2.3.8. Сутність «Обкладинка»
- •2.3.9. Сутність «Місце»
- •2.3.10. Сутність «Реєстрація»
- •2.3.11. Сутність «Читацький квиток»
- •2.3.12. Сутність «Видача»
- •2.4. Інформаційно-довідкові задачі
- •3. Концептуальне моделювання предметної області
- •3.1. Теоретичні положення концептуального моделювання
- •Ключові результати етапу концептуального моделювання
- •3.2. Мова er—моделювання по
- •3.2. Побудова концептуальної моделі бібліотеки
- •4. Логічне та фізичне проектування бази даних
- •4.1. Логічне проектування
- •Крок 1. Перетворення сутностей у таблиці
- •Крок 2. Перетворення атрибутів у стовпці
- •Крок 3. Подання унікальних ідентифікаторів ключами таблиць
- •Крок 4. Перетворення зв'язків багато-до-одного і один-до-одного в зовнішні ключі
- •Крок 5. Введення спеціальних первинних ключів
- •4.2. Фізичне проектування
- •4.2.1. Скрипти створення бази даних
- •4.2.2. Інформаційно–пошукові запити
- •4.2.2.1. Інформаційні запити пов’язані з виданнями
- •4.2.2.2. Інформаційні запити пов’язані із розміщенням та реєстрацією видання
- •4.2.2.3. Інформаційні запити пов’язані із видачею літератури читачам
- •Висновки
3.2. Побудова концептуальної моделі бібліотеки
На основі проведеного аналізу предметної області була побудована концептуальна модель з використанням мови ER–моделювання. Концептуальна модель наведена на наступному рисунку. Дамо декілька зауважень:
По–перше, ця модель не містить опису атрибутів сутностей у зв’язку з відсутністю місця для їх зображення. Передбачається, що атрибути сутностей разом з їх властивостями (бізнес–правилами) детально описані на етапі аналізу.
По–друге, мова ER–моделювання не передбачає детального представлення інформаційно–довідкових задач. Ми припускаємо, що вони мають звичайний текстовий опис, який представлений на етапі аналізу.
І, по-третє, наша концептуальна модель не містить інших складових, а саме, докладний і строгий опис сховищ даних, та детальний опис потоків даних. Це не було зроблено, так як опис цих складових концептуальної моделі виходить за рамки курсової роботи.
Рис. Концептуальна ER-модель бібліотеки
4. Логічне та фізичне проектування бази даних
Завдання цього етапу полягає у проведенні логічного та фізичного проектування бази даних.
Логічне проектування — це розробка логічної структури системи баз даних без прив'язки до конкретної СКБД, структур збереження, методам доступу і т.д..
Фізичне проектування – це проект системи бази даних для конкретної СКБД. Під час виконання даного етапу модель сутностей і зв'язків перетворюється в схему бази даних і специфікації позамашинного збереження.
4.1. Логічне проектування
У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СКБД.
Для перетворення концептуальної моделі, представленої у вигляді мови ER–моделювання, у реляційну модель, був використаний наступний алгоритм.
Крок 1. Перетворення сутностей у таблиці
Кожна сутність перетворюється у таблицю. Ім’я сутності представляється у вигляді семантично осмисленого імені у латинському алфавіті.
Крок 2. Перетворення атрибутів у стовпці
Кожний атрибут перетвориться в стовпець. Ім’я атрибуту представляється у вигляді семантично осмисленого імені у латинському алфавіті. У цей момент уточнюється формат представлення значень стовпця. Факультативні атрибути стають NULL-стовпцями. Обов'язкові атрибути стають NOT NULL-стовпцями.
Крок 3. Подання унікальних ідентифікаторів ключами таблиць
Складові унікального ідентифікатора сутності стають первинним ключем таблиці. Нагадаємо, що сутність може мати більш ніж один унікальний ідентифікатор Тому вибирається той, котрий використовується найбільше часто. Всі інші унікальні ідентифікатори приймають обмеження цілісності UNIQUE та NOT NULL.
Сутність може унікально ідентифікуватися комбінацією атрибутів або зв'язків. При використанні в ідентифікаторі сутності зв'язку до складу первинного ключа включається зовнішній ключ, який посилається на ту таблицю, з якою пов’язаний той або інший зв’язок.
Крок 4. Перетворення зв'язків багато-до-одного і один-до-одного в зовнішні ключі
Зв'язки типу багато-до-одного й один-до-одного породжують зовнішні ключі. Інакше кажучи, необхідно взяти унікальні ідентифікатори кожної сутності, розташованої в закінчення зв'язку зі ступенем один, і ввести його у відношення, розташоване з боку зв'язку "багато" як стовпці. Факультативним зв'язкам відповідають NULL-стовпці. Обов'язковим зв'язкам відповідають NOT NULL-стовпці.
