Разработка базы данных для предметной области «Салон красоты» и приложения для ведения базы данных
Заказать уникальную курсовую работу- 42 42 страницы
- 19 + 19 источников
- Добавлена 29.06.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
1. МОДЕЛИРОВАНИЕ БАЗЫ ДАННЫХ 6
1.1 Исследование предметной области и формирование требование к базе данных 6
1.2. Выделение объектов предметной области, их характеристик и построение ER-модели 9
1.3 Выбор модели базы данных и построение логической модели 12
1.4 Выбор программной среды для реализации проекта базы данных 13
1.4.1 Выбор среды разработки и языка программирования 13
1.4.2 Выбор системы для построения клиентского приложения 14
1.4.3 Выбор системами управления базами данных 15
2. РЕАЛИЗАЦИЯ ПРОЕКТА БАЗЫ ДАННЫХ 18
2.1. Описание создания таблиц базы данных 18
2.2. Решение задач пользователей с помощью построения представлений, триггеров, хранимых процедур 22
2.3. Визуализация базы данных (создание форм и отчётов) 24
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 29
ПРИЛОЖЕНИЕ 31
PlannedServices.Date, dbo.PlannedServices.Price, dbo.PlannedServices.Name AS ServiceNameFROM dbo.Clients INNER JOINdbo.Masters ON dbo.Clients.Id = dbo.Masters.Id INNER JOINdbo.PlannedServices ON dbo.Clients.Id = dbo.PlannedServices.ClientId AND dbo.Masters.Id = dbo.PlannedServices.MasterIdWHERE (dbo.PlannedServices.ServiceState = 0)GO/****** Object: Table [dbo].[__MigrationHistory] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[__MigrationHistory]([MigrationId] [nvarchar](150) NOT NULL,[ContextKey] [nvarchar](300) NOT NULL,[Model] [varbinary](max) NOT NULL,[ProductVersion] [nvarchar](32) NOT NULL, CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY CLUSTERED ([MigrationId] ASC,[ContextKey] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[Admins] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Admins]([Id] [uniqueidentifier] NOT NULL,[Login] [nvarchar](max) NULL,[Password] [nvarchar](max) NULL,[Name] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.Admins] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[BeautyServices] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[BeautyServices]([Id] [uniqueidentifier] NOT NULL,[Duration] [int] NOT NULL,[Name] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.BeautyServices] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[ConsumptionHistories] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[ConsumptionHistories]([Id] [uniqueidentifier] NOT NULL,[Amount] [int] NOT NULL,[MaterialId] [uniqueidentifier] NOT NULL,[PlannedServiceId] [uniqueidentifier] NOT NULL,[Price] [decimal](18, 2) NOT NULL,[Name] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.ConsumptionHistories] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[Materials] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Materials]([Id] [uniqueidentifier] NOT NULL,[CurrentAmount] [int] NOT NULL,[Name] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.Materials] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[SalaryHistories] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[SalaryHistories]([Id] [uniqueidentifier] NOT NULL,[Amount] [decimal](18, 2) NOT NULL,[Date] [datetime] NOT NULL,[Name] [nvarchar](max) NULL,[Master_Id] [uniqueidentifier] NULL, CONSTRAINT [PK_dbo.SalaryHistories] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Table [dbo].[SupplyHistories] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[SupplyHistories]([Id] [uniqueidentifier] NOT NULL,[SupplyDate] [datetime] NOT NULL,[SupplyCount] [int] NOT NULL,[Price] [decimal](18, 2) NOT NULL,[MaterialId] [uniqueidentifier] NOT NULL,[Name] [nvarchar](max) NULL, CONSTRAINT [PK_dbo.SupplyHistories] PRIMARY KEY CLUSTERED ([Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO/****** Object: Index [IX_MaterialId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_MaterialId] ON [dbo].[ConsumptionHistories]([MaterialId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_PlannedServiceId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_PlannedServiceId] ON [dbo].[ConsumptionHistories]([PlannedServiceId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_BeautyServiceId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_BeautyServiceId] ON [dbo].[PlannedServices]([BeautyServiceId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_ClientId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_ClientId] ON [dbo].[PlannedServices]([ClientId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_MasterId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_MasterId] ON [dbo].[PlannedServices]([MasterId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_Master_Id] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_Master_Id] ON [dbo].[SalaryHistories]([Master_Id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GO/****** Object: Index [IX_MaterialId] Script Date: 28.05.2022 20:57:22 ******/CREATE NONCLUSTERED INDEX [IX_MaterialId] ON [dbo].[SupplyHistories]([MaterialId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]GOALTER TABLE [dbo].[PlannedServices] ADD DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [BeautyServiceId]GOALTER TABLE [dbo].[ConsumptionHistories] WITH CHECK ADD CONSTRAINT [FK_dbo.ConsumptionHistories_dbo.Materials_MaterialId] FOREIGN KEY([MaterialId])REFERENCES [dbo].[Materials] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[ConsumptionHistories] CHECK CONSTRAINT [FK_dbo.ConsumptionHistories_dbo.Materials_MaterialId]GOALTER TABLE [dbo].[ConsumptionHistories] WITH CHECK ADD CONSTRAINT [FK_dbo.ConsumptionHistories_dbo.PlannedServices_PlannedServiceId] FOREIGN KEY([PlannedServiceId])REFERENCES [dbo].[PlannedServices] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[ConsumptionHistories] CHECK CONSTRAINT [FK_dbo.ConsumptionHistories_dbo.PlannedServices_PlannedServiceId]GOALTER TABLE [dbo].[PlannedServices] WITH CHECK ADD CONSTRAINT [FK_dbo.PlannedServices_dbo.BeautyServices_BeautyServiceId] FOREIGN KEY([BeautyServiceId])REFERENCES [dbo].[BeautyServices] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[PlannedServices] CHECK CONSTRAINT [FK_dbo.PlannedServices_dbo.BeautyServices_BeautyServiceId]GOALTER TABLE [dbo].[PlannedServices] WITH CHECK ADD CONSTRAINT [FK_dbo.PlannedServices_dbo.Clients_ClientId] FOREIGN KEY([ClientId])REFERENCES [dbo].[Clients] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[PlannedServices] CHECK CONSTRAINT [FK_dbo.PlannedServices_dbo.Clients_ClientId]GOALTER TABLE [dbo].[PlannedServices] WITH CHECK ADD CONSTRAINT [FK_dbo.PlannedServices_dbo.Masters_MasterId] FOREIGN KEY([MasterId])REFERENCES [dbo].[Masters] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[PlannedServices] CHECK CONSTRAINT [FK_dbo.PlannedServices_dbo.Masters_MasterId]GOALTER TABLE [dbo].[SalaryHistories] WITH CHECK ADD CONSTRAINT [FK_dbo.SalaryHistories_dbo.Masters_Master_Id] FOREIGN KEY([Master_Id])REFERENCES [dbo].[Masters] ([Id])GOALTER TABLE [dbo].[SalaryHistories] CHECK CONSTRAINT [FK_dbo.SalaryHistories_dbo.Masters_Master_Id]GOALTER TABLE [dbo].[SupplyHistories] WITH CHECK ADD CONSTRAINT [FK_dbo.SupplyHistories_dbo.Materials_MaterialId] FOREIGN KEY([MaterialId])REFERENCES [dbo].[Materials] ([Id])ON DELETE CASCADEGOALTER TABLE [dbo].[SupplyHistories] CHECK CONSTRAINT [FK_dbo.SupplyHistories_dbo.Materials_MaterialId]GO/****** Object: StoredProcedure [dbo].[CountProfit] Script Date: 28.05.2022 20:57:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:
2. Зыков, С. В. Программирование. Объектно-ориентированный подход : учебник и практикум для академического бакалавриата / С. В. Зыков. — М. : Издательство Юрайт, 2019. — 155 с.
3. Карвин, Билл Программирование баз данных SQL. Типичные ошибки и их устранение / Билл Карвин. - М.: Рид Групп, 2018. - 336 c.
4. Кригель, А. SQL. Библия пользователя / А. Кригель. - М.: Диалектика / Вильямс, 2016. - 0 c.
5. Кудрина, Е. В. Основы алгоритмизации и программирования на языке c#: учеб. пособие для СПО / Е. В. Кудрина, М. В. Огнева. — М. : Издательство Юрайт, 2019. — 322 с.
6. Ларман К., Применение UML 2.0 и шаблонов проектирования, 3-е издание. Пер. с англ.-М.: Вильямс, 2007. – 624 с.;
7. Маркин, А. В. Программирование на sql в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М. : Издательство Юрайт, 2019. — 292 с.
8. Полное руководство по языку программирования С# 10 и платформе .NET 6 – Вильямс – 540с.;
9. Стиллмен, Э. Head First Agile. Гибкое управление проектами / Э. Стиллмен. - СПб.: Питер, 2019. - 464 c.
10. Стэнли, Э. Управление проектами / Э. Стэнли. - М.: Диалектика, 2019. - 288 c.
11. Черткова, Е. А. Статистика. Автоматизация обработки информации : учеб. пособие для вузов / Е. А. Черткова ; под общ. ред. Е. А. Чертковой. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2017. — 195 с.
12. Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software – Addison Wesley, 2003, – 560с.
13. Рейтинг языков программирования TOIBE [Электронный ресурс] URL: https://www.tiobe.com/tiobe-index/
14. Рейтинг СУБД по версии TOPDB- [Электронный ресурс] URL: https://pypl.github.io/DB.html
15. Константин Таранов о SQL Server [Электронный ресурс] URL: https://habr.com/ru/company/pgdayrussia/blog/329842/
16. Рейтинг СУБД по версии компании Flourish [Электронный ресурс] URL: https://public.flourish.studio/visualisation/5446616/?utm_source=showcase&utm_campaign=visualisation/5446616
17. Построение IDEF диаграмм онлайн: [Электронный ресурс] URL: https://lucid.app/lucidchart/
18. Построение use-case диаграмм [Электронный ресурс] URL: https://online.visual-paradigm.com/diagrams/features/dfd-maker/
19. Visual Studio Overview [Электронный ресурс] URL: https://visualstudio.microsoft.com/ru/vs/
Вопрос-ответ:
Какие задачи решает данная разработка базы данных?
Данная разработка базы данных предназначена для ведения информации о клиентах, услугах и сотрудниках салона красоты. Она позволяет эффективно организовать работу с клиентами, контролировать заработную плату и учет рабочего времени сотрудников, а также следить за остатками материалов и инвентаря.
Какие модели базы данных применяются в данном проекте?
В данном проекте применяются ER-модели. Перед началом разработки базы данных проводится исследование предметной области и выделяются объекты и их характеристики. Затем строится логическая модель базы данных на основе этих объектов.
Какая программная среда используется для реализации проекта базы данных?
Для реализации проекта базы данных салона красоты можно использовать различные программные среды. Для выбора программной среды необходимо учитывать требования к функциональности и простоте использования. Рекомендуется выбрать среду разработки и язык программирования, которые наиболее удобны и знакомы разработчику.
Какие преимущества дает разработка базы данных для салона красоты?
Разработка базы данных для салона красоты позволяет эффективно управлять клиентами, услугами и сотрудниками. Она обеспечивает более оперативный доступ к информации, упрощает процессы учета и планирования, а также помогает следить за финансовыми показателями и контролировать использование ресурсов. В результате салон красоты может повысить эффективность своей деятельности и улучшить уровень обслуживания клиентов.
Как выбрать систему для разработки базы данных?
При выборе системы для разработки базы данных для салона красоты следует учитывать такие критерии, как функциональность, производительность, надежность, простота использования и стоимость. Оптимальным вариантом может быть установка и настройка популярной и проверенной системы управления базами данных, такой как MySQL или PostgreSQL.
Какие основные этапы в разработке базы данных для салона красоты?
Основные этапы в разработке базы данных для салона красоты включают исследование предметной области и формирование требований к базе данных, выделение объектов предметной области и их характеристик, построение ER-модели, выбор модели базы данных, построение логической модели, выбор программной среды для реализации проекта базы данных и выбор среды разработки и языка программирования.
Какие задачи решает приложение для ведения базы данных салона красоты?
Приложение для ведения базы данных салона красоты решает задачи автоматизации учета клиентов и их услуг, записи на прием, контроля и учета остатков товаров и материалов, формирования отчетов и статистики, управления персоналом и расписаниями работы, а также обеспечивает возможность проведения клиентской аналитики и управления клиентскими базами данных.
Какие преимущества имеет разработка базы данных для салона красоты?
Разработка базы данных для салона красоты позволяет упростить и автоматизировать учет клиентов и услуг, что сокращает ручные работы по ведению учета и минимизирует возможность ошибок. Также база данных позволяет проводить анализ данных, формировать отчеты и статистику, что помогает в принятии управленческих решений и планировании работы салона. Другим преимуществом является возможность управления персоналом и расписаниями работы, а также возможность сохранения и учета товаров и материалов, что помогает в контроле и оптимизации расходов.
Какие модели базы данных подходят для разработки базы данных салона красоты?
Для разработки базы данных салона красоты можно использовать различные модели, такие как иерархическая модель, сетевая модель, реляционная модель или объектно-ориентированная модель. Однако, наиболее распространенной и рекомендуемой моделью является реляционная модель, которая позволяет структурировать данные в виде таблиц, связанных между собой через ключи и отношения.
Какие задачи решает приложение для ведения базы данных салона красоты?
Приложение для ведения базы данных салона красоты решает следующие задачи: учет клиентов, запись на приемы, учет услуг и их стоимости, учет товаров и их остатков на складе, формирование отчетов о работе салона и другие функции, необходимые для эффективного управления салоном красоты.
Как выполняется моделирование базы данных для салона красоты?
Моделирование базы данных для салона красоты включает в себя следующие этапы: исследование предметной области и формирование требований к базе данных, выделение объектов предметной области и их характеристик, построение ER-модели, выбор модели базы данных и построение логической модели.
Как выбрать подходящую программную среду для реализации проекта базы данных салона красоты?
Для выбора программной среды для реализации проекта базы данных салона красоты необходимо учитывать следующие факторы: требования к функциональности и производительности приложения, опыт и знания разработчиков, наличие поддержки и сообщества пользователей, возможности интеграции с другими системами и другие критерии, которые могут быть важны для конкретного проекта.