КУРСОВОЙ ПРОЕКТ по ПМ 06. Сопровождение информационных систем по МДК 06.01. Внедрение информационных систем специальности 09.02.07 «Информационные системы и программирование» на тему: «разработка информационной системы учёт заказов Детейлинг-Центра “ZR-Pemamence» Выполнил: Руководитель: Курсовой проект защищен с оценкой «___» Москва 2022г. ЗАДАНИЕ на курсовой проект обучающемуся 2 курса очной формы обучения, специальности 09.02.07 Информационные системы и программирование Тема курсового проекта Учёт заказов Детейлинг-Центра “ZR-Pemamence ” При выполнении курсового проекта на указанную тему должны быть представлены: 1. Пояснительная записка: Введение Проектирование Базы данных «Детейлинг центра». Разработка базы данных Заключение Список использованной литературы 2. Созданная информационная система. 3. Приложения В составе 6 листов Дата выдачи «____»_________________20____г. Срок окончания «____»_________________20____г. Руководитель курсовой работы ________________/ / ГБОУ “МКАГ” 09.02.07 КП СОДЕРЖАНИЕ ВВЕДЕНИЕ .................................................................................................................. 4 1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «УЧЁТ ЗАКАЗОВ ДЕТЕЙЛИНГ ЦЕНТРА» ..................................................................................................................... 5 1.1.Анализ предметной области ................................................................................ 5 1.2.Логическое проектирование и связи ................................................................... 5 1.3. Даталогическое проектирование ........................................................................ 7 2. РАЗРАБОТКА БАЗЫ ДАННЫХ....................................................................... 11 2.1. Проектирование базы данных и таблиц ........................................................... 11 2.2. Заполнение таблиц и создание таблиц ............................................................. 11 2.4 Создание пользователей. .................................................................................... 12 ЗАКЛЮЧЕНИЕ ......................................................................................................... 15 СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ ..................................................... 16 ПРИЛОЖЕНИЯ ......................................................................................................... 17 КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП ВВЕДЕНИЕ В наше время и в мире в общем применяется везде базы данных – в предприятиях, учебных и медицинских учреждениях. Без них нельзя представить работу больших предприятий, государственных организаций. В связи с этим возникает вопрос, с помощью чего можно создать базу данных? Целью данного курсового проекта является разработка базы данных ООО “ ZR-Pemamence” В дальнейшем изучении курсовой работы будет проведена углубление теоретических знаний о базах данных и методах работы с ней. Также, курсовая работа позволит практиковать методы проектирование бд, создания связей и многое другое. Цель работы создать базу данных, удовлетворяющую потребностям работы детейлинг центра, чтобы вести учёт взятых заказов. Задачи: 1) Знакомство с литературой для теоретических знаний 2) Анализ предметной области 3) Построение логической модели 4) Разработка 5) Создание таблиц и запросов для БД Курсовой проект состоит из двух глав, введения, заключения. Первым действием будет являться изучением теории, последующие действия будут такие: предоставляем показываем практический материал по выбранной предметной области. КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП 1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «УЧЁТ ЗАКАЗОВ ДЕТЕЙЛИНГ ЦЕНТРА» 1.1.Анализ предметной области Предметной областью базы данных выбранного проекта устройство «Детейлинг-Центр». Услуги Детейлинг-Центра “ZR-Pemamence ” пользуются большим спросом как у молодого поколения, так и у пожилого, и оставляет хорошие эмоции. Детейлинг-Центр имеет два вида предоставлении услуг: 1. Работа в срок 2. Срочная работа Весь каталог продукции Детейлинг-Центра выставляется в виде спискакаталога услуг на сайте “ZR-Pemamence ”,с возможностью узнать предварительную стоимость за выполнение услуги. Целью создания баз данных для Детейлинг-Центра является, обеспечивающий учет оказанных услуг, учет продаж. Разрабатываемая база данных должна решать следующие задачи: 1) Хранить список клиентов, сотрудников, видов услуг, записей 2) Выставление счета и учет 3) Оперативная информация об оказанных услугах и продаже 4) Осуществлять запись 1.2. Логическое проектирование и связи На этом этапе строится логическая схема БД и определяется связь между таблицами. Полная логическая схема была сделана на определенном сайте. В таблицах определенны сущности. КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Таблица 1. Описание связей Сущность Показатель Связь Сущность Обслуживают Клиенты М:М Оформляют Договор 1:М Обслуживаемые авто 1:М Услуги 1:М Заключают Договоры 1:М Покупают Услуги 1:М Покупают Обслуживаемые авто 1:М Включают Услуги 1:М Включают Обслуживаемые авто 1:М Включают Контрагенты 1:М Включают Услуги 1:М кардинальности Сотрудники Обслуживают Продают Клиенты Обслуживаемые авто КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Сущность Связь Услуги Поставщик Сущность Показатель кардинальности Включают Контрагенты 1:М Включают Сотрудники 1:М Включают Клиенты 1:М Включают Договоры 1:М 1.3.Даталогическое проектирование На данном этапе проектирования будет определенно название атрибутов в таблице, их типа, наличия, размера. Таблица 2. Все сущности Сущности Атрибуты id_worker Ключи ПК name id_group Сотрудники ВК experience namec Dob Phone ПК Примечание 200 1 текстовый 50 Иванов Иван Иванович числовой 10 1 Дата email id_client Размер числовой DOB number Клиенты Тип 01/01/2019 текстовой 12 89999999999 текстовой 50 a@a.com числовой 100 5 числовой 200 1 текстовый 50 Иванов Иван Иванович Дата текстовой 01/01/2019 12 89999999999 КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП числовой 10 1 shortname текстовый 100 Продукты fullname текстовый 200 ООО ”Дикси ” id_typecount ПК Можайское ш., 168, Контрагенты Сущности Москва, Московская phone текстовый 12 89999999999 email текстовый 50 a@a.com Estimatedcheck текстовый 20 40817810998710003421 inn текстовый 10 7731346734 Тип Размер Примечание числовой 100 1 Fullname текстовый 100 Плёнка Cost денежный 10 15000 р. Amount числовой 1000 10 Status текстовый 20 В наличии ПК числовой 1000 1 ВК числовой 100 1 ВК числовой 200 1 Атрибуты id_waybill id_typecount id_worker Договор 200 область id_tovar Товары текстовый jardess Ключи ПК Date Дата Costofw id_product Amountof ВК 01/01/2022 денежный 10 4000 р. числовой 100 1 числовой 1000 100 КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Statuswb id_uslug ПК Namep Услуги Cost_uslug Name_Auto текстовый 50 Завершенная операция числовой 100 1 текстовый 50 Полировка числовой 1000 25400р текстовый 1000 BMW M5 Затраты на Id_uslug ВК Числовой 100 1 услугу Id_tovar ВК Числовой 100 1 числовой 1000 15 kolichestvo_tova r Таблица 3. Стратегия целостности. Связь Сотрудники – Клиенты Child Delete Cascade Parent Insert Update Delete Insert None Cascade None None Update None Клиенты – Услуги None None Cascade None None None Поставщик – Товар Restrict None Cascade None None None Restrict None Cascade None None None Сотрудники Услуги Далее пропишем обязанности и требования к сотрудникам, которые будут пользоваться данной информационной системой. Таблица 4. Описание обязанностей. Функция Занимаемая должность Обязанности Имя пользователя Руководитель/ Менеджер Работа с клиентами, сотрудниками Admin Список требований Добавление сотрудников Добавление клиентов КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Сотрудник Работа с платежными операциями Просмотр, сбор статистики Выдача заработной платы Работа с клиентами Работа с платежными операциями Оказание услуг Добавление договоров Добавление банковских карт Employee Добавление клиентов Добавление договоров Добавление услуг КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП 2. РАЗРАБОТКА БАЗЫ ДАННЫХ 2.1. Проектирование базы данных и таблиц 2.2. Заполнение таблиц и создание таблиц При заходе в SSMS ПО потребует авторизацию (См. Приложение 1). После авторизации главного администратора в систему, надо создать новый запрос для создания таблиц. (См. приложение 2, 3) После создания таблиц можно начинать заполнение информацией. (См. Приложение 4, 5, 6, 7) 2.3. Создание запросов SQL SELECT – основная строительная конструкция для создания любого запроса к базе данных. В зависимости от требований и условий он может быть простым или сложным. Без использования оператора SELECT невозможно получить необходимые данные благодаря выборке. 1. Поиск всех контрактов с привязкой типов количества; SELECT * FROM contract JOIN counterparties ON contract.id_typecount=counterparties.id_typecount Результат выполнения запроса – получение контракта и типов Рисунок 1. Контракты и типы. 2. Поиск всех контрактов по товару; SELECT * FROM contract JOIN product ON contract.id_product=product.id_tovar Результат выполнения запроса – Получение контрактов и товаров Рисунок 2. получение контрактов и товаров. 3. Получение всех контрактов и сотрудников кто выполнил; SELECT * КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП FROM contract JOIN worker ON contract.id_worker=worker.id_worker Результат выполнения запроса – Получение контракта с сотрудниками. Рисунок 3. Получение контракта и сотрудника. 4. Получение клиента по фамилии; select * from client where namec = 'Виктор Георгиевич Дешевых'; Результат выполнения запроса – получение клиента по фамилии. . Рисунок 4. Получение сотрудника по фамилии. 5. Получение клиента по id; select * from client where id_client = 1; Результат выполнения запроса – получение клиента по айди. Рисунок 5. Получение сотрудника по id. 2.4.Создание пользователей. Выполним код для создания пользователя под логином director_avto. Рисунок 6. Создание роли директора КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Далее через панель SSMS посмотрим, что у нас вышло, либо можем сделать редактирование. Рисунок 7. Редактирование пользователя в ручном виде. Посмотрим какая роль именно в SSMS у данного логина. КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП Рисунок 8. Изменение прав пользователя. КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП ЗАКЛЮЧЕНИЕ Для выполнения и показа курсового проекта была создана база данных офиса Детейлинг-Центр “ZR-Pemamence», которая сделана учета и продаж. Первый этап реализации – сущности, атрибутов и связей. Следующие – создание физической проектирование. Созданные таблицы были заполнены данными в соответствии с необходимой информацией. Показ данных в БД происходит за счет создания и исполнения запросов разной тематики. В ходе работы были выполнены задачи: знакомство с литературой для творческих знаний, анализ предметной области, построение логической модели, разработка, создание таблиц и запросов для БД. В ходе работы была выполнена цель: создана база данных удовлетворяющая потребностям работы детейлинг центра, чтобы вести учёт взятых заказов В ходе работы были выполнены задачи: Проанализирована и исследована предметная область. Построена ER и реляционная модель данных. Разработан сценарий таблиц для реализации его в MS SQL Server Созданы таблицы и запросы для БД 2018 КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 1. SQL за 10 минут 5-е издание, Бен Форта, 2021, издательство: Диалектика-Вильямс, 352 страниц, 2. Изучаем SQL генерация выборка и обработка данных, Алан Болье, 2021, издательство: Диалектика-Вильямс, 400 страниц 3. SQL Полное руководство 3-е издание, Джеймс Р. Грофф; Пол Н. Вайнберг; Эндрю Дж. Оппель, 2020, издательство: Диалектика-Вильямс, 960 страниц 4. SQL, Andy Vickler, 2021, 606 страниц. 5. SQL Сборник рецептов, Энтони Молинаро, 2021, издательство: БХВ-Петербург, 592 страницы. 6. Оптимизация запросов в PostgreSQL, Домбровская Г. Р., Новиков Борис, 2022, издательство: ДМК Пресс, 278 страниц 7. https://app.diagrams.net/ - Сайт для создания логической модели 8. PostgreSQL, Е. П. Моргунов, 2019, издательство: БХВ-Петербург, 336 страниц 9. SQL Сборник рецептов, Энтони Молинаро, 2021, издательство: БХВ-Петербург, 592 страницы. КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП ПРИЛОЖЕНИЯ Приложение 1 Рисунок 1. Авторизация Приложение 2 CREATE DATABASE bd3; GO USE bd3; create table worker( id_worker int NOT NULL PRIMARY KEY, name nvarchar(50) NOT NULL, id_group int NOT NULL, DOB date NOT NULL, number nvarchar(12) NOT NULL, email nvarchar(50) NOT NULL, experience int NOT NULL ); create table client( id_client int NOT NULL PRIMARY KEY, namec nvarchar(50) NOT NULL, КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП id_group int NOT NULL, Dob date NOT NULL, Phone nvarchar(12) NOT NULL, ); create table counterparties( id_typecount int NOT NULL PRIMARY KEY, shortname nvarchar(100) NOT NULL, fullname nvarchar(200) NOT NULL, jardess nvarchar(200) NOT NULL, phone nvarchar(12) NOT NULL, email nvarchar(50) NOT NULL, Estimatedcheck nvarchar(20) NOT NULL, inn nvarchar(10) NOT NULL ); create table product( id_tovar int NOT NULL PRIMARY KEY, fullname nvarchar(200) NOT NULL, Cost money NOT NULL, Amount int NOT NULL, status nvarchar(20) NOT NULL, ); GO create table contract( id_waybill int NOT NULL PRIMARY KEY, id_typecount int NOT NULL, id_worker int NOT NULL, Date date NOT NULL, Costofw money NOT NULL, id_product int NOT NULL, КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП amountof int NOT NULL, Statuswb nvarchar(50) CONSTRAINT FK_contract_counterparties FOREIGN KEY (id_typecount) REFERENCES counterparties(id_typecount) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT FK_contract_worker FOREIGN KEY (id_worker) REFERENCES worker(id_worker) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT FK_contract_product FOREIGN KEY (id_product) REFERENCES product(id_tovar) ON DELETE NO ACTION ON UPDATE NO ACTION ); create table services( id_uslug int NOT NULL PRIMARY KEY, Namep nvarchar(50) NOT NULL, Cost_uslug int NOT NULL, Name_Auto nvarchar(1000) NOT NULL ); create table expenses( id_expenses int NOT NULL PRIMARY KEY, id_uslug int NOT NULL, id_tovar int NOT NULL, kolichestvo_tovar int NOT NULL, CONSTRAINT FK_expenses_services FOREIGN KEY (id_uslug) REFERENCES services(id_uslug) ON DELETE NO ACTION ON UPDATE NO ACTION, КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП CONSTRAINT FK_expenses_product FOREIGN KEY (id_tovar) REFERENCES product(id_tovar) ON DELETE NO ACTION ON UPDATE NO ACTION, ); Приложение 3 INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (1,'Геннадий Денисович Щипунов', 1, '05-03-1998', 8912775997, '601main.ru',5) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (2,'Илья Борисович Богамолов', 1, '05-05-1996', 8975751103, '958main.ru',6) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (3,'Анна Яковлевна Жунова', 1, '01-01-1996', 8982319796, '384main.ru',2) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (4,'София Леонидовна Газюмова', 1, '05-03-2000', 8946844330, '343main.ru',3) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (5,'Виталий Максимович Щебуняев', 1, '05-06-1996', 8951790527, '675main.ru',1) КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (6,'Наталия Сергеевна Сожигаева', 1, '01-01-1996', 8972829504, '647main.ru',5) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (7,'Кристина Леонидовна Арькова', 1, '05-11-1996', 8913997294, '125main.ru',4) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (8,'Семён Виталиевич Сытнин', 1, '05-11-1996', 8929287544, '983main.ru',8) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (9,'Геннадий Алексиевич Гедгафов', 1, '05-04-1996', 8976469688, '393main.ru',2) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (10,'Пётр Петрович Сеидов', 1, '05-06-1996', 8959945859, '546main.ru',9) INSERT INTO worker(id_worker, name, id_group, DOB, number, email, experience) VALUES (11,'Валентин Аркадиевич Гадышев', 1, '05-03-1996', 8913649662, '256main.ru',2) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП (1,'Виктор Георгиевич Дешевых', 1, '05-11-1996', 8936758689) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (2,'Алиса Никитична Большова', 1, '05-11-1996', 8926952868) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (3,'Любовь Олеговна Каламзина', 1, '05-03-2001', 8937622360) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (4,'Маргарита Петровна Шахманова', 1, '05-03-1997', 8972085715) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (5,'София Игоревна Дучина', 1, '01-01-1996', 8923584786) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (6,'Артур Евгеньевич Коленцов', 1, '05-02-1996', 8901735475) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (7,'Валерий Борисович Старотонов', 1, '01-01-1996', 8949440943) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (8,'Анатолий Антонович Вялитов', 1, '05-02-1996', 8982468887) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (9,'Галина Федоровна Шелагина', 1, '05-09-1996', 8981485609) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES (10,'Ксения Леонидовна Селятицкая', 1, '05-06-1996', 8965695527) INSERT INTO client(id_client, namec, id_group, Dob, Phone) VALUES КП ИСИП 1-20 ГБОУ “МКАГ” 09.02.07 КП (11,'Вячеслав Петрович Иванистов', 1, '05-03-2003', 8918520842) Приложение 4 INSERT INTO counterparties(id_typecount, shortname, fullname, jardess, phone, email, Estimatedcheck, inn) VALUES (1,'Детейлинг-Центр', 'ООО "ZR-Pemamence"', 'Можайское ш., 168, Москва, Московская область', 8936758689, '123@mail.ru', '40817810998710003421', '7731346734') Приложение 5 INSERT INTO product(id_tovar, fullname, Cost, Amount, status) VALUES (1,'Пленка', 15000, 10, 'В наличии') Приложение 6 INSERT INTO contract(id_waybill, id_typecount, id_worker, Date, Costofw, id_product,amountof, Statuswb) VALUES (1,1, 1, '09-03-2022', 4000, 1, 100, 'Завершенная операция') Приложение 6 INSERT INTO services(id_uslug, Namep, Cost_uslug, Name_Auto) VALUES (1,'Полировка', 25400, 'BMW M5') INSERT INTO expenses(id_expenses, id_uslug, id_tovar, kolichestvo_tovar) VALUES (1,1, 1, 15) КП ИСИП 1-20