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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 29.10.2020
Размер файла 503,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

Кафедра інформаційних систем та мереж

Р О З Р А Х У Н К О В О - Г Р А Ф І Ч Н А Р О Б О Т А

з дисципліни "ОРГАНІЗАЦІЯ БАЗ ДАНИХ ТА ЗНАНЬ" на тему:

"ПРОЕКТУВАННЯ ТА ЗАСТОСУВАННЯ БАЗИ ДАНИХ ІНФОРМАЦІЙНОЇ СИСТЕМИ КОСМЕТИЧНОГО САЛОНУ"

Виконала студентка групи КН-201

Шило Уляна

Керівник доц. Верес О.М.

ЛЬВІВ 2020

Завдання на розрахунково-графічну роботу з дисципліни "Організація баз даних та знань" студентки групи КН-201 Шило Уляни

ТЕМА: "Проектування бази даних косметичного салону"

Завдання: автоматизувати процес формування та опрацювання діяльності косметичного салону.

ЗМIСТ ЗАВДАННЯ ТА КАЛЕНДАРНИЙ ПЛАН ЙОГО ВИКОНАННЯ

№ з/п

Зміст завдання

Дата

1.

Визначення та опис предметної області.

2.

Побудова моделі типу «сутність-зв'язок».

3.

Побудова ER-моделі та її нормалізація.

4.

Побудова даталогічної моделі

5.

Виконання операцій реляційної алгебри

6.

Оформити записку до розрахунково-графічного роботи згiдно з вимогами Мiжнародних стандартiв, дотримуючись такого змiсту:

• вступ;

• визначення та опис предметноі? області;

• концептуальна модель “сутність-зв'язок”;

• побудова ER-моделі та її нормалізація;

• побудова даталогічної моделі;

• нормалізація бази даних;

• побудова даталогічної моделі;

• виконання операцій реляційної алгебри;

• висновки;

• список використаних джерел.

ЗАВДАННЯ ПРИЙНЯТО ДО ВИКОНАННЯ: ________ __.__._______р.

Керівник роботи: Верес Олег Михайлович

Зміст

даталогічний проектування реляційний база

  • Вступ
  • 1. Визначення та опис предметної області
  • 2. Концептуальна модель “сутність-зв'язок”
  • 2.1 Побудова інфологічної моделі
  • 2.2 Побудова ER-моделі бази даних
  • 2.3 Номалізація ER-діаграми
  • 3. Побудова даталогічної моделі
  • 4. Нормалізація бази даних
  • 5. Реалізація даталогічної моделі бази даних засобами SQL
  • 5.1 Схема бази даних
  • 6. Виконання операцій реляційної алгебри
  • Висновки
  • Список використаних джерел

Вступ

Метою розрахункової роботи є закріплення теоретичних знань, набутих при вивченні дисципліни «Організація баз даних та знань», та практичне застосування методів концептуального проектування реляційних баз даних.

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

Моя предметна область “Косметичний салон” відображає невід'ємну частину реального світу. Салони краси на сьогоднішній день класифікуються по виконуваних функцій, типами, місцезнаходження підприємства, характером обслуговуваного контингенту, цінової категорії і т. д. Тому розробка реляційної бази даних для такої предметної області спростить систематизування великих обсягів інформації, а також доступ до них, зекономить час, який витрачає працівник для виконання певного завдання, зросте якість обслуговування, підвищиться ефективність роботи всієї структури.

1. Визначення та опис предметної області

Буде спроектовано базу даних, призначену для зберігання даних про послуги салону, його персонал, інформацію про кожну з послуг, відомості про клієнтів.

До об'єктів і властивостей, що описують ознаки, зазначені в каталоговій картці, можна віднести:

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

1) код салону;

2) назва салону;

3) персонал;

4) місто;

5) вулиця;

6) номер будинку;

7) телефон;

8) e-mail;

9) сайт.

Косметичний салон потребує угрупування послуг до певних видів, до так званої косметичної області:

1) код групи послуг;

2) назва виду послуги.

Косметичний салон потребує даних про самі послуги, тому послуга описується певними характеристиками:

1) код послуги;

2) назва послуги;

3) ціна;

4) собівартість;

5) опис послуги.

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

1) код працівника;

2) код посади;

3) прізвище;

4) ім'я;

5) по-батькові;

6) номер телефону;

7) вулиця;

8) місто;

9) графік роботи.

До ще однієї характеристики косметичного салону можна віднести клієнтів, тобто список користувачів що користувались послугами салону. До властивостей клієнта належать:

1) код клієнта;

2) ім'я;

3) прізвище;

4) по-батькові;

5) вулиця;

6) місто;

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

1) код посади;

2) назва посади;

Косметичний салон також потребує даних про кожного клієнта, тому контакти описуються певними характеристиками:

1) код контакту;

2) номер телефону;

3) e-mail;

4) Instagram.

2. Концептуальна модель «сутність-зв'язок»

Проаналізувавши визначені вище сутності і їхні атрибути, можна виділити сутності проектованої бази даних і побудувати її інфологічну модель засобами ER-діаграми.

2.1 Побудова інфологічної моделі

1) КОСМЕТИЧНИЙ САЛОН (код салону, назва салону, персонал, місто, вулиця, номер будинку, телефон, e-mail, сайт);

Ця сутність для збереження даних про салон.

2) ВИД ПОСЛУГИ (код групи, назва виду);

Ця сутність для збереження даних про групи послуг.

3) ПОСЛУГА (код послуги, код виду послуги, назва, ціна, собівартість, опис послуги);

Ця сутність для збереження даних про послуги.

4) ПОСАДА (код посади, назва посади);

Ця сутність для збереження даних про посади.

5) ПРАЦІВНИК (код працівника, код посади, прізвище, ім'я, по-батькові, номер телефону, адреса);

Ця сутність для збереження даних про працівників.

6) КЛІЄНТ (код клієнта, ім'я, прізвище, по-батькові, вулиця, місто);

Ця сутність для збереження даних про клієнтів.

До слабких сутностей належать:

7) КОНТАКТИ (код контакту, номер телефону, e-mail, Instagram).

Ця сутність для збереження даних про контакти клієнтів.

Сутності пов'язані між собою асоціаціями або зв'язками:

1) Сутність КОСМЕТИЧНИЙ САЛОН пов'язана з сутністю ПОСЛУГА асоціацією «надає». Цей зв'язок є виду «один-до-багатьох».

2) Сутність ПОСЛУГА пов'язана з сутністю ВИД ПОСЛУГИ асоціацією «входить». Цей зв'язок є виду «багато-до-одного».

3) Сутність КОСМЕТИЧНИЙ САЛОН пов'язана з сутністю ПРАЦІВНИК асоціацією «працює» зв'язком типу «один-до-багатьох».

4) КОСМЕТИЧНИЙ САЛОН і ВІДВІДУВАННЯ з асоціацією «фіксує» мають зв'язок «один-до-багатьох».

5) ПОСАДА і ПРАЦІВНИК з асоціацією «займає» мають зв'язок виду «багато-до-одного».

6) КОСМЕТИЧНИЙ САЛОН і КЛІЄНТ з асоціацією «відвідує» мають зв'язок «один-до-багатьох».

7) Сутність КЛІЄНТ пов'язана з сутністю КОНТАКТИ асоціацією «залишає». Цей зв'язок є виду «один-до-одного».

2.2 Побудова ER-діаграми моделі бази даних

Побудуємо ER-діаграму моделі бази даних:

Рис. 1 ( ER-діаграма моделі бази даних “Косметичний салон”)

Деякі обмеження, що накладаються на відношення:

Сутність КОСМЕТИЧНИЙ САЛОН має такі зовнішні ключі, як код працівника, код відвідування, код клієнта, код послуги для яких неможливе NULL-значення, видалення обмежене, а відновлення є каскадним. Значення полів код працівника, код відвідування, код клієнта повинні належати множині значень відповідних атрибутів сутностей ПРАЦІВНИК, КЛІЄНТ, ПОСЛУГА.

Надається ряд вимог до деяких значень атрибутів, наприклад, атрибут ціна, собівартість, дата, час, номер клієнта, номер відвідування, номер послуги, номер працівника, номер посади сутностей ПОСЛУГИ, ПРАЦІВНИК, КЛІЄНТ не можуть набувати від'ємного або рівного нулеві значення. Атрибуту наявність постійного відвідування сутності КЛІЄНТ накладається обмеження значення (0 - не постійне, 1 - постійне).

2.3 Нормалізація ERD

Перевіримо атрибути на наявність множинних значень. Розглянемо до прикладу сутність КЛІЄНТ. Для повного опису імені використовується 3 атрибути: прізвище та ім'я, по-батькові, які містять по одному слову із повного імені, тому не має множинного значення. Аналогічно і у сутності КОНТАКТИ, де кожен контакт розділенаий на декілька атрибутів (номер телефону, e-mail, Instagram). Проаналізувавши решту сутностей, випливає висновок, що всі сутності нормалізовано до першої нормальної форми.

Перевіримо сутності на наявність неключових атрибутів. Серед всіх сутностей немає складених ключів. Для прикладу, розглянемо сутність ПОСЛУГИ. Видно, що всі атрибути залежать лише від ключа код послуги. Ця умова виконується і для усіх інших сутностей, тому ця ER-діаграма побудована згідно з другою нормальною формою.

Розглянемо сутність КОСМЕТИЧНИЙ САЛОН. Для її нормалізації до третьої нормальної форми окремо виділено сутності ПОСЛУГА, ПРАЦІВНИК, КЛІЄНТ, які пов'язуються із сутністю КОСМЕТИЧНИЙ САЛОН через зовнішні ключі код послуги, код працівника і код клієнта. Дані сутності містять атрибути, що на пряму не відносяться до відвідування і саме тому їх відділено в окремі сутності. Решта є також нормалізовані до третьої нормальної форми. Отже, ER-діаграму моделі бази даних «Косметичний салон» нормалізовано до третьої нормальної форми.

3. Побудова логічної структури бази даних

Перетворимо концептуальну модель предметної області «Косметичний салон» у даталогічну модель.

ТАБЛИЦЯ Косметичний_салон * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_салону).

ПОЛЯ (Код_салону ЦІЛЕ, Назва_салону ТЕКСТ 40, Вулиця ТЕКСТ 30,

Місто ТЕКСТ 20, Номер_будинку ЦІЛЕ, Телефон ЦІЛЕ,

Email_салону ТЕКСТ 30, Сайт_салону ТЕКСТ 20).

ТАБЛИЦЯ Послуга * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_послуги).

ЗОВНІШНІЙ КЛЮЧ (Код_виду ІЗ Виду_послуги

NULL-значення НЕ ПРИПУСТИМІ ВИДАЛЕННЯ ІЗ Виду_послуги ОБМЕЖУЄТЬСЯ ВІДНОВЛЕННЯ Виду_послуги. Вид_послуги ОБМЕЖУЄТЬСЯ)

ПОЛЯ (Код_послуги ЦІЛЕ, Код_виду_послуги ЦІЛЕ, Назва_послуги ТЕКСТ 50, Ціна ГРОШОВИЙ, Собівартість ГРОШОВИЙ, Опис ДОВГИЙ ТЕКСТ, Час виконання ТЕКСТ 10)

ТАБЛИЦЯ Працівник * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_працівника).

ЗОВНІШНІЙ КЛЮЧ(Код_посади із Посада,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Посада ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Посада. Код_посади КАСКАДНЕ).

ПОЛЯ (Код_працівника ЦІЛЕ, Прізвище_працівника ТЕКСТ 20,

Ім'я_працівника ТЕКСТ 15, По_батькові_працівника ТЕКСТ 20,

Графік_роботи ЧАС, Код_посади ЦІЛЕ,

Адреса ТЕКСТ 30, Телефон_працівника ЦІЛЕ).

ОБМЕЖЕННЯ (Значення поля Код_посади повинно належати

наборові значень відповідного поля таблиці Посада;

при порушенні виведення повідомлення "Такої посади

немає".

ТАБЛИЦЯ Клієнт * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_клієнта).

ЗОВНІШНІЙ КЛЮЧ(Код_контакту із Контакти,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Контакти ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Контакти. Код_контакту КАСКАДНЕ).

ПОЛЯ (Код_клієнта ЦІЛЕ, Прізвище_клієнта ТЕКСТ 20, Ім'я_ клієнта ТЕКСТ 15, По_батькові_ клієнта ТЕКСТ 20, Вулиця ТЕКСТ 30, Місто ТЕКСТ 20).

ТАБЛИЦЯ Контакти * (слабка сутність)

ПЕРВИННИЙ КЛЮЧ (Код_контакту).

ПОЛЯ (Код_контакту ЦІЛЕ, Код_клієнта ЦІЛЕ, Номер_телефону ЦІЛЕ, E-mail ТЕКСТ 30,

Instagram ТЕКСТ 30).

ТАБЛИЦЯ Вид_послуги * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_виду).

ПОЛЯ (Код_виду ЦІЛЕ, Назва_виду ТЕКСТ 30).

ТАБЛИЦЯ Посада * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Код_посади).

ПОЛЯ (Код_посади ЦІЛЕ, Посада ТЕКСТ 40).

ТАБЛИЦЯ Відвідування * (звичайна сутність)

ПЕРВИННИЙ КЛЮЧ (Номер_відвідування).

ЗОВНІШНІЙ КЛЮЧ (Код_салону із Косметичний_салон,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Косметичний_салон ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Косметичний_салон. Код_салону КАСКАДНЕ).

ЗОВНІШНІЙ КЛЮЧ (Код_клієнта із Клієнт,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Клієнта ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Клієнт. Код_клієнта КАСКАДНЕ).

ЗОВНІШНІЙ КЛЮЧ (Код_послуги із Послуга,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Послуги ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Послуга. Код_послуги КАСКАДНЕ).

ЗОВНІШНІЙ КЛЮЧ (Код_працівника із Працівник,

NULL-значення НЕ ПРИПУСТИМІ,

ВИДАЛЕННЯ із Працівник ОБМЕЖУЄТЬСЯ,

ВІДНОВЛЕННЯ Працівник. Код_працівника КАСКАДНЕ).

ПОЛЯ (Номер_відвідування ЦІЛЕ, Код_салону ЦІЛЕ, Код_клієнта ЦІЛЕ, Код_послуги ЦІЛЕ, Код_працівника ЦІЛЕ, Дата_відвідування ДАТА).

ОБМЕЖЕННЯ (Значення полів Код_салону, Код_клієнта, Код_послуги, Код_працівника повинні належати

наборові значень відповідних полів таблиць Косметичний_салон, Клієнт, Послуга, Працівник;

при порушенні виведення повідомлення "Такого салону

немає", "Такого клієнта немає", “Такого працівника немає" і "Такої послуги немає".

4. Нормалізація бази даних

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

Нормалізуємо відношення бази даних до третьої нормальної форми:

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

Друга нормальна форма виконується тому, що база даних задовольняє визначенню 1НФ і всі її стовпчики, що не входять у ключ, зв'язані повною функціональною залежністю з ключем.

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

5. реалізація даталогічної моделі бази даних засобами SQL

CREATE TABLE Посада(

Код_посади INTEGER NOT NULL,

Посада VARCHAR(25) NOT NULL,

PRIMARY KEY (Код_посади)

);

CREATE TABLE Працівник(

Код_працівника INTEGER NOT NULL,

Прізвище_працівника VARCHAR(20) NOT NULL,

[Ім'я_працівника] VARCHAR(15) NOT NULL,

По_батькові_працівника VARCHAR(20) NOT NULL,

Код_посади INT NOT NULL,

Телефон_працівника CHAR(10) NOT NULL,

Графік_роботи VARCHAR(20) NOT NULL,

PRIMARY KEY (Код_працівника),

CONSTRAINT ЗКпосада FOREIGN KEY (Код_посади) REFERENCES Посада

ON DELETE CASCADE ON UPDATE CASCADE,

);

CREATE TABLE Косметичний_салон(

Код_салону INTEGER NOT NULL,

Назва_салону VARCHAR (40) NOT NULL,

Вулиця VARCHAR(30) NOT NULL,

Місто VARCHAR(20) NOT NULL,

Телефон CHAR(10) NOT NULL,

E_mail VARCHAR(30) NOT NULL,

Сайт_салону VARCHAR(20) NOT NULL,

PRIMARY KEY (Код_салону),

);

CREATE TABLE Вид_послуги(

Код_виду_послуги INTEGER NOT NULL,

Вид_послуги CHAR(20) NOT NULL,

PRIMARY KEY (Код_виду_послуги)

);

CREATE TABLE Послуга(

Код_послуги INTEGER NOT NULL,

Код_виду_послуги INT NOT NULL,

Назва_послуги VARCHAR(50) NOT NULL,

Ціна MONEY NOT NULL,

Собівартість MONEY NOT NULL,

Показання VARCHAR(150) NOT NULL,

Опис_послуги TEXT NOT NULL,

Час_виконання VARCHAR(10) NOT NULL,

PRIMARY KEY (Код_послуги),

CONSTRAINT ВКвид_послуги FOREIGN KEY (Код_виду_послуги) REFERENCES Вид_послуги

ON DELETE CASCADE ON UPDATE CASCADE

);

CREATE TABLE Контакти(

Код_контакту INTEGER NOT NULL,

Код_клієнта INT NOT NULL,

Номер_телефону CHAR(20) NOT NULL,

E_mail VARCHAR(30) NOT NULL,

Instagram VARCHAR(20) NOT NULL,

PRIMARY KEY (Код_контакту),

CONSTRAINT ПКклієнт FOREIGN KEY (Код_клієнта) REFERENCES Клієнт

ON DELETE CASCADE ON UPDATE CASCADE

);

CREATE TABLE Клієнт(

Код_клієнта INTEGER NOT NULL,

Прізвище_клієнта VARCHAR(20) NOT NULL,

[Ім'я_клієнта] VARCHAR(15) NOT NULL,

По_батькові_клієнта VARCHAR(20) NOT NULL,

Вулиця VARCHAR(30) NOT NULL,

Місто VARCHAR(20) NOT NULL,

PRIMARY KEY (Код_клієнта),

);

CREATE TABLE Відвідування(

Номер_відвідування INTEGER NOT NULL,

Код_салону INT NOT NULL,

Код_клієнта INT NOT NULL,

Код_послуги INT NOT NULL,

Код_працівника INT NOT NULL,

Дата_відвідування DATE NOT NULL,

PRIMARY KEY (Номер_відвідування),

CONSTRAINT ФКкосметичний_салон FOREIGN KEY (Код_салону) REFERENCES Косметичний_салон

ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT ФКклієнт FOREIGN KEY (Код_клієнта) REFERENCES Клієнт

ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT ФКпослуга FOREIGN KEY (Код_послуги) REFERENCES Послуга

ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT ЗКпрацівник FOREIGN KEY (Код_працівника) REFERENCES Працівник

ON DELETE CASCADE ON UPDATE CASCADE

);

5.1 Схема бази даних

Рис. 2 Схема бази даних «Косметичний салон»

6. Виконання операцій реляційної алгебри

Виконаємо операції реляційної алгебри над відношеннями бази даних «Косметичний салон». Оскільки теоретико-множинні операції виконуються над відношеннями з однаковими множинами атрибутів, створимо копію відношення КЛІЄНТ - КЛІЄНТ_1, змінивши його інформаційне наповнення.

Таблиця 6.1

Початковий стан відношення КЛІЄНТ

КЛІЄНТ

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

Таблиця 6.2

Початковий стан відношення КЛІЄНТ_1

КЛІЄНТ_1

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

5

Павлюк

Артем

Ігорович

вул.Шевченка

м.Київ

6

Кулик

Ірина

Іванівна

вул.Ряшівська

м.Тернопіль

1. Операція об`єднання відношень - RS= T(A1, A2, …, An) = {r}{s}.

Таблиця 6.3

Результат операції об'єднання відношень

КЛІЄНТ КЛІЄНТ_1

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

5

Павлюк

Артем

Ігорович

вул.Шевченка

м.Київ

6

Кулик

Ірина

Іванівна

вул.Ряшівська

м.Тернопіль

2. Операція перетину відношень - RS= T(A1, A2, …,An) = {r}{s}.

Таблиця 6.4

Результат операції перетину відношень

КЛІЄНТ КЛІЄНТ _1

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

Операція різниці відношень - R\S= T(A1, A2, …,An) = {r}\{s}.

Таблиця 6.5

Результат операції різниці відношень(1)

КЛІЄНТ \ КЛІЄНТ_1

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

Таблиця 6.6

Результат операції різниці відношень(2)

КЛІЄНТ_1 \ КЛІЄНТ

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

5

Павлюк

Артем

Ігорович

вул.Шевченка

м.Київ

6

Кулик

Ірина

Іванівна

вул.Ряшівська

м.Тернопіль

3. Операція декартового добутку відношень - RS= T(A1, A2,…,An, B1, B2, …, Bm) = {(r,s)}.

Побудуємо декартів добуток відношень ВІДВІДУВАННЯ і ВИД_ПОСЛУГИ.

Таблиця 6.7

Початковий стан відношення ВІДВІДУВАННЯ

ВІДВІДУВАННЯ

Код_відвідування

Код_салону

Код_клієнта

Код_послуги

Код_працівника

Дата_відвідування

1

4

1

1

5

22.02.2020

2

4

1

2

3

22.02.2020

3

2

2

1

2

22.02.2020

4

4

2

2

3

22.02.2020

5

4

3

1

5

23.02.2020

Таблиця 6.8

Початковий стан відношення ВИД_ПОСЛУГИ

ВИД_ПОСЛУГИ

Код_виду

Назва_виду

1

перукарські послуги

2

візаж

Таблиця 6.9

Декартів добуток відношень ВІДВІДУВАННЯ і ВИД_ПОСЛУГИ

ВІДВІДУВАННЯ ВИД_ПОСЛУГИ

Код_відвідування

Код_салону

Код_клієнта

Код_послуги

Код_працівника

Дата_відвідування

Код_виду

Назва_ виду

1

4

1

1

5

22.02.2020

1

Перукарські послуги

1

4

1

8

3

22.02.2020

2

візаж

2

2

2

1

2

22.02.2020

1

Перукарські послуги

2

4

2

7

3

22.02.2020

2

візаж

3

4

3

2

5

23.02.2020

1

Перукарські послуги

3

2

3

6

2

23.02.2020

2

візаж

4

3

4

2

3

23.02.2020

1

Перукарські послуги

4

3

4

7

5

23.02.2020

2

візаж

5

2

5

1

2

24.02.2020

1

Перукарські послуги

5

4

5

8

7

24.02.2020

2

візаж

4. Операція проекції відношення - R[A]={ r| r=( aj1,aj2, …, ajk)}.

Визначимо підмножину множини атрибутів відношення ПОСЛУГА:

A={Код_послуги, Назва_послуги, Ціна, Час_виконання }.

Таблиця 6.10

Проекція відношення ПОСЛУГА

ПОСЛУГА {Код_послуги, Назва_послуги, Ціна, Час_виконання}

Код_послуги

Назва_послуги

Ціна

Час_виконання

1

Омолодження

850

1 год

2

Стрижка жіноча

500

20-40 хв

3

Корекція брів

100

20 хв

4

Покриття гель-лаком

320

30 хв

5. Операція селекції відношення.

Select (R, ) = R(A1,A2, …, An) = {r| (A1,A2, …, An)=true }.

Визначимо критерій =(Ціна<600).

Таблиця 6.11

Селекція відношення Послуга

SELECT (ПОСЛУГА, Ціна<600)

Код_послуги

Код_виду

Назва_послуги

Ціна

Собівартість

Опис_послуги

Час_виконання

2

2

Стрижка жіноча

500

210

-

20-40 хв

3

3

Корекція брів

100

70

-

20 хв

4

4

Покриття гель-лаком

320

205

-

30 хв

6. Операція натурального з`єднання відношень.

R*S = T(A1, A2, …, An, C1, C2, …, Ck, B1,B2, …, Bm).

Для виконання операції виберемо відношення КЛІЄНТ та КОНТАКТИ.

Таблиця 6.12

Початковий стан відношення Контакти

КОНТАКТИ

Код_контакту

Код_клієнта

Телефон_клієнта

E_mail_клієнта

Instagram

1

1

0673994406

fgief.3d@gmail.com

@ylonagrut

2

2

0682687399

sddnj@gmail.com

@koltsunka

3

3

0973339004

dgs@gmail.com

@kalle.mm

4

4

0974792000

asad@ukr.net

@palmera11

У відношеннях КЛІЄНТ та КОНТАКТИ спільним атрибутом є КОД_КЛІЄНТА.

Таблиця 6.13

Натуральне з'єднання відношень

КЛІЄНТ * КОНТАКТИ

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

Код_контакту

Телефон_клієнта

E_mail_клієнта

Instagram

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

1

0673994406

fgief.3d@gmail.com

@ylonagrut

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

2

0682687399

sddnj@gmail.com

@koltsunka

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

3

0973339004

dgs@gmail.com

@kalle.mm

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

4

0974792000

asad@ukr.net

@palmera11

7. Операція умовного з`єднання відношень.

R * S = T(A1,A2, …, An, B1, B2, …,Bm) = {(r,s)| =true}

Виконаємо операцію над відношенням ПОСЛУГА і відношенням ПОСАДА, критерій = (Код_послуги=3 Код_посади=2).

Таблиця 6.14

Початковий стан відношення ВИД_ПОСЛУГИ

пОСАДА

Код_посади

Назва_посади

1

Перукар

2

Візажист

3

Косметолог

4

Майстер манікюру

Таблиця 6.15

Початковий стан відношення ПОСЛУГА.

ПОСЛУГА

Код_послуги

Код_виду

Назва_послуги

Ціна

Собівартість

Опис_послуги

Час_виконання

1

1

Омолодження

850

650

Anti-Age терапія (25+) …

1 год

2

2

Стрижка жіноча

500

210

-

20-40 хв

3

3

Корекція брів

100

70

-

20 хв

4

4

Покриття гель-лаком

320

205

-

30 хв

5

2

Нарощення вій

400

65

-

40 хв

6

4

Франзуцький манікюр

75

50

-

30 хв

Таблиця 6.16

Умовне з'єднання відношень

ПОСЛУГА * ПОСАДА

Код_послуги

Код_виду

Назва_послуги

Ціна

Собівартість

Опис_послуги

Час_виконання

Код_посади

Назва_посади

3

3

Корекція брів

100

70

-

20 хв

2

візажист

8. Операція ділення - R DIVIDEBY S.

Проекція відношення ВІДВІДУВАННЯ (Код_салону, Код_відвідування) (відношення - ділене):

Таблиця 6.17

Початковий стан відношення ВІДВІДУВАННЯ та проекція відношення КОСМЕТИЧНИЙ_САЛОН

ВІДВІДУВАННЯ2

Код_салону

Код_клієнта

1

1

1

2

2

1

2

2

2

4

3

1

3

2

3

3

Проекція відношення КОСМЕТИЧНИЙ_САЛОН (Код_салону) (відношення - дільник):

Таблиця 6.18

КОСМЕТИЧНИЙ_САЛОН2

Код_салону

1

2

3

Результат операції ділення:

Таблиця 6.19

Результат операції ділення

ВІДВІДУВАННЯ2 DIVIDEBY КОСМЕТИЧНИЙ_САЛОН2

Код_клієнта

1

2

9. Операція включення нового кортежу у відношення.

RT1 = Insert(R, r').

Додамо новий кортеж r' = (5, “Павлюк”, “Артем”, “Ігорович”, “вул.Шевченка”, “м.Київ”) до відношення КЛІЄНТ. Результатом буде новий стан відношення.

Таблиця 6.20

Початовий стан відношення КЛІЄНТ

КЛІЄНТ

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

Таблиця 6.21

Новий стан відношення КЛІЄНТ

Insert (КЛІЄНТ, (5, “Павлюк”, “Артем”, “Ігорович”, “вул.Шевченка”, “м.Київ”))

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

5

Павлюк

Артем

Ігорович

вул.Шевченка

м.Київ

10. Операція вилучення кортежу з відношення.

RT1 = Delete (R, ).

Відношення КЛІЄНТ у початковому стані (див.рис.18). Критерій вилучення сформулюємо у вигляді виразу = (Прізвище='Хар'). Результатом буде новий стан відношення.

Таблиця 6.22

Новий стан відношення КЛІЄНТ

Delete (КЛІЄНТ, (Прізвище_клієнта= “Хар”))

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

11. Операція зміни значень атрибутів у кортежі відношення.

RT1 = Update (R, , нові значення ).

Відношення КЛІЄНТ у початковому стані (див.рис.18). Для виконання операції визначаємо умову =(Код_клієнта=3) і нові значення атрибутів Вулиця = Повітряна.

Таблиця 6.23

Новий стан відношення КЛІЄНТ

Update (КЛІЄНТ, (Код_клієнта=3), (Вулиця = “Повітряна”))

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Повітряна

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

12. Операція визначення нового атрибута у відношенння.

RT1 = Add (R, Аadd).

Відношення КЛІЄНТ у початковому стані (див.рис.18). Додамо до відношення КЛІЄНТ новий атрибут Країна, початковим значенням якого буде `Україна'.

Таблиця 6.24

Новий стан відношення КЛІЄНТ

Add (КЛІЄНТ, Країна)

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

По_батькові_клієнта

Вулиця

Місто

Країна

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

Україна

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

Україна

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

Україна

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

Україна

13. Операція вилучення атрибута з відношенння.

RT1 = Drop (R, Аdrop).

Відношення КЛІЄНТ у початковому стані (див.рис.18). Вилучимо з відношення КЛІЄНТ атрибут По_батькові_клієнта.

Таблиця 6.25

Новий стан відношення КЛІЄНТ

Drop (КЛІЄНТ, По_батькові_клієнта)

Код_клієнта

Прізвище_клієнта

Ім'я_клієнта

Вулиця

Місто

1

Хар

Катерина

вул.Зелена

м.Львів

2

Веселовська

Іванна

вул.Сяйво

м.Львів

3

Процак

Марта

вул.Широка

м.Львів

4

Ярчак

Христина

вул.Низинна

м.Львів

14. Операція зміни параметрів атрибута у відношенні.

· зміна імені атрибута: RT1=Rename( R, Aі, Aі)

Відношення КЛІЄНТ у початковому стані (див.рис.18).

Ім'я атрибута Ім'я_клієнта з областю визначення {Катерина, Іванна, Марта, Христина} замінюємо іменем Ім'я з аналогічною областю визначення.

Таблиця 6.26

Новий стан відношення КЛІЄНТ

Rename (КЛІЄНТ, Ім'я_клієнта, Ім'я)

Код_клієнта

Прізвище_клієнта

Ім'я

По_батькові_клієнта

Вулиця

Місто

1

Хар

Катерина

Василівна

вул.Зелена

м.Львів

2

Веселовська

Іванна

Миколаївна

вул.Сяйво

м.Львів

3

Процак

Марта

Миколаївна

вул.Широка

м.Львів

4

Ярчак

Христина

Вікторівна

вул.Низинна

м.Львів

· зміна області визначення атрибута: RT1=Alter(R, Dі, Dі)

Відношення Послуга (див. рис. 15)

Атрибут з іменем Ціна і областю визначення Dціна ={850, 500, 100, 320, 400, 75} замінюємо атрибутом з іменем Ціна і областю визначення Dціна ={870, 540, 130, 370, 420, 100}. Задамо функцію конверсії С(Ціна):

Таблиця 6.27

Функція конверсії С(Ціна)

C (Ціна)

Dціна

Dціна

850

870

500

540

100

130

320

400

400

420

75

100

Таблиця 6.28

Новий стан відношення ПОСЛУГА

Alter (ПОСЛУГА, Dціна, Dціна)

Код_послуги

Код_виду

Назва_послуги

Ціна

Собівартість

Опис_послуги

Час_виконання

1

1

Омолодження

870

650

Anti-Age терапія (25+) …

1 год

2

2

Стрижка жіноча

540

210

-

20-40 хв

3

3

Корекція брів

130

70

-

20 хв

4

4

Покриття гель-лаком

400

205

-

30 хв

5

2

Нарощення вій

420

65

-

40 хв

6

4

Франзуцький манікюр

100

50

-

30 хв

Висновки

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

Визначено та описано предметну область “Косметичний салон”, створено модель “сутність-зв'язок”, спроектувано схему реляційної бази даних, нормалізовано базу даних до третьої нормальної форми, реалізовано даталогічну модель бази даних засобами SQL та виконано операції реляційної алгебри.

Список використаних джерел

1. Організація баз даних та знань: Методичні вказівки до виконання розрахунково-графічних робіт для студентів першого (бакалаврського) рівня вищої освіти спеціальності 122 «Комп'ютерні науки» / Укл.: О.М.Верес. Львів: Видавництво Національного університету “Львівська політехніка”, 2020. 54 с.

2. Берко А. Ю. Застосування баз даних: навч. посібник / А. Ю. Берко, О. М. Верес. Львів: Ліга-Прес, 2007. 208 с.

3. Берко А. Ю. Організація баз даних: практичний курс / А. Ю. Берко, О. М. Верес. Львів: Вид-во Нац. ун-ту „Львівська політехніка”, 2003. 150 с.

4. Берко А. Ю. Теоретичні основи баз даних: Конспект лекцій для студентів Інституту комп'ютерних наук та інформаційних технологій / А. Ю. Берко, О. М. Верес. Львів: Вид-во Нац. ун-ту „Львівська політехніка”, 2007. 190 с.

5. Берко А. Ю. Системи баз даних та знань. Книга 2. Системи управління базами даних та знань: підручник [для студ. вищ. навч. закл.] / Берко А. Ю., Верес О. М., Пасічник В.В. 2-е вид. Львів: „Магнолія 2006”, 2015. 470с. (Серія «Комп'ютинґ»).

Размещено на Allbest.ru

...

Подобные документы

  • Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.

    курсовая работа [541,5 K], добавлен 29.01.2013

  • Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.

    курсовая работа [417,6 K], добавлен 01.02.2013

  • Основні підходи до проектування баз даних. Опис сайту Інтернет-магазину, характеристика його підсистем для обробки анкет і запитів користувачів. Розробка концептуальної, інфологічної, даталогічної, фізичної моделей даних. Побудова ER-моделі в CASE-засоби.

    курсовая работа [2,3 M], добавлен 01.02.2013

  • Аналіз предметної галузі, постановка задачі, проектування бази даних. UML-моделювання, побудова ER-діаграми, схеми реляційної бази даних у третій нормальній формі. Призначення і логічна структура. Опис фізичної моделі бази даних, програмної реалізації.

    курсовая работа [3,5 M], добавлен 28.11.2011

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

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

    курсовая работа [4,3 M], добавлен 05.12.2012

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

    курсовая работа [55,1 K], добавлен 15.03.2015

  • Розробка бази даних "Автовокзал". Функціональні залежності між атрибутами. Ідентифікація атрибутів, які в реляційної моделі даних використовуються в якості первинних ключів реляційних відносин. Організація вибірки інформації з бази за допомогою запиту.

    курсовая работа [35,6 K], добавлен 19.08.2012

  • Розробка бази даних для меблевої фірми. Обстеження і аналіз предметної області та побудова концептуальної, логічної та фізичної моделі цієї бази даних. Використання мови програмування Visual Basic при написанні програмного коду, що обслуговує базу даних.

    курсовая работа [1,4 M], добавлен 24.10.2010

  • Даталогічне проектування баз даних та концептуальне (інфологічне) проектування (побудова ER-діаграми та нормалізація даних) інформаційної системи. Фізичне проектування інформаційних систем (СУБД Access: об’єкти бази, створення таблиць, запитів та форм).

    курсовая работа [3,5 M], добавлен 09.01.2010

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

    курсовая работа [4,0 M], добавлен 02.12.2014

  • Проектування бази даних предметної області "Магазин будівельних матеріалів". Аналіз сукупності вхідних і вихідних даних, шляхи удосконалення інформаційної системи обліку товару. Організація інформаційної бази, розробка логічної і фізичної моделі.

    курсовая работа [559,2 K], добавлен 09.05.2016

  • Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.

    курсовая работа [1,2 M], добавлен 29.02.2012

  • Проектування інформаційної системи для супроводу баз даних. Моделі запиту даних співробітником автоінспекції та обробки запиту про машини та їх власників. База даних за допомогою SQL-сервер. Реалізація запитів, процедур, тригерів і представлення.

    курсовая работа [1,7 M], добавлен 18.06.2012

  • Розгляд процесу автоматизації бази даних для довідника астронома. Основи реляційних баз даних для проектування інформаційних систем. Застосування тригерів для забезпечення цілісності даних і реалізації складної бізнес–логіки в системних процедурах.

    курсовая работа [22,3 K], добавлен 12.03.2019

  • Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.

    курсовая работа [147,2 K], добавлен 02.06.2019

  • Опис вхідних та вихідних повідомлень, процедури перетворення даних. Розробка інфологічної моделі, інформаційні об’єкти та їх характеристика. Автоматизація даталогічного проектування. Опис структур таблиць бази даних на фізичному рівні, реалізація запитів.

    курсовая работа [2,5 M], добавлен 02.01.2014

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

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

    курсовая работа [861,7 K], добавлен 21.02.2010

  • Визначення та опис бази даних, її структура та зміст головних компонентів, вимоги та напрямки застосування, сторони-учасники, інформаційне забезпечення. Системний аналіз за вхідною та вихідною документацією, побудова ER-моделі, реалізація сутностей.

    курсовая работа [586,1 K], добавлен 02.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.