Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KP_primer.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2.2 Проектування логічної моделі бази даних

Після розробки концептуальної моделі даних необхідно перетворити її на логічну модель даних для поглибленого розуміння всіх сутностей та зв’язків між ними у даній предметній області.

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

Для створення логічної моделі даних існує багато програмних засобів та інструментів проектування. Але найбільш вдалим варіантом серед них є засіб концептуального моделювання баз даних ERwin.

Програмний продукт ERwin – це CASE-засіб для моделювання баз даних, котрий дозволяє створювати, документувати і супроводжувати бази даних, сховища і вітрини даних. Система ERwin підтримує процес проектування моделі даних, генерацію схеми бази даних на мові SQL для цільової системи управління бази даних (СУБД). Такими СУБД можуть бути ORACLE, InterBase, SyBase, Microsoft SQL Server та інші. Сама абревіатура назви продукту – ERwin – вказує на те, що в основу його функціонування покладена уява про ER (Entity Relationalship) – моделі «сутність – зв’язок». Основним об’єктом роботи користувача системи є моделі даних у вигляді ER-діаграм.

Застосування програмного засобу ERwin суттєво збільшує ефективність розробки інформаційних систем. Серед основних його переваг слід відмітити можливість автоматичної генерації схеми баз даних, автоматичної підготовки документації, можливість легко вносити зміни в модель даних у процесі розробки та розширення системи, підвищення швидкості розробки за рахунок потужного редактора ER-діаграм, надання концептуальної схеми, незалежної від типу використовуваної СУБД. Таким чином, одна й та сама діаграма ERwin може бути використана для генерації декількох реляційних схем для різних СУБД.

Система ERwin створює візуальне уявлення (модель даних) для певної предметної області, вона автоматично розробляє базу даних, таблиці, індекси, процедури, тригери та інші об’єкти, необхідні для управління даними.

Діаграма ERwin будується із трьох основних блоків – сутностей, атрибутів та зв’язків. Якщо розглядати діаграму як графічне уявлення правил предметної області, то сутності і атрибути є іменниками, а зв’язки – дієсловами.

У ході виконання проекту була побудована логічна модель даних, яка зображено на рисунку 2.2.

Рисунок 2.2 – Логічна модель для ПрО «Адресна книга»

2.3 Аналіз бізнес-логіки обробки даних у предметній області та визначення основних типів запитів у системі

У процесі роботи з базою даних будуть використані такі SQL-запити, як INSERT, UPDATE, DELETE, SELECT, вкладені та JOIN запити. Детальніше про кожен із них.

INSERT – оператор мови SQL, який дозволяє додавати нові дані в таблиці баз даних. Значення можна вставляти перерахуванням за допомогою слова VALUES і перерахувавши їх в круглих дужках через кому або оператором SELECT.

UPDATE – оператор мови SQL, що дозволяє оновити/змінити значення в заданих стовпцях таблиці. При створенні запиту UPDATE потрібно вказати оновлювану таблицю, стовпці, вміст яких необхідно оновити, значення або вираз, що використовується для оновлення окремих стовпців та умови пошуку для вибірки рядків, які потрібно оновити.

DELETE – це оператор мови SQL, що застосовується для видалення даних із таблиць баз даних. Критерій відбору записів для видалення визначається за допомогою оператора WHERE. У випадку, якщо критерій відбору не визначений, виконується видалення всіх записів.

SELECT ­ це оператор мови SQL, який повертає набір даних (вибірку) з бази даних, що задовольняють заданій умові. При формуванні запиту SELECT необхідно вказати або назву стовпця, значення якого бажаємо побачити, або декількох стовпців через кому, або символ «*», що означає вибір усіх стовпців з таблиці, назва якої вказується далі. Із запитом SELECT для визначення умови вибірки часто використовуються такі ключові слова, як WHERE, ORDER BY, GROUP BY та HAVING. Запит виконується наступним чином: спочатку витягуються всі записи з таблиці, а потім для кожного запису перевіряється його відповідність заданому критерію.

Вкладеним запитом називається запит, що поміщається в конструкцію SELECT, INSERT, UPDATE або DELETE, або в інший вкладений запит. Вони можуть використовуватися у фразах FROM, WHERE і HAVING, а також у списку після слова SELECT, створюючи, таким чином, обчислюваний стовпець. Використовуються такі запити, наприклад, коли вибірка певних даних з однієї таблиці не дає бажаного результату, і необхідно звернутися до ще якоїсь таблиці для уточнення даних. Існують такі основні правила використання вкладених запитів SQL:

  1. тіло вкладеного запиту завжди заключається в дужки;

  2. вкладені запити можуть містити інші вкладені запити, при цьому виконання запиту завжди починається із самого «глибокого» вкладеного запиту і закінчується зовнішнім запитом;

  3. у вкладеному запиті не слід використовувати фразу ORDER BY, оскільки сортування результатів має бути виконано один раз, після виконання всього запиту вцілому.

JOIN ­ оператор мови SQL, який об'єднує дві таблиці в реляційній базі даних, утворюючи нову тимчасову таблицю, яку інколи називають "об'єднаною таблицею". З математичної точки зору операція об'єднання є фундаментальною операцією реляційної алгебри. В SQL існують такі типи об'єднання: внутрішнє ­ INNER, зовнішнє ­ OUTER.

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

Зовнішнє об'єднання поділяють на ліве зовнішнє ­ LEFT OUTER та праве зовнішнє ­ RIGHT OUTER. Ліве зовнішнє об'єднання повертає всі значення з лівої таблиці і додає значення колонок з правої таблиці або NULL, якщо немає збігу за предикатом об'єднання. Праве зовнішнє об'єднання, аналогічно до лівого, повертає всі значення, але вже з правої таблиці і додає значення колонок з лівої таблиці або NULL, якщо немає збігу за предикатом об'єднання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]