You are on page 1of 16

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ


Факультет кібербезпеки, комп’ютерної та програмної інженерії
Кафедра інженерії програмного забезпечення

Лабораторна робота № 1 (ЗФН)


ОСНОВИ ER-МОДЕЛЮВАННЯ ПРЕДМЕТНОЇ ОБЛАСТІ. АНАЛІЗ
ПРЕДМЕТНОЇ ОБЛАСТІ ТА КОНЦЕПТУАЛЬНЕ МОДЕЛЮВАННЯ

Виконав: студентка гр. ПІ-301Бз


Маркус Є.О.

Київ 2024
Мета – засвоїти основні поняття ER- моделювання предметної області,
навчитися визначати сутності предметної області, атрибути, що її
характеризують, та ключові атрибути, що її однозначно ідентифікують.
Форма звіту – електронний варіант звіту, оформлений згідно вимог
викладача.

Короткі теоретичні відомості


База даних – сукупність взаємозв'язаних, що зберігаються разом даних за
наявності такої мінімальної надмірності, яка допускає їх використання
оптимальним чином для одного або декількох застосувань.
Первинний ключ – це одне або декілька полів, зміст яких унікальний для
кожного запису. Якщо в таблиці такого поля нема, то можна ввести
додаткове числове поле з автоматичною нумерацією записів. Первинні
ключі гарантують унікальність записів у таблиці, а поля первинних ключів
використовуються для зв'язку таблиць. Поля в іншій таблиці, які
зв’язуються з полем первинного ключа, називаються зовнішнім ключем.
На відміну від первинного ключа, зовнішнім ключем може бути будь-яке
поле, що використовується для зв'язку. Тільки погодивши значення
первинного й зовнішнього ключа в обох таблицях, можна зв'язати два
записи, а, отже, і дві таблиці. При виборі типів даних необхідно пам'ятати,
що зв'язки між таблицями встановлюються тільки через ключові поля, що
мають однаковий тип даних.
У реляційних базах даних найбільше поширеними є зв'язки: Один до
одного («1-1») – одному запису у першій таблиці відповідає один запис у
другій. Один до багатьох («1- ») – одному запису у першій таблиці
відповідає декілька записів у другій. На стороні «один» завжди повинне
бути первинне ключове поле.
Таблиця – основний об'єкт БД. Створюються таблиці користувачем для
зберігання інформації про предмети або суб'єктах в певній структурі. З
таблиць користувачі отримують потрібну їм інформацію. Будь-яка таблиця
складається з полів (стовпців) і записів (рядків).
Завдання:
Розробити концептуальну модель згідно із призначеним варіантом. У
електронному звіті описати послідовно всі етапи розроблення моделі. А
саме:
 Аналіз предметної області.
 Визначення сутностей.
 Визначення атрибутів сутностей.
 Визначення унікальних ідентифікаторів сутностей.
 Встановлення зв’язків між сутностями.
 Визначення міжтабличних зв’язків БД.
 Побудова логічної структури реляційної бази даних.
 Побудова інфологічної моделі БД.
 Документування концептуальної моделі в термінах ER-діаграми.
 Список використаної літератури та програмного забезпечення.
 Оформлення звіту.
Варіант 14: Торговельне обладнання: Створити базу даних обліку пацієнтів
поліклініки. Спроектована база даних повинна надати користувачеві
наступну інформацію: перелік торговельного обладнання, характеристики,
постачальник.
Хід роботи:
 Аналіз предметної області
Детальний аналіз предметної області є важливим етапом у проектуванні
бази даних, оскільки дозволяє ретельно зрозуміти всі аспекти системи, що
буде реалізована. Для вашого завдання - обліку пацієнтів поліклініки та їх
торговельного обладнання - аналіз предметної області може бути
наступним:
1. Поліклініка та її структура:
- Опис типової поліклініки: загальні функції, робочі процеси, підрозділи
(лікарні, діагностичні кабінети, реєстрація пацієнтів тощо).
- Розгляд основних потреб поліклініки в обладнанні та інструментах для
надання медичної допомоги.
2. Торговельне обладнання:
- Перелік основного торговельного обладнання, що використовується в
поліклініці (наприклад, медичні прилади, обладнання для діагностики,
меблі тощо).
- Опис функцій кожного типу обладнання та його використання в
медичних процедурах.
3. Характеристики торговельного обладнання:
- Технічні характеристики кожного типу обладнання (наприклад,
розміри, вага, потужність, точність вимірювань тощо).
- Особливості експлуатації та обслуговування торговельного обладнання.
4. Постачальники:
- Перелік постачальників торговельного обладнання для поліклініки.
- Інформація про кожного постачальника (назва компанії, контактні дані,
історія співпраці, рейтинг якості обслуговування тощо).
5. Структура взаємодії з обладнанням:
- Процеси взаємодії медичного персоналу з торговельним обладнанням
(наприклад, введення даних, проведення процедур, обробка результатів).
- Система обліку використання та обслуговування обладнання (планові
та аварійні обслуговування, внутрішні перевірки та тестування).
6. Законодавчі вимоги:
- Розгляд вимог законодавства щодо умов експлуатації та
обслуговування медичного обладнання.
- Необхідність дотримання нормативних вимог та стандартів у сфері
охорони здоров'я та медичного обладнання.
Даний аналіз дозволить зрозуміти всі аспекти предметної області та
необхідності створення бази даних для ефективного обліку торговельного
обладнання в поліклініці. На його основі ви зможете розробити структуру
бази даних та необхідні функції для забезпечення всіх потреб
користувачів.

 Визначення сутностей.
Визначення сутностей - це ключовий етап у процесі проектування бази
даних, оскільки від правильності визначених сутностей залежить
успішність подальшої роботи. Для даного завдання - бази даних обліку
пацієнтів поліклініки з переліком торговельного обладнання,
характеристиками та постачальниками - можна виділити наступні сутності:

1. Пацієнт:
- Ідентифікатор (пацієнт може мати унікальний номер або код)
- ПІБ
- Дата народження
- Адреса
- Телефон
- Стать
- Медична історія (записи про візити до поліклініки, результати
обстежень тощо)

2. Медичний працівник:
- Ідентифікатор
- ПІБ
- Спеціальність
- Кваліфікація
- Контактна інформація
- Робоче місце (наприклад, відділення або кабінет)

3. Торговельне обладнання:
- Ідентифікатор
- Назва
- Опис
- Технічні характеристики (розміри, потужність тощо)
- Категорія (наприклад, медичні прилади, діагностичне обладнання,
меблі)
- Стан (нове, вживане)
- Дата придбання

4. Характеристики обладнання:
- Ідентифікатор
- Характеристики (такі як вага, розміри, діапазон вимірювань тощо)
- Відноситься до певного типу обладнання

5. Постачальник:
- Ідентифікатор
- Назва компанії
- Адреса
- Контактна інформація
- Історія співпраці
- Рейтинг якості обслуговування

6. Поставка:
- Ідентифікатор
- Дата поставки
- Інформація про постачальника
- Інформація про замовлене обладнання та його кількість

 Визначення атрибутів сутностей.


Для кожної з визначених сутностей потрібно визначити відповідні
атрибути - це конкретні характеристики або властивості, що описують
кожну сутність. Нижче наведено приклади атрибутів для кожної сутності з
вашого завдання:
1. Пацієнт:
- ID_Patient (ідентифікатор пацієнта)
- Full_Name (ПІБ пацієнта)
- Date_of_Birth (дата народження)
- Address (адреса)
- Phone_Number (телефон)
- Gender (стать)
- Medical_History (медична історія)
2. Медичний працівник:
- ID_Staff (ідентифікатор медичного працівника)
- Full_Name (ПІБ медичного працівника)
- Specialization (спеціальність)
- Qualification (кваліфікація)
- Contact_Information (контактна інформація)
- Workplace (робоче місце)
3. Торговельне обладнання:
- ID_Equipment (ідентифікатор обладнання)
- Name (назва)
- Description (опис)
- Technical_Specifications (технічні характеристики)
- Category (категорія)
- Condition (стан)
- Date_of_Acquisition (дата придбання)
4. Характеристики обладнання:
- ID_Characteristics (ідентифікатор характеристики)
- Characteristics (характеристики)
- Equipment_Type (тип обладнання)
5. Постачальник:
- ID_Supplier (ідентифікатор постачальника)
- Company_Name (назва компанії)
- Address (адреса)
- Contact_Information (контактна інформація)
- History_of_Cooperation (історія співпраці)
- Service_Quality_Rating (рейтинг якості обслуговування)
6. Поставка:
- ID_Supply (ідентифікатор поставки)
- Date_of_Supply (дата поставки)
- Supplier_Information (інформація про постачальника)
- Equipment_Information (інформація про замовлене обладнання)
- Quantity (кількість)

 Визначення унікальних ідентифікаторів сутностей.


Унікальний ідентифікатор (або первинний ключ) - це атрибут, який
однозначно ідентифікує кожен запис у таблиці бази даних. Використання
унікальних ідентифікаторів дозволяє однозначно визначати кожен запис та
забезпечує унікальність даних. Давайте визначимо унікальні
ідентифікатори для кожної з визначених сутностей:
1. Пацієнт:
- ID_Patient (ідентифікатор пацієнта) - це унікальний номер, який
ідентифікує кожного пацієнта.
2. Медичний працівник:
- ID_Staff (ідентифікатор медичного працівника) - унікальний номер, що
ідентифікує кожного медичного працівника.
3. Торговельне обладнання:
- ID_Equipment (ідентифікатор обладнання) - унікальний номер, що
ідентифікує кожний пристрій чи обладнання.
4. Характеристики обладнання:
- ID_Characteristics (ідентифікатор характеристики) - унікальний номер,
що ідентифікує кожну характеристику обладнання.
5. Постачальник:
- ID_Supplier (ідентифікатор постачальника) - унікальний номер, що
ідентифікує кожного постачальника.
6. Поставка:
- ID_Supply (ідентифікатор поставки) - унікальний номер, що ідентифікує
кожну поставку.
Унікальні ідентифікатори допомагають унікально ідентифікувати кожен
запис у базі даних та забезпечують ефективну роботу з даними.

 Встановлення зв’язків між сутностями.


Після визначення сутностей та їх атрибутів потрібно встановити зв'язки
між ними. Зв'язки в базі даних визначаються відношеннями між різними
сутностями та відображають взаємозв'язки між ними. Ось як ви можете
встановити зв'язки для вашої бази даних:

1. Пацієнт та Медичний працівник:


- Кожен пацієнт може бути пов'язаний з багатьма медичними
працівниками (наприклад, лікарями, медсестрами), тому це може бути
зв'язок один-до-багатьох (1:M). Однак, можливо також потрібно врахувати
ситуацію, коли один медичний працівник обслуговує багатьох пацієнтів
(багато-до-багатьох, M:N).

2. Пацієнт та Поставка:
- Кожен пацієнт може мати або не мати стосунку до конкретної поставки
торговельного обладнання, тому це може бути зв'язок нуль-до-багатьох
(0:M) або навіть один-до-багатьох (1:M), якщо кожен пацієнт має хоча б
одну поставку.

3. Торговельне обладнання та Постачальник:


- Кожне обладнання пов'язане з одним або багатьма постачальниками,
тому це може бути зв'язок один-до-багатьох (1:M).

4. Торговельне обладнання та Характеристики обладнання:


- Кожне обладнання може мати багато різних характеристик, тому це
також може бути зв'язок один-до-багатьох (1:M).

 Визначення міжтабличних зв’язків БД.


Міжтабличні зв'язки визначають взаємозв'язки між різними таблицями
бази даних. Ці зв'язки дозволяють пов'язувати дані з різних таблиць та
використовувати їх для здійснення запитів і отримання зв'язаних даних.
Ось як ви можете визначити міжтабличні зв'язки для вашої бази даних:

1. Пацієнт та Медичний працівник:


- Таблиця "Пацієнт" може мати зв'язок з таблицею "Медичний
працівник" за допомогою поля, яке містить ідентифікатор медичного
працівника (ID_Staff). Цей зв'язок вказує на те, які медичні працівники
обслуговують певного пацієнта.

2. Пацієнт та Поставка:
- Таблиця "Пацієнт" може мати зв'язок з таблицею "Поставка" за
допомогою поля, яке містить ідентифікатор пацієнта (ID_Patient). Цей
зв'язок вказує на те, які поставки пов'язані з певним пацієнтом (наприклад,
які обладнання було поставлено для лікування конкретного пацієнта).

3. Торговельне обладнання та Постачальник:


- Таблиця "Торговельне обладнання" може мати зв'язок з таблицею
"Постачальник" за допомогою поля, яке містить ідентифікатор
постачальника (ID_Supplier). Цей зв'язок вказує на те, які постачальники
забезпечують обладнання.

4. Торговельне обладнання та Характеристики обладнання:


- Таблиця "Торговельне обладнання" може мати зв'язок з таблицею
"Характеристики обладнання" за допомогою поля, яке містить
ідентифікатор обладнання (ID_Equipment). Цей зв'язок вказує на те, які
характеристики відносяться до конкретного обладнання.

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


1. Таблиця "Пацієнт":
CREATE TABLE Patient (
ID_Patient INT PRIMARY KEY,
Full_Name VARCHAR(255),
Date_of_Birth DATE,
Address VARCHAR(255),
Phone_Number VARCHAR(20),
Gender VARCHAR(10),
Medical_History TEXT

2. Таблиця "Медичний працівник":


CREATE TABLE Medical_Staff (
ID_Staff INT PRIMARY KEY,
Full_Name VARCHAR(255),
Specialization VARCHAR(255),
Qualification VARCHAR(255),
Contact_Information VARCHAR(255),
Workplace VARCHAR(255)
);

3. Таблиця "Торговельне обладнання":


CREATE TABLE Equipment (
ID_Equipment INT PRIMARY KEY,
Name VARCHAR(255),
Description TEXT,
Technical_Specifications TEXT,
Category VARCHAR(255),
Condition VARCHAR(50),
Date_of_Acquisition DATE
);

4. Таблиця "Характеристики обладнання":


CREATE TABLE Equipment_Characteristics (
ID_Characteristics INT PRIMARY KEY,
Characteristics TEXT,
Equipment_ID INT,
FOREIGN KEY (Equipment_ID) REFERENCES Equipment(ID_Equipment)
);

5. Таблиця "Постачальник":
CREATE TABLE Supplier (
ID_Supplier INT PRIMARY KEY,
Company_Name VARCHAR(255),
Address VARCHAR(255),
Contact_Information VARCHAR(255),
History_of_Cooperation TEXT,
Service_Quality_Rating VARCHAR(50)
);

6. Таблиця "Поставка":
CREATE TABLE Supply (
ID_Supply INT PRIMARY KEY,
Date_of_Supply DATE,
Supplier_ID INT,
Equipment_ID INT,
Quantity INT,
FOREIGN KEY (Supplier_ID) REFERENCES Supplier(ID_Supplier),
FOREIGN KEY (Equipment_ID) REFERENCES Equipment(ID_Equipment)
);

Це SQL-запити для створення таблиць у базі даних, які відповідають


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

 Побудова інфологічної моделі БД.


Інфологічна модель бази даних (БД) - це абстрактна модель, яка
відображає структуру та зв'язки між сутностями, але не залежить від
конкретної технічної реалізації (такої як тип бази даних чи мова запитів).
Основна мета інфологічної моделі - це описати сутності, атрибути та
зв'язки між ними без використання технічних деталей.

Ось інфологічна модель даної бази даних:

1. Сутність "Пацієнт"
- Атрибути:
- Ім'я пацієнта
- Дата народження
- Адреса
- Номер телефону
- Стать
- Медична історія

2. Сутність "Медичний працівник"


- Атрибути:
- Ім'я медичного працівника
- Спеціалізація
- Кваліфікація
- Контактна інформація
- Робоче місце

3. Сутність "Торговельне обладнання"


- Атрибути:
- Назва обладнання
- Опис
- Технічні характеристики
- Категорія
- Стан
- Дата придбання

4. Сутність "Характеристики обладнання"


- Атрибути:
- Характеристики
- Відноситься до певного типу обладнання

5. Сутність "Постачальник"
- Атрибути:
- Назва компанії постачальника
- Адреса
- Контактна інформація
- Історія співпраці
- Рейтинг якості обслуговування

6. Сутність "Поставка"
- Атрибути:
- Дата поставки
- Інформація про постачальника
- Інформація про замовлене обладнання та його кількість

Це інфологічна модель, яка відображає сутності даної предметної області


та їх атрибути, а також зв'язки між ними. Вона дозволяє чітко розуміти
структуру даних та взаємозв'язки між ними, незалежно від конкретної
технічної реалізації бази даних.

 Документування концептуальної моделі в термінах ER-діаграми.


CREATE TABLE Patient (
ID_Patient INT PRIMARY KEY,
Full_Name VARCHAR(255),
Date_of_Birth DATE,
Address VARCHAR(255),
Phone_Number VARCHAR(20),
Gender VARCHAR(10),
Medical_History TEXT
);

CREATE TABLE Medical_Staff (


ID_Staff INT PRIMARY KEY,
Full_Name VARCHAR(255),
Specialization VARCHAR(255),
Qualification VARCHAR(255),
Contact_Information VARCHAR(255),
Workplace VARCHAR(255)
);
CREATE TABLE Equipment (
ID_Equipment INT PRIMARY KEY,
Name VARCHAR(255),
Description TEXT,
Technical_Specifications TEXT,
Category VARCHAR(255),
Condition VARCHAR(50),
Date_of_Acquisition DATE
);

CREATE TABLE Equipment_Characteristics (


ID_Characteristics INT PRIMARY KEY,
Characteristics TEXT,
Equipment_ID INT,
FOREIGN KEY (Equipment_ID) REFERENCES Equipment(ID_Equipment)
);

CREATE TABLE Supplier (


ID_Supplier INT PRIMARY KEY,
Company_Name VARCHAR(255),
Address VARCHAR(255),
Contact_Information VARCHAR(255),
History_of_Cooperation TEXT,
Service_Quality_Rating VARCHAR(50)
);

CREATE TABLE Supply (


ID_Supply INT PRIMARY KEY,
Date_of_Supply DATE,
Supplier_ID INT,
Equipment_ID INT,
Quantity INT,
FOREIGN KEY (Supplier_ID) REFERENCES Supplier(ID_Supplier),
FOREIGN KEY (Equipment_ID) REFERENCES Equipment(ID_Equipment)
);

СПИСОК ЛІТЕРАТУРИ
1. Дейт К. Дж. Введение в системы баз данных. –8-е изд.: Пер. с англ. –М.:
Издательский дом "Вильямс", 2006. – 1328с.
2. Роберт Э. Уолтерс, Майкл Коулс. SQL Server 2008: ускоренный курс для
профессионалов = Accelerated SQL Server 2008. – М.: «Вильямс», 2008. –
768с.
3. Роберт Виейра. Программирование баз данных Microsoft SQL Server
2005. Базовый курс = Beginning Microsoft SQL Server 2005 Programming. –
М.: «Диалектика», 2007. –832с.
4. Ник Рендольф, Дэвид Гарднер, Майкл Минутилло, Крис Андерсон
Visual Studio 2010 для профессионалов = Professional Visual Studio 2010. —
М.: «Диалектика», 2011. –1184с.
5. Пауэрс Л., Снелл М. Microsoft Visual Studio 2008 = Microsoft Visual
Studio 2008 Unleashed by Lars Powers and Mike Snell. – C.: «БХВ-
Петербург», 2008. – 1200с.
6. Джеймс Р. Грофф, Пол Н. Вайнберг. SQL: Полное руководство. –3-е
изд.: Пер.с англ. –М.: Издательский дом " Диалектика-Вильямс", 2012. –
960с.
7. Система керування базами даних MS SQL SERVER: Лабораторний
практикум з дисципліни “Організація баз даних”. Модуль No 1 /Уклад.: Н.
Ф. Халімон. -К.: НАУ, 2014. - 74 с.
8. Бази даних. Створення об'єктів MS Access – 2003 та 2007 : метод.
Вказівки до вик. комп. практ. для студентів спец. «Автоматизоване
управління технологічними процесами» / КПІ ім. Ігоря Сікорського;
укладач Л.Д. Ярощук. Київ : НТУУ «КПІ», 2012. 106 c.

You might also like