
- •1 Аналіз предметної області
- •2 Розробка універсального відношення
- •3 Розробка er-моделі предметної області «спорткомплекс»
- •4 Обґрунтування вибору моделі даних предметної області «спорткомплекс»
- •4.1 Ієрархічна модель даних
- •4.2 Мережева модель даних
- •4.3 Реляційна модель даних
- •4.4 Об’єктно-орієнтована модель даних
- •5 Проектування нормалізованих відношень
- •6 Оцінка спроектованих відношень
- •7 Розробка вихідних форм
- •8 Розробка програмного забезпечення для організації та управління даними
- •8.1 Розробка схеми алгоритму для реалізації запитів
- •8.2 Обгрунтуваня вибору мови програмування для управління організованою базою даних
- •8.3 Основні оператори мови sql
- •8.4 Розробка схеми алгоритму реалізації програмного забезпечення для бази даних
- •Висновки
- •Список використаних джерел
- •Додатки Додаток а Лістинг запитів
- •Додаток б Інструкція користувача
- •Додаток в Тестовий приклад реалізації запиту
- •Додаток г Графічна частина
6 Оцінка спроектованих відношень
Універсальне відношення приведене до третьої нормальної форми, тому спроектована структура повністю вільна від аномалій.
Проведемо аналіз операцій реляційної алгебри, які необхідно виконувати для кожного із запитів:
1. Вивести назву, місткість та поверх приміщень, які знаходяться на певному поверсі і мають певну назву приміщення;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Вид спорту» та «Приміщення». Після цього потрібно виконати селекцію по заданим критеріям.
2. Вивести назву, вид спорту, максимальну кількість чоловік в групах, які мають кількість відвідувачів більшу певного значення і знаходяться в певній групі;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Вид спорту» та «Група». Після цього потрібно виконати селекцію по заданим критеріям.
3. Вивести прізвище, ім’я, по-батькові, адресу, телефон, вік, статус, ідентифікаційний код, групу відвідувачів, які знаходяться в певній групі і мають зазначений вік;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Група» та «Відвідувачі». Після цього потрібно виконати селекцію по заданим критеріям.
4. Вивести прізвище, ім’я, по-батькові, адресу, телефон, вік, статус, ідентифікаційний код, групу відвідувачів, які знаходяться в певній групі і мають певний статус;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Група» та «Відвідувачі». Після цього потрібно виконати селекцію по заданим критеріям.
5. Вивести прізвище, ім’я, по-батькові, адресу, телефон, вік, статус, ідентифікаційний код, групу відвідувачів, які знаходяться в певній групі та проживають за певною адресою;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Група» та «Відвідувачі». Після цього потрібно виконати селекцію по заданим критеріям.
6. Вивести прізвище, ім’я, по-батькові, вид спорту, адресу, телефон, вік, стаж, номер паспорта тренерів, які займаються певним видом спорту та мають вік більший зазначеного;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Вид спорту» та «Тренери». Після цього потрібно виконати селекцію по заданим критеріям.
7. Вивести прізвище, ім’я, по-батькові, вид спорту, адресу, телефон, вік, стаж, номер паспорта тренерів які займаються певним видом спорту та мають стаж більший зазначеного;
Для виконання даного запиту потрібно виконати з’єднання таблиць «Вид спорту» та «Тренери». Після цього потрібно виконати селекцію по заданим критеріям.
8. Вивести прізвище, ім’я, по-батькові, вид спорту, адресу, телефон, вік, стаж, номер паспорта тренерів, які займаються певним видом спорту та мають певну освіту.
Для виконання даного запиту потрібно виконати з’єднання таблиць «Вид спорту» та «Тренери». Після цього потрібно виконати селекцію по заданим критеріям.
Проаналізуємо можливість виникнення аномалій в спроектованих відношеннях.
Кожне із спроектованих відношень має зовнішній ключ, який однозначно ідентифікує кортеж. Вставка даних, що залежить від ключа, проводиться автоматизовано, при цьому виключається можливість вставки кортежів із значенням ключа, що не відповідає існуючим у таблицях, які зв’язані з базою за допомогою зовнішнього ключа. Механізм реляційної бази даних при цьому перевіряє коректність введених значень і в разі похибки повідомляє у виконанні запиту на вставку кортежу. Отже, можна прийти до висновку, що аномалії вставки неможливі.
Оскільки використовуються зовнішні ключі, із підрядної таблиці не можна видалити значення кортежу, якщо воно використовується в головній таблиці, тому аномалії при видаленні даних неможливі.
При оновленні, змінюються дані зв’язані із головним унікальним ключем, а не саме ключове значення.