Слайд 2Введение
Современные салоны релаксации предоставляют множество услуг, требующих своевременной поставки материалов и имеют
большое количество сотрудников, салонов и прочих объектов, для которых требуется вести учет.
Автоматизация этого процесса позволит повысить его скорость и надежность, поэтому для салонов релаксации актуальна разработка информационной системы, обеспечивающей их работу.
Слайд 3Задачи курсового проекта
Определение предметной области
Построение инфологической модели
Построение даталогической модели
Слайд 4Анализ предметной области
Информационная система должна хранить информацию об:
Клиент
Материал
Сотрудник
Поставщик
Салон
Услуга
Заказ
Слайд 5Инфологическая модель
В соответствии с ПО была разработана следующая инф.модель:
Слайд 7Запросы на просмотр, добавление и редактирование.
Просмотр. Код: «select * from «УСЛ";»
Добавление. Код:
«insert into «УСЛ» (НАЗВ, ЦЕНА) VALUES ('Массаж спины', '8900');»
Редактирование. Код: «UPDATE “УСЛ” SET “Цена” = 4900 WHERE “Назв” = ‘Массаж’»
Слайд 8Запросы на просмотр. Запрос №1
Формулировка: Вывод перечня и общего числа салонов по
различным районам города.
SQL код: «SELECT "РАЙОН", "НАЗВ" as "НАЗВ/КОЛ-ВО" FROM "САЛОН" UNION ALL SELECT "РАЙОН"."НАЗВ", cast(count("САЛОН"."НАЗВ") as varchar2(50)) FROM "РАЙОН" LEFT JOIN "САЛОН" ON "САЛОН"."РАЙОН" = "РАЙОН"."НАЗВ" GROUP BY "РАЙОН"."НАЗВ";»
Слайд 10Запросы на просмотр. Запрос №2
Формулировка: Вывод перечня поставщиков в целом по сети,
поставщиков отдельных материалов и сопутствующих товаров, сделавших поставки в некоторый период.
Код для вывода перечня в целом по сети: «SELECT * FROM "ПОСТ";»
Код для вывода поставщиков отдельного материала: «SELECT "ПОСТ".* FROM "ПОСТ" RIGHT JOIN 25 "ПОСТ_МАТ" ON "ПОСТ"."НАЗВ" = "ПОСТ_МАТ"."ПОСТ" WHERE "ПОСТ_МАТ"."МАТ" = 'лосьон массажный';»
Слайд 12Запросы на просмотр. Запрос №3
Формулировка: Вывод списка клиентов и общего их числа
в целом по сети, по указанному салону.
код для вывода списка клиентов и общего их числа в целом по сети: «SELECT "ТЕЛ" as "ТЕЛ/КОЛ-ВО", "ИМЯ", "ФАМ" FROM "КЛИЕНТ" UNION ALL SELECT cast(count(*) as varchar2(50)),null,null FROM "КЛИЕНТ";»
код для вывода списка клиентов и общего их числа по салону «красота»: «SELECT DISTINCT "ТЕЛ" as "ТЕЛ/КОЛ-ВО", "ИМЯ", "ФАМ" FROM "КЛИЕНТ" LEFT JOIN "КЛИЕНТ_ЗАП" ON "КЛИЕНТ"."ТЕЛ" = "КЛИЕНТ_ЗАП"."КЛИЕНТ" WHERE "КЛИЕНТ_ЗАП"."СОТР" IN (SELECT "НОМ" FROM "СОТР" WHERE "САЛОН" = 'Красота') UNION ALL SELECT cast(count(DISTINCT "ТЕЛ") as varchar2(50)),null,null FROM "КЛИЕНТ" LEFT JOIN "КЛИЕНТ_ЗАП" ON "КЛИЕНТ"."ТЕЛ" = "КЛИЕНТ_ЗАП"."КЛИЕНТ" WHERE "КЛИЕНТ_ЗАП"."СОТР" IN (SELECT "НОМ" FROM "СОТР" WHERE "САЛОН" = 'Красота');»
Слайд 14Запросы на просмотр. Запрос №4
Формулировка: Вывод суммы выручки от данного вида услуги
в целом по сети, по указанному салону, за некоторый период времени.
код для вывода суммы выручки от вида услуги «массаж ног» в целом по сети: «SELECT sum("ЦЕНА") "сумма" FROM "КЛИЕНТ_ЗАП" LEFT JOIN "КЛИЕНТ" ON "КЛИЕНТ_ЗАП"."КЛИЕНТ" = "КЛИЕНТ"."ТЕЛ" LEFT JOIN "УСЛ" ON "УСЛ"."НАЗВ" = "КЛИЕНТ_ЗАП"."УСЛУГА" WHERE "УСЛ"."НАЗВ" = 'Массаж ног’;».
код для вывода суммы выручки по салону «красота»: «SELECT sum("ЦЕНА") "сумма" FROM "КЛИЕНТ_ЗАП" LEFT JOIN "КЛИЕНТ" ON "КЛИЕНТ_ЗАП"."КЛИЕНТ" = "КЛИЕНТ"."ТЕЛ" LEFT JOIN "УСЛ" ON "УСЛ"."НАЗВ" = "КЛИЕНТ_ЗАП"."УСЛУГА" LEFT JOIN "СОТР" ON "КЛИЕНТ_ЗАП"."СОТР" = "СОТР"."НОМ" LEFT JOIN "САЛОН" ON "САЛОН"."НАЗВ" = "СОТР"."САЛОН" WHERE "САЛОН"."НАЗВ" = 'Красота’;».
код для вывода суммы выручки за период с 13 по 16 мая 2020: «SELECT sum("ЦЕНА") "сумма" FROM "КЛИЕНТ_ЗАП" LEFT JOIN "КЛИЕНТ" ON "КЛИЕНТ_ЗАП"."КЛИЕНТ" = "КЛИЕНТ"."ТЕЛ" LEFT JOIN "УСЛ" ON "УСЛ"."НАЗВ" = "КЛИЕНТ_ЗАП"."УСЛУГА" LEFT JOIN "СОТР" ON "КЛИЕНТ_ЗАП"."СОТР" = "СОТР"."НОМ" LEFT JOIN "САЛОН" ON "САЛОН"."НАЗВ" = "СОТР"."САЛОН" WHERE 28 to_char("КЛИЕНТ_ЗАП"."ВРЕМЯ",'DD-MON-YYYY') BETWEEN '13-МАЙ2020' AND '16-МАЙ-2020';»
Слайд 16Запросы на просмотр. Запрос №5
Формулировка: Вывод перечня услуг, которые пользуются наибольшим спросом
в указанном салоне.
код для вывода услуг, отсортированных по убыванию количества заказов в салоне «красота»: «SELECT "КЛИЕНТ_ЗАП"."УСЛУГА" FROM "КЛИЕНТ_ЗАП" LEFT JOIN "СОТР" ON "КЛИЕНТ_ЗАП"."СОТР" = "СОТР"."НОМ" LEFT JOIN "САЛОН" ON "САЛОН"."НАЗВ" = "СОТР"."САЛОН" WHERE "САЛОН"."НАЗВ" = 'Красота' GROUP BY "КЛИЕНТ_ЗАП"."УСЛУГА" ORDER BY count("КЛИЕНТ_ЗАП"."УСЛУГА") DESC;»