Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки
Національний університет „Львівська політехніка”
Кафедра EОМ
Звіт
з лабораторної роботи № 1
з дисципліни: “ Організація баз даних”
Побудова діаграми відношень за допомогою програми Navicat for SQL Server
2018
Тема: Побудова діаграми відношень за допомогою програми Navicat for SQL Server
Мета: Побудова діаграми відношень відповідно до варіанту у додатках.
Завдання:
При виконанні лабораторної роботи у діаграмі мають бути відображені три види зв’язків: ‘один до одного’, ‘один до багатьох’ та ‘багато до багатьох’.
Таблиці повинні містити первинні(Primary Key) та вторинні ключі(Foregin Key)
Всі назви таблиць і полів повинні бути написані англійською мовою
Вибір варіанту:
№
Завдання
3.
База даних продуктового супермаркету
Теоритичні відомості:
Існує три типи зв’язків між таблицями.
Зв’язок "один-до-багатьох"
Давайте розглянемо базу даних, яка відстежує замовлення та містить таблиці "Клієнти" й "Замовлення". Клієнт може розмістити будь-яку кількість замовлень. Таким чином, для будь-якого клієнта, представленого в таблиці "Клієнти", у таблиці "Замовлення" може міститися багато замовлень. Отже, між таблицями "Клієнти" та "Замовлення" встановлено зв’язок "один-до-багатьох".
Щоб відобразити зв’язок "один-до-багатьох" у структурі власної бази даних, візьміть первинний ключ на стороні зв’язку "один" і вставте його як додаткове поле або поля в таблицю на стороні зв’язку "багато". Скажімо, у нашому прикладі потрібно додати нове поле (поле ідентифікатора з таблиці "Клієнти") до таблиці "Замовлення" та назвати його "Ідентифікатор клієнта". Після цього програма Access зможе використовувати номер із поля "Ідентифікатор клієнта" в таблиці "Замовлення", щоб визначити клієнта для замовлення.
Зв’язок "багато-до-багатьох"
Давайте розглянемо зв’язок між таблицями "Товари" та "Замовлення". В одному замовленні може вказуватися кілька товарів. З іншого боку, один товар може зустрічатися в багатьох замовленнях. Таким чином, кожному запису в таблиці "Замовлення" може відповідати багато записів у таблиці "Товари". Крім того, кожному запису в таблиці "Товари" також може відповідати багато записів у таблиці "Замовлення". Такий тип зв’язку називається зв’язком "багато-до-багатьох", оскільки будь-який товар може мати багато замовлень, а будь-яке замовлення – багато товарів. Зверніть увагу: щоб виявити наявні зв’язки "багато-до-багатьох" між таблицями, важливо враховувати обидві сторони зв’язку.
Для представлення зв’язку "багато-до-багатьох" потрібно створити третю таблицю, яку часто називають розподільною, щоб розділити зв’язок "багато-до-багатьох" на два зв’язки "один-до-багатьох". Первинний ключ із кожної із двох таблиць потрібно вставити у третю таблицю. Унаслідок цього у третій таблиці буде записано всі випадки або екземпляри зв’язків. Наприклад, таблиці "Замовлення" та "Товари" пов’язані зв’язком "багато-до-багатьох", який визначатиметься через створення двох зв’язків "один-до-багатьох" із таблицею "Відомості про замовлення". В одному замовленні може зустрічатися багато товарів, і кожний товар може зустрічатися в багатьох замовленнях.
Зв’язок "один-до-одного"
У зв’язку "один-до-одного" кожному запису в першій таблиці може відповідати лише один запис у другій таблиці, а кожному запису в другій таблиці може відповідати лише один запис у першій таблиці. Цей тип зв’язку не дуже поширений, оскільки зазвичай відомості, пов’язані між собою в такий спосіб, зберігаються в одній таблиці. Зв’язок "один-до-одного" можна використовувати, щоб розділити таблицю з великою кількістю полів, відокремити частину таблиці з міркувань безпеки або зберігати дані, які застосовуються лише до підмножини головної таблиці. Якщо ви таки виявите такий зв’язок, це означає, що обидві таблиці мають спільне поле.
Хід роботи:
Зв’язок "один-до-одного" існує між таблицями PRODUCT і PRODUCT_PROPERTIES. Він реалізується за допомогою ключа PRODUCT_NAME.
Зв’язок "багато-до-багатьох" існує між таблицями PRODUCT і SHELVES. Одному продукту (ключ PRODUCT_NAME) відповідає декілька полиць (ключ SHELVE_NUMBER) і навпаки – одна полиця може містити декілька продуктів.
Зв’язок "один-до-багатьох" існує між таблицями SHELVES і SECTION. Одній сеції (SECTION_NUMBER) відповідає декілька полиць(SHELVE_NUMBER) але полиця може знаходитись тільки в одній секції.
/
Рис.1. Діаграма звязків між таблицями
Висновок: В даній лабораторній роботі я побудовав діаграми відношень бази даних продуктового супермаркету за допомогою програми Navicat for SQL Server і ознайомився з різними типами звязків між таблицями.