Разработка базы данных "Автомагазин"

Автоматизация учета товаров в автомагазине и повышение эффективности работы сотрудников с заказами покупателей. Разработка логической и физической моделей предметной области базы данных. Выбор инструментария для программного продукта, его реализация.

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

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

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

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

Федеральное агентство связи

Факультет информационных технологий и экономики

Кафедра «Информатики и вычислительной техники»

КУРСОВАЯ РАБОТА

Тема:

Разработка базы данных «Автомагазин»

Оглавление

  • Введение
  • Глава 1. Предпроектная часть
    • 1.1Описание предметной области
    • 1.2 Разработка модели предметной области
  • Глава 2. Стадия проектирования
    • 2.1 Выборы инструментария для программного продукта
    • 2.2 Разработка логической модели
    • 2.3 Разработка физической модели
  • Глава 3. Стадия реализации проекта
    • 3.1 Серверная часть
      • 3.1.1 Создание Запросов
      • 3.1.2 Создание Хранимыx Процедур
      • 3.1.3 Создание Триггеров
    • 3.2 Клиентская часть
  • Глава 4. Эксплуатация и сопровождения проекта
  • Заключение
  • Список используемой литературы
  • Приложение

Введение

Автомагазин - это организация, которая осуществляет продажу машин. Основными задачами автомагазина являются:

· перед покупателями - своевременные поставки качественного товара;

· перед работниками - достойные условия работы и оплаты труда;

· соблюдение требований лицензий промышленной и экологической безопасности.

Автомагазин работает с большим количеством покупателей, заказами и поставщиков поэтому для данной предметной области необходимо создать Базу данных, называемую «Автомагазин», которая позволит хранить эти данные в удобном для использования виде, получать доступ к необходимой информации в любой момент времени, редактировать данные по мере изменения. Пользователями созданной Базы данных будут сотрудники автомагазина.

Целью данного курсового проектирования является создание базы данных «Автомагазин», которая обеспечит повышение эффективности работы сотрудников с заказами покупателей, ведение учета всех товаров в автомагазине.

Для достижения поставленной цели должны быть выполнены следующие задачи:

1. обзор предметной области

2. обзор средств разработки

3. Разработка модели предметной области (BPwin)

4. Выборы инструментария для программного продукта

5. логическая модель (ERwin)

6. реализация программного продукта

7. обзор литературы

Глава 1. Предпроектная часть

1.1 Описание предметной области

Работа автомагазина осуществляется с юридическими и физическими лицами. В автомагазине работают несколько продавцов, один директор и юрист. И продавцы, и директор участвуют в формировании заявки поставщику, которая составляется на основании отчетов по проданным товарам. Директор осуществляет работу с банком и участвует в получении товара от поставщика и доставке этого товара в автомагазин. Продавцы выполняют непосредственно продажу и регистрацию полученного в автомагазин товара и проданного. Юрист в свою очередь подготавливает необходимые документы, различные контракты, представлять организации на переговорах или в суде.

Организация, формируя заказы, может закупать товар у разных поставщиков. Оплата с поставщиком производится через банк, то есть по банковскому расчету. Отправленный поставщиком товар поступает на определённый склад, а потом уже и в магазин. К товару прилагаются документы.

В автомагазине выполняются следующие функции:

· Осуществление закупок у поставщика.

· Осуществление продажи товара.

· Отчёты о деятельности предприятия.

Осуществление закупок у поставщика разбивается на несколько функций:

· Анализ отчетов по продажам.

· Составление заявки для поставщика на закупку необходимой партии товаров.

· Отправка заявки поставщику по факсу.

· Получение счета от поставщика.

· Составление платежного поручения.

· Оплата счета через банк.

· Получение товара от поставщика с документами.

· Доставка товара на склад.

· Доставка товара в автомагазин.

· Регистрация доставленного товара.

Осуществление продаж разбивается на следующие функции:

· Общение с покупателем.

· Подбор модели автомобиля.

· Печать чека.

· Выдача товара покупателю вместе с чеком.

· Регистрация проданного товара.

Отчёты о деятельности предприятия:

· Отчет по реализации товара

· Отчет по остаткам товаров на складе

· Отчет по поступлению товаров

1.2 Разработка модели предметной области

Разработка модели предметной области предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Сначала проводится описание системы и ее взаимодействия с окружающим миром (Рис. 1), после чего проводится функциональная декомпозиция - система разбивается на подсистемы и каждая подсистема описывается отдельно (Рис. 2). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.

Рисунок 1. Общий процесс обслуживание клиента - IDEF0 диаграмма

Рисунок 2. Более подробный процесс обслуживания клиента

Глава 2. Стадия проектирования

2.1 Выборы инструментария для программного продукта

При написании базы данных самым важным этапом является выбор СУБД и языка программирования, на котором будет написано приложение для работы с базой данных.

Существует много языков для создания баз данных:

C# - это язык программирования, предназначенный для разработки различных приложений, предназначенных для выполнения в среде NET Framework. Язык C# прост, объектно-ориентирован. Благодаря множеству нововведений C# обеспечивает возможность быстрой разработки приложений. C# относится к C-подобному синтаксису, из них его синтаксис наиболее близок к C++.

Плюсы:

· подлинная объектная ориентированность.

· компонентно-ориентированное программирование.

· унифицированная система типизации.

· поддержка событийно-ориентированного программирования.

· объединение лучших современных языков программирования: Java,C++, Visual Basic.

Минусы:

· Не хватает детерминированных деструкторов.

· виртуальных конструкторов.

· оператора with.

· Бессмысленный break в switch.

C++ - Язык, представляет собой набор команд, которые говорят компьютеру, что необходимо сделать. Этот набор команд, обычно называется исходный код или просто код. Командами являются или «функции», или «ключевые слова». Ключевые слова - зарезервированные слова С/С++ являются основными строительными блоками языка. Функции являются сложными строительными блоками, так как записаны они в терминах более простых функций. Такая структура функций напоминает содержание книги. Содержание может показывать главы книги, каждая глава в книге может иметь своё собственное содержание, состоящее из пунктов, каждый пункт может иметь свои подпункты. Хотя C++ предоставляет много общих функций и зарезервированных слов, которые вы можете использовать.

Плюсы:

· Масштабируемость.

· Возможность работы на низком уровне с памятью, адресами, портами.

· Возможность создания обобщенных алгоритмов для разных типов данных.

Минусы:

· Трудноуловимая ошибка.

· Плохая поддержка модульности.

· Недостаток информации о типах данных во время компиляции (CTTI).

Язык C++ является сложным для изучения и для компиляции.Visual Basic - это универсальный язык программирования для начинающих. Microsoft Visual Basic - средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования, и среду разработки. Visual Basic является хорошим средством быстрой разработки приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые Visual Basic реализует автоматически.

Плюсы:

· Visual Basic отличается от других языков программирования своей простотой и наглядностью.

· Visual Basic динамично развивающийся язык.

· Visual Basic встроен в программы: Word, Excel и др. С его помощью можно управлять этими программами из других программ.

· Visual Basic - это объектно-ориентированный язык.

Минусы:

· Поддержка операционных систем только семейства Windows и Mac OS.

· Отсутствие полноценного механизма наследования реализации объектов.

· Практически все встроенные функции языка реализованы через библиотеку времени исполнения.

Delphi - это среда разработки программ, ориентированных на работу в операционных системах Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Как следует из его названия, этот язык также воплотил концепцию объектно-ориентированного программирования. С помощью Delphi можно создавать различные типы программ: консольные приложения, оконные приложения, приложения для работы с базами данных. В консольных приложениях для ввода и вывода данных используются процедуры: Read, Readln, Write, Writeln.

Плюсы:

· Максимальная простота.

· Гибкость и универсальность при работе с базами данных.

· Быстрый компилятор.

· Мощные средства отладки приложений.

· Хорошая справочная система.

· Имеется возможность изучения внутреннего устройства Delphi.

· Легкая расширяемость.

· Возможность разработки кроссплатформенных приложений для Windows и Linux.

Минусы:

· Больший размер результирующих exe-файлов.

· Некоторая сложность при использовании Windows API.

· Необходимость установки на целевую машину драйверов Borland Database Engine.

Microsoft Visual Studio - это интегрированная среда разработки от Microsoft, основной инструмент разработки приложений для платформы .NET и Windows в целом. В этом приложении можно разрабатывать приложения на языках C#, VB.NET, F# и C++/CLI. Также доступны дополнения, позволяющие программировать в Visual Studio на языках Python, Ruby и других. Visual Studio обладает широкими возможностями и в этом многообразии легко запутаться. Базовые средства для разработки интуитивно понятны, но некоторые из возможностей постоянно вызывают затруднения у начинающих программистов. Так же в Visual Studio можно подключать, редактировать и разрабатывать базы данных.

Плюсы:

· Бесплатность.

· комплексность - множество инструментов в одном.

Минусы:

· отсутствие или не очень хороший IntelliSense для некоторых синтаксисов.

Язык программирования 1С - язык программирования, который используется для разработки приложения на базе платформы 1С предприятие. Данный язык является предварительно компилируемым предметно-ориентированным языком высокого уровня. Создание новых классов програмно в языке 1С 8.3 запрещен. Так как платформа 1С предприятие специализирована для задач учета -- состав классов заранее предопределен:

· документы

· справочники

· регистры накопления и т.д.

На основании стандартных классов можно в конфигураторе создать любое количество подклассов, имеющих свои наборы. С помощью модулей менеджеров можно незначительно расширить функционал подкласса.

ERwin - это средство проектирования, но и инструмент разработки, способный автоматически создавать таблицы и генерировать тысячи строк текста хранимых процедур и триггеров для всех популярных СУБД. Благодаря интеграции с популярными средами разработки программ, ERwin позволяет ускорить создание приложений для обработки данных. ERwin может масштабироваться путем интеграции с продуктом PLATINUM ModelMart. Эта мощная система управления моделями позволяет проектировщикам баз данных разработчикам приложений и пользователям коллективно работать с информацией о моделях ERwin. Благодаря возможностям разбиения на фрагменты, а также совместного и многократного использования моделей, может быть повышена эффективность моделирования и обеспечено соблюдение корпоративных стандартов.

BPwin - является достаточно развитым средством моделирования, позволяющим проводить анализ, документирование и улучшение бизнес процессов. С его помощью можно моделировать действия в процессах, определять их порядок и необходимые ресурсы. Модели BPwin создают структуру, необходимую для понимания бизнес процессов, выявления управляющих событий и порядка взаимодействия элементов процесса между собой. BPwin поддерживает функциональное моделирование, моделирование потока работ и потока данных. Соответствующие диаграммы реализованы на основе стандартов IDEF0, IDEF3 и DFD. Функциональное моделирование дает возможность осуществлять систематизированный анализ бизнес процессов, обращая внимание на регулярно выполняемые задачи.

SQL ServerManagementStudio - это интегрированная среда для доступа, настройки, управления, администрирования и разработки всех компонентов SQL Server. SQL ServerManagementStudio объединяет большое число графических средств с набором полнофункциональных редакторов сценариев для доступа к SQL Server разработчиков и администраторов с любым опытом работы. SQL ServerManagementStudio объединяет в едином интерфейсе возможности программ Enterprise Manager, Query Analyzer и Analysis Manager, входивших в состав более ранних выпусков SQL Server. Кроме того, SQL ServerManagementStudio работает со всеми компонентами SQL Server, например, со службами Reporting Services, Integration Services.

Плюсы:

· Независимость от конкретной СУБД.

· Наличие стандартов.

· Декларативность.

Минусы:

· Несоответствие реляционной модели данных.

· Сложность.

· Отступления от стандартов.

· Сложность работы с иерархическими структурами.

Для разработки программного обеспечения, использовалось следующие программные средства: «SQL ServerManagementStudio» и «Microsoft Visual Studio».

2.2 Разработка логической модели

Логическая модель - это графическое представление структуры базы данных с учетом принимаемой модели данных, в данном случае - реляционной. Независимое от конечной реализации базы данных и аппаратной платформы. На (Рис. 3) и (Рис. 4) более подробно изображена схема, логической модели базы данных.

Рисунок 3. Логическая модель ERwin

Рисунок 4. Логическая модель SQL Server

2.3 Разработка физической модели

Физическая модель - определяет способ размещения данных в среде хранения и способы доступа к этим данным, которые поддерживаются на физическом уровне. На (Рис. 5) и (Рис. 6) более подробно изображена схема, физической модели базы данных.

Рисунок 5. Физическая модель ERwin

Рисунок 6. Физическая модель SQL Server

Глава 3. Стадия реализации проекта

3.1 Серверная часть

Серверная часть реализует внутреннюю работу всей БД и предоставляет клиентской части интерфейс для управления БД. При реализации базы данных «Автомагазин» с помощью SQL Server было создано: 10 таблиц, 9 запросов,5 триггеров и 9 хранимых процедур.

3.1.1 Создание таблиц:

Для таблицы «КодСтран» были созданы поля: «КодСтраны» и «Страна». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодСтраны» (Рис. 7).

Рисунок 7. Таблица «КодСтран»

Для таблицы «Поставщик» были созданы поля: «КодПоставщика», «Фамилия», «Имя» «Отчество», «Телефон», «Адрес» и «КодСтраны». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодПоставщика», а внешним ключом является «КодСтраны» (Рис. 8).

Рисунок 8. Таблица «Поставщик»

Для таблицы «Машина» были созданы поля: «КодМашины», «Название», «Модель», «Цвет», «Обивка», «КоличествоДверей», «Цена», «МощностьДвигателя», «привод», «КодПоставщика» и «КодСклада». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодМашины», а внешними ключами являются: «КодПоставщика» и «КодСклада» (Рис. 9).

Рисунок 9. Таблица «Машина»

Для таблицы «Склад» были созданы поля: «КодСклада», «Адрес», «Телефон» и «Название». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодСклада» (Рис. 10).

Рисунок 10. Таблица «Склад»

Для Таблицы «Поступление» были созданы поля: «КодПоступления», «КодМагазина», «КодСклада», «ДатаПоступления», «КодМашины» и «Количество». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодПоступления», а внешними ключами являются: «КодМагазина», «КодСклада» и «КодМашины» (Рис. 11).

Рисунок 11. Таблица «Поступление»

Для таблицы «Магазин» были созданы поля: «КодМагазина», «Название», «Адрес», «Телефон», «ФамилияДиректора», «ИмяДиректора» и «ОтчествоДиректора». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодМагазина» (Рис. 12).

Рисунок 12. Таблица «Магазин»

Для таблицы «Должности» были созданы поля: «КодДолжности» и «Должность». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодДолжности» (Рис. 13).

Рисунок 13. Таблица «Должности»

Для таблицы «Работник» были созданы поля: «КодРаботника», «Фамилия», «Имя», «Отчество», «КодМагазина», «ДатаРождения», «Пол», «Телефон», «КодДолжности», «Зарплата» и «ДатаНачалаРаботы». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодРаботника», а внешним ключом является «КодДолжности» (Рис. 14).

Рисунок 14. Таблица «Работник»

Для таблицы «Покупатели» были созданы поля: «КодПокупателя», «ФамилияПокупателя», «ИмяПокупателя», «ОтчествоПокупателя», «Пол», «Телефон» и «Адрес». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодПокупателя» (Рис. 15).

Рисунок 15. Таблица «Покупатели»

Для таблицы «ЗаказПокурателя» были созданы поля: «КодЗаказа», «ДатаЗаказа», «КодПокупателя», «КодМагазина», «Количество», «Цена» и «КодМашины». Для каждого поля был определён свой тип. Первичным ключом для данной таблицы является «КодЗаказа», а внешними ключами являются: «КодПокупателя», «КодМагазина» и «КодМашины» (Рис. 16).

Рисунок 16. Таблица «ЗаказПокупателя»

3.1.1 Создание Запросов

Запросы используются для просмотра, изменения и анализа данных. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным. Для создания запросов используется язык SQL, который включает:

Запрос 1:

Данный запрос позволяет на основе информации из таблиц «Поставщик» и «Машина» сформировать результат, который выводит ФИО Поставщика его телефон, страну, название и модель машины которую он поставил (Рис.17).

Рисунок 17. Запрос №1

Результаты выполненного запроса приведён ниже (Рис. 18).

Рисунок 18. Результат «Запроса №1»

Запрос 2:

Данный запрос позволяет на основе информации из таблиц «Склад» и «Машина» сформировать результат, который выводит на каком складе находится машины (Рис. 19).

Рисунок 19. Запрос №2

Результаты выполненного запроса приведён ниже (Рис. 20).

Рисунок 20. Результат «Запроса №2»

Запрос 3:

Данный запрос позволяет на основе информации из таблиц «Магазин», «Поступление», «Склад» и «Машина» сформировать результат, который выводит какие машины были поставлены в Магазин “АвтоЛидер” (Рис. 21).

Рисунок 21. Запрос №3

Результаты выполненного запроса приведён ниже (Рис. 22).

Рисунок 22. Результат «Запроса №3»

Запрос 4:

Данный запрос позволяет на основе информации из таблиц «Работник», «Должности» и «Магазин» сформировать результат, который выводит работника с должностью “Юрист” и с датой начала работы “2010/02/20” (Рис. 23).

Рисунок 23. Запрос №4

Результаты выполненного запроса приведён ниже (Рис. 24).

Рисунок 24. Результат «Запроса №4»

Запрос 5:

Данный запрос позволяет на основе информации из таблиц «Покупатели», «ЗаказПокупателя», «Магазин» и «Машина» сформировать результат, который выводит покупателей, заказывающих какую-либо машину (Рис. 25).

Рисунок 25. Запрос №5

Результаты выполненного запроса приведён ниже (Рис. 26).

Рисунок 26. Результат «Запроса №5»

Запрос 6:

Данный запрос позволяет на основе информации из таблицы «Работник» сформировать результат, который выводит работника, у которого пол “муж” и зарплата больше 20000 (Рис. 27).

Рисунок 27. Запрос №6

Результаты выполненного запроса приведён ниже (Рис. 28).

Рисунок 28. Результат «Запроса №6»

Запрос 7:

Данный запрос позволяет на основе информации из таблицы «Покупатели» сформировать результат, который выводит покупателей, которые не приобрели машину (Рис. 29).

Рисунок 29. Запрос №7

Результаты выполненного запроса приведён ниже (Рис. 30).

Рисунок 30. Результат «Запроса №7»

Запрос 8:

Данный запрос позволяет на основе информации из таблиц «Поставщик», «Машина», «Поступление» и «ЗаказПокупателя» сформировать результат, который выводит сколько осталось машин после продажи (Рис. 31).

Рисунок 31. Запрос №8

Результаты выполненного запроса приведён ниже (Рис. 32).

Рисунок 32. Результат «Запроса №8»

3.1.2 Создание Хранимыx Процедур

Хранимые процедуры представляют собой набор команд SQL Server, которые могут компилироваться и храниться на сервере. Таким образом, вместо того, чтобы хранить часто используемый запрос, клиенты могут ссылаться на соответствующую хранимую процедуру. Это обеспечивает лучшую производительность, поскольку данный запрос должен анализироваться только однажды и уменьшается трафик между сервером и клиентом.

Хранимая процедура 1:

Данная хранимая процедура обеспечивает возможность создания нового поставщика или удаления уже существующего поставщика (Рис. 33).

Рисунок 33. Хранимая процедура №1

Вызов хранимой процедуры (Рис. 34) и (Рис. 35).

Рисунок 34. Добавить

Рисунок 35. Удалить

Хранимая процедура 2:

Данная хранимая процедура обеспечивает вывод информации по определённому заказу из таблиц «Покупатели», «ЗакаПокупателя», «Магазин» и «Машина» (Рис. 36).

Рисунок 36. Хранимая процедура №2

Вызов хранимой процедуры (Рис. 37)

Рисунок 37. Вызов хранимой процедуры №2

Хранимая процедура 3:

Данная хранимая процедура обеспечивает вывод информации по определённому коду машины из таблиц «Машина», «Поставщик» и «Склад» (Рис. 38).

Рисунок 38. Хранимая процедура №3

Вызов хранимой процедуры (Рис. 39)

Рисунок 39. Вызов хранимой процедуры №3

Хранимая процедура 4:

Данная хранимая процедура обеспечивает вывод информации по определённому коду поставщика из таблиц «Поставщик», «Машина» и «Поступление» (Рис. 40).

Рисунок 40. Хранимая процедура №4

Вызов хранимой процедуры (Рис. 41)

Рисунок 41. Вызов хранимой процедуры №4

Хранимая процедура 5:

Данная хранимая процедура обеспечивает обновление информации по коду склада в таблице «Склад» (Рис. 42).

Рисунок 42. Хранимая процедура №5

Вызов хранимой процедуры (Рис. 43).

Рисунок 43. Вызов хранимой процедуры №5

Хранимая процедура 6:

Данная хранимая процедура обеспечивает вывод информации где условие будет: название машины и модель машины из таблиц «Поставщик», «Машина», «Поступление», «ЗаказПокупателя» и вычисляет остаток товара (Рис.44).

Рисунок 44. Хранимая процедура №6

Вызов хранимой процедуры (Рис. 45).

Рисунок 45. Вызов хранимой процедуры №6

3.1.3 Создание Триггеров

Триггеры - это один из видов программных объектов СУБД, поддерживаемых SQL Server. Каждый триггер связан с одной из таблиц данных, входящих состав базы данных. С каждой такой таблицей может быть связано несколько триггеров. Основное назначение триггеров состоит в автоматическом использовании их в качестве реакции на некоторые события, происходящие с таблицами, с которыми связанны триггеры.

Триггер 1:

Данный триггер контролирует обновление информации в таблице «Склад» по коду склада (Рис. 46).

Рисунок 46. Триггер №1

Триггер 2:

Данный триггер контролирует удаление информации из таблицы «Работник» по коду работника (Рис. 47).

Рисунок 47. Триггер №2

Триггер 3:

Данный триггер контролирует добавление информации в таблицу «Работник» где поле «пол» должно равнятся “муж” или “жен” в противном случае будет остановка добовления записи (Рис. 48).

Триггер 4:

Данный триггер контролирует добавление информации в таблицу «Машина» где поле «Цена» не может быть больше или равна 0 в противном случае будет остановка добовления записи (Рис. 49).

Рисунок 48. Триггер №3

Рисунок 49. Триггер №4

Триггер 5:

Данный триггер контролирует добавление информации в таблицу «ЗаказПокупателя», если поле «ДатаЗаказа» будет пустым, то будет автоматически выставляться сегодняшняя дата (Рис. 50).

Рисунок 50. Триггер №5

3.2 Клиентская часть

Клиентская часть - это фактически та программа, которой мы пользуемся у себя на компьютере.

Клиентская часть была реализованная в программе Microsoft Visual Studio, включает в себя формы и отчёты.

На (Рис. 51) изображенна основная форма программы, на которой находится меню состаящие из вкладок: «Основные данные», «Заказы Покупателей», «Покупатели», «Магазин», «Отчёты», «Запросы» и «Выход».

Формы

Рисунок 51. Главное меню

Переходим на вкладку Основный данные и выбираем пункт «Поставщики», далее нам открывается форма «Поставщики» которая содержит таблицу и кнопки котрые отвечают за добавление, удаление и закрытие формы (Рис. 52).

Рисунок 52. Поставщики

Переходим на вкладку «Добавить поставщика» на ней можно вводить информацию о поставщике и сохранять её в базе данных (Рис. 53).

Рисунок 53. Добавить поставщика

Выбираем пункт «Машины», нам открывается форма, на которой располагается таблица, содержащая информацию о машинах. Где можно добавлять и удалять информацию (Рис. 54).

Рисунок 54. Машины

Выбираем пункт «Склады», нам открывается форма, на которой располагается таблица, содержащая информацию о складах. Также форма содержит кнопки, которые отвечают за Добавление, Удаление и Закрытие самой формы (Рис. 55).

Рисунок 55. Склады

Переходим на вкладку «Добавить склад» на ней можно вводить информацию о складе и сохранять её в базе данных (Рис. 56).

Рисунок 56. Добавить Склад

Выбираем пункт «Поставки», нам открывается форма на которой располагается таблица, содержащая информацию о поставках. Где можно добавлять и удалять информацию (Рис. 57).

Рисунок 57. Поставки

Выбираем пункт «Работники», нам открывается форма, на которой располагается таблица, содержащая информацию о работниках. Также форма содержит кнопки, которые отвечают за Добавление, Удаление и Закрытие самой формы (Рис. 58).

Рисунок 58. Работники

Переходим на вкладку «Добавить работника» на ней можно вводить информацию о работнике и сохранять её в базе данных (Рис. 59).

Рисунок 59. Добавить работника

Выбираем пункт «Должности», нам открывается форма, на которой располагается таблица, содержащая информацию о должностях. Также форма содержит кнопку, которая отвечают за закрытие самой формы (Рис. 60).

Рисунок 60. Должности

Выбираем пункт «Страны», нам открывается форма, на которой располагается таблица, содержащая информацию о странах. Также форма содержит кнопку, которая отвечают за закрытие самой формы (Рис. 61).

Рисунок 61. Страны

Из главного меню выбираем вкладку «Заказы покупателей», нам открывается форма, на которой располагается таблица, содержащая информацию о заказах покупателей. Также форма содержит кнопку, которая отвечает за закрытие самой формы (Рис. 62).

Рисунок 62. Заказы покупателей

Из главного меню выбираем вкладку «Покупатели», нам открывается форма, на которой располагается таблица, содержащая информацию о покупателях. Также форма содержит кнопки, которые отвечают за Добавление, Удаление и Закрытие самой формы (Рис. 63).

Рисунок 63. Покупатели

После нажатия кнопки «Добавить покупателя» (Рисунок 63) нам открывается форма, на которой мы вводим информацию о покупателе и сохраняем её в базе данных (Рис. 64).

Рисунок 64. Добавление покупателя

Из главного меню выбираем вкладку «Магазин», нам открывается форма, на которой располагается таблица, содержащая информацию Магазинах, кнопки, которые отвечают за удаление, добавление и закрытие формы, а также на этой форме мы можем вводить новые данные о магазине (Рис. 65).

Рисунок 65. Магазин

Из главного меню выбираем вкладку «Отчёт», нам открывается форма, на которой располагается кнопки отображающие отчёты по таблицам: «Покупатели», «Заказы Покупателей», «Магазины», «Работники», «Поступление», «Машины», «Поставщики», «Склады» и «Остаток машин» (Рис. 66).

Рисунок 66. Отчёты

Из главного меню выбираем вкладку «Запросы», нам открывается форма, на которой располагается кнопки отображающие отчёты по определённым условиям (Рис. 67).

Рисунок 67. Запросы

Отчёты

На данном отчёте изображенная полная информация, сколько машин осталось после заказов клиентов (Рис. 68).

Рисунок 68. Отчёт сколько осталось машин

Отчет "Отчёт о складах" содержит информацию о складах: адрес, телефон, название (Рис. 69).

Рисунок 69. Отчёт о складах

Отчет "Отчёт о поставщиках" содержит информацию о поставщиках: фамилия, имя, отчество, телефон, адрес, страна (Рис. 70).

Рисунок 70. Отчёт о поставщиках

Отчет "Отчёт о машинах" содержит информацию о машинах: название, модель, цвет, обивка, количество дверей, цена, Мощность Двигателя, привод, поставщик и название склада (Рис. 71) и (Рис. 72).

Рисунок 71. Отчёт о машинах

Рисунок 72. Отчёт о машинах

Отчет "Отчёт о поступлениях" содержит информацию о поступлениях: название магазина, название склада, дата поступления, название, модель, количество (Рис. 73) и (Рис. 74).

Рисунок 73. Отчёт о поступлениях

Рисунок 74. Отчёт о поступлениях

Отчет "Отчёт о работниках" содержит информацию о работниках: код работника, фамилия, имя, отчество, название магазина, где работает работник, дата рождения, пол, телефон, должность, зарплата, дата начала работы (Рис. 75).

база данный учет товар автомагазин

Рисунок 75. Отчёт о работниках

Отчет "Отчёт о магазинах" содержит информацию о магазинах: код магазина, название, адрес, телефон, фамилия директора, имя директора, отчество директора (Рис. 76).

Рисунок 76. Отчёт о магазинах

Отчет "Отчёт о заказах покупателей" содержит информацию о заказах покупателей: код заказа, дата заказа, покупатель, название магазина, количество, цена, название (Рис. 77).

Рисунок 77. Отчёт о заказах покупателей

Отчет "Отчёт о покупателях" содержит информацию о покупателях: код покупателя, фамилия, имя, отчество, пол, телефон, адрес (Рис. 78)

Рисунок 78. Отчёт о покупателях

Отчёты по запросам

Данный отчёт выводит всю информацию о машине по условию, где КодМашины равняется тому числу, которое мы ввели (Рис. 79).

Рисунок 79. Отчёт по определённой машине

Данный отчёт выводит всю информацию о работнике по условию, что работник начал работать в период с 26/11/2015 по 10/03/2017 (Рис. 80).

Рисунок 80. Определённый период

Данный отчёт выводит всю информацию о магазине по условию, где КодМагазина будет равняться тому числу, которое мы ввели (Рис. 81).

Рисунок 81. Определённый магазин

Данный отчёт выводит всю информацию о заказе по условию, где КодЗаказа будет равняться тому числу, которое мы ввели (Рис. 82).

Рисунок 82. Определённый заказ

Данный отчёт выводит всю информацию о поставщике, сколько он поставил машин по условию, где КодПоставщика будет равняться тому числу, которое мы ввели (Рис. 83).

Рисунок 83. Определённый заказ

Данный отчёт выводит всю информацию о машине, где название и модель будет равняться тому условию, которое мы ввели (Рис. 84).

Рисунок 84. Определённая машина

Глава 4. Эксплуатация и сопровождения проекта

Эксплуатация базы данных «Автомагазин» производится сотрудниками магазина. При введении базы данных «Автомагазин» была обеспеченна повышенная эффективность работы сотрудников с заказами покупателей, ведение учета всех товаров в автомагазине.

Сопровождение базы данных «Автомагазин» осуществляется системным программистом, который также выполняет функции администратора.

Должностные обязанности:

· Программное сопровождение SQL ServerManagementStudio и Microsoft Visual Studio.

· Модификация существующих документов, отчетов, таблиц, запросов.

· Создание новых документов, отчетов, таблиц, запросов.

· Обучение персонала в работе с существующими и вновь создаваемыми документами и отчетами.

· Создание документации к программному продукту.

Кроме того, в обязанности системного администратора входит изменение конфигурации системы и первичный анализ возникающих неполадок, разработка отчетных форм.

Заключение

В данной курсовой работе была создана база данных «Автомагазин», направленная на облегчения работы работникам автомагазина.

В состав базы данных «Автомагазин» входят:

· Таблицы, между которыми была установлена связь.

· Запросы, созданные для выборочного просмотра информации.

· Хранимые процедуры, которые могут компилироваться и храниться на сервере.

· Триггеры, которые автоматически срабатывают, когда с таблицами происходит какое-либо изменение.

Для удобного пользования базой данных «Автомагазин» была создана программа, в которой было реализовано следующие:

· Формы, на которых находились таблицы базы данных.

· Формы, на которых мы могли вносить данные в таблицы.

· Отчёты, по всем таблицам и запросам.

Научились создавать базы данных в SQL Server Management Studio, также научились создавать запросы, хранимые процедуры и триггеры.

Приобрели навыки при создании программы в Microsoft Visual Studio.

Научились работать в Crystal Reports Viewer.

Список используемой литературы

1. Фрэйн Б. Базы данных. Разработка приложений. Питер: Эксмо, 2006.210 c.

2. Петр А.Т. SQL. Сборник рецептов. Москва: Эксмо, 2014. 240 с.

3. Гаевский А.Ю. Введение в реляционные базы данных. Москва: Триумф, 2008. 245 c.

4. Никсон Р. Системы управления базами данных и знаний Санкт-Петербург: Эксмо, 2013. 175 c.

Приложение

Форма «автомагазин» содержит

public partial class Автомагазин: Form

{

public Автомагазин()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Покупатели Покупатели = new Покупатели();

Покупатели.Show();

}

private void выходToolStripMenuItem1_Click(object sender, EventArgs e)

{

this.Close();

}

private void даныыеОПоставщикеToolStripMenuItem_Click(object sender,

EventArgs e)

{

Поставщик даныыеОПоставщике = new Поставщик();

даныыеОПоставщике.Show();

}

private void данныеОМашинахToolStripMenuItem_Click(object sender,

EventArgs e)

{

Машина данныеОМашинах = new Машина();

данныеОМашинах.Show();

}

private void данныеОСкладеToolStripMenuItem_Click(object sender,

EventArgs e)

{

Склады данныеОСкладе = new Склады();

данныеОСкладе.Show();

}

private void данныеОПоставкахToolStripMenuItem_Click(object sender,

EventArgs e)

{

Поставки данныеОПоставках = new Поставки();

данныеОПоставках.Show();

}

private void данныеОРаботникеToolStripMenuItem_Click(object sender,

EventArgs e)

{

Работник данныеОРаботнике = new Работник();

данныеОРаботнике.Show();

}

private void заказыПокупателейToolStripMenuItem_Click(object sender,

EventArgs e)

{

ЗаказыПокупателей заказыПокупателей = new ЗаказыПокупателей();

заказыПокупателей.Show();

}

private void магазиныToolStripMenuItem_Click(object sender, EventArgs

e)

{

Магазин магазины = new Магазин();

магазины.Show();

}

private void отчётыToolStripMenuItem_Click(object sender, EventArgs e)

{

Отчёты отчёты = new Отчёты();

отчёты.MdiParent = this;

отчёты.Show();

}

private void menuStrip1_ItemClicked(object sender,

ToolStripItemClickedEventArgs e)

{

}

private void второстепенныеОтчётыToolStripMenuItem_Click(object

sender, EventArgs e)

{

Второстепенные_отчёты второстепенныеОтчёты = new

Второстепенные_отчёты();

второстепенныеОтчёты.MdiParent = this;

второстепенныеОтчёты.Show();

}

private void данныеОДолжностяхToolStripMenuItem_Click(object sender,

EventArgs e)

{

Должности должности = new Должности();

должности.Show();

}

private void странахToolStripMenuItem_Click(object sender, EventArgs e)

{ Страны города = new Страны();

города.Show();

}

private void основныеОтчётыToolStripMenuItem_Click(object sender,

EventArgs e)

{ Отчёты отчёты = new Отчёты();

отчёты.MdiParent = this;

отчёты.Show();

}

Форма «покупатели» содержит

public partial class Покупатели : Form

{

SqlConnection conn = null;

public Покупатели()

{

InitializeComponent();

}

private void Покупатели_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Магазин". При необходимости она может быть

перемещена или удалена.

this.магазинTableAdapter.Fill(this.автомагазинDataSet.Магазин);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Покупатели". При необходимости она может быть

перемещена или удалена.

this.покупателиTableAdapter.Fill(this.автомагазинDataSet.Покупатели);

}

private void button1_Click(object sender, EventArgs e)

{

Добавление_покупателя Добавление_покупателя = new

Добавление_покупателя();

Добавление_покупателя.Show();

}

private void button3_Click(object sender, EventArgs e)

{

this.Close();

}

private void button2_Click(object sender, EventArgs e)

{

int КодПокупателя =

int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cell

s["КодПокупателяDataGridViewTextBoxColumn"].Value.ToString());

DialogResult result = MessageBox.Show("Вы удаляете покупателя:" +

Convert.ToString(КодПокупателя) + "?",

"Внимание!!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning,

MessageBoxDefaultButton.Button1);

switch (result)

{

case DialogResult.OK:

{

try

{

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "Delete from Покупатели where

КодПокупателя=@КодПокупателя";

myCommand.Parameters.Add("@КодПокупателя", SqlDbType.Int, 4);

myCommand.Parameters["@КодПокупателя"].Value = КодПокупателя;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("готово", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.покупателиTableAdapter.Fill(this.автомагазинDataSet.Покупатели);

break;

}

}

}

Форма «поставщик» содержит

public partial class Поставщик : Form

{

SqlConnection conn = null;

public Поставщик()

{

InitializeComponent();

}

private void Поставщик_Load(object sender, EventArgs e)

{

TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet2.Поставщик"

При необходимости она может быть перемещена или удалена.

this.поставщикTableAdapter.Fill(this.автомагазинDataSet2.Поставщик);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet1.КодСтран". При необходимости она может быть

перемещена или удалена.

this.кодСтранTableAdapter.Fill(this.автомагазинDataSet1.КодСтран);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Поставщик". При необходимости она может быть

перемещена или удалена.

this.поставщикTableAdapter.Fill(this.автомагазинDataSet.Поставщик);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet1.Поставщик". При необходимости она может

быть перемещена или удалена.

this.поставщикTableAdapter.Fill(this.автомагазинDataSet1.Поставщик);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.КодСтран". При необходимости она может быть

перемещена или удалена.

this.кодСтранTableAdapter.Fill(this.автомагазинDataSet.КодСтран);

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Поставщик". При необходимости она может быть

перемещена или удалена.

this.поставщикTableAdapter.Fill(this.автомагазинDataSet.Поставщик);

}

private void label1_Click(object sender, EventArgs e)

{

}

private void dataGridView1_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

}

private void label3_Click(object sender, EventArgs e)

{

}

private void button3_Click(object sender, EventArgs e)

{

try

{

string Фамилия = Convert.ToString(this.textBox2.Text);

string Имя = Convert.ToString(this.textBox3.Text);

string Отчество = Convert.ToString(this.textBox4.Text);

string Телефон = Convert.ToString(this.textBox1.Text);

int КодСтраны = int.Parse(this.comboBox1.SelectedValue.ToString());

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "INSERT INTO Поставщик

(Фамилия,Имя,Отчество,Телефон,КодСтраны) VALUES

(@Фамилия,@Имя,@Отчество,@Телефон,@КодСтраны)";

myCommand.Parameters.Add("@Фамилия", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Фамилия"].Value = Фамилия;

myCommand.Parameters.Add("@Имя", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Имя"].Value = Имя;

myCommand.Parameters.Add("@Отчество", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Отчество"].Value = Отчество;

myCommand.Parameters.Add("@Телефон", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Телефон"].Value = Телефон;

myCommand.Parameters.Add("@КодСтраны", SqlDbType.Int, 4);

myCommand.Parameters["@КодСтраны"].Value = КодСтраны;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("Изменения внесены", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.поставщикTableAdapter.Fill(this.автомагазинDataSet.Поставщик);

this.tabControl1.SelectedTab = tabPage1;

}

private void label2_Click(object sender, EventArgs e)

{

}

private void button2_Click(object sender, EventArgs e)

{

int КодПоставщика =

int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cell

s["КодПоставщикаDataGridViewTextBoxColumn"].Value.ToString());

DialogResult result = MessageBox.Show("Вы удаляете поставщика №" +

Convert.ToString(КодПоставщика) + "?",

"Предупреждение", MessageBoxButtons.YesNo,

MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

switch (result)

{

case DialogResult.Yes:

{

try

{

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "Delete from Поставщик where

КодПоставщика=@КодПоставщика";

myCommand.Parameters.Add("@КодПоставщика", SqlDbType.Int, 4);

myCommand.Parameters["@КодПоставщика"].Value = КодПоставщика;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("Изменения внесены", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.поставщикTableAdapter.Fill(this.автомагазинDataSet.Поставщик);

break;

}

}

}

private void button1_Click(object sender, EventArgs e)

{

this.tabControl1.SelectedTab = tabPage2;

}

private void button4_Click(object sender, EventArgs e)

{

this.tabControl1.SelectedTab = tabPage1;

}

private void button5_Click(object sender, EventArgs e)

{

this.Close();

}

}

Форма «склады» содержит

public partial class Склады : Form

{

SqlConnection conn = null;

public Склады()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Склад". При необходимости она может быть

перемещена или удалена.

this.складTableAdapter.Fill(this.автомагазинDataSet.Склад);

}

private void label3_Click(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

try

{

string Адрес = Convert.ToString(this.textBox1.Text);

long Телефон = long.Parse(this.textBox2.Text.ToString());

string Название_Склада = Convert.ToString(this.textBox3.Text);

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "INSERT INTO Склад

(Адрес,Телефон,Название) VALUES

(@Адрес,@Телефон,@Название_Склада)";

myCommand.Parameters.Add("@Адрес", SqlDbType.NVarChar, 30);

myCommand.Parameters["@Адрес"].Value = Адрес;

myCommand.Parameters.Add("@Телефон", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Телефон"].Value = Телефон;

myCommand.Parameters.Add("@Название_Склада",

SqlDbType.NVarChar, 20);

myCommand.Parameters["@Название_Склада"].Value =

Название_Склада;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("Данные внесены", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.складTableAdapter.Fill(this.автомагазинDataSet.Склад);

this.tabControl1.SelectedTab = tabPage1;

}

private void button2_Click(object sender, EventArgs e)

{

int КодСклада =

int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cell

s["КодСкладаDataGridViewTextBoxColumn"].Value.ToString());

DialogResult result = MessageBox.Show("Вы удаляете склад:" +

Convert.ToString(КодСклада) + "?",

"Предупреждение", MessageBoxButtons.OKCancel,

MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);

switch (result)

{

case DialogResult.OK:

{ try

{ conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "Delete from Склад where

КодСклада=@КодСклада";

myCommand.Parameters.Add("@КодСклада", SqlDbType.Int, 4);

myCommand.Parameters["@КодСклада"].Value = КодСклада;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("готово", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.складTableAdapter.Fill(this.автомагазинDataSet.Склад);

break;

}

}

}

private void button3_Click(object sender, EventArgs e)

{

this.tabControl1.SelectedTab = tabPage1;

}

private void button4_Click(object sender, EventArgs e)

{

this.Close();

}

private void button5_Click(object sender, EventArgs e)

{

this.tabControl1.SelectedTab = tabPage2;

}

}

Форма «магазин» содержит

public partial class Магазин : Form

{

SqlConnection conn = null;

public Магазин()

{

InitializeComponent();

}

private void Магазин_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу

"автомагазинDataSet.Магазин". При необходимости она может быть

перемещена или удалена.

this.магазинTableAdapter.Fill(this.автомагазинDataSet.Магазин);

}

private void button1_Click(object sender, EventArgs e)

{

try

{

string Название = Convert.ToString(this.textBox1.Text);

string Адрес = Convert.ToString(this.textBox2.Text);

long Телефон = long.Parse(this.textBox3.Text.ToString());

string ФамилияДиректора = Convert.ToString(this.textBox4.Text);

string ИмяДиректора = Convert.ToString(this.textBox5.Text);

string ОтчествоДиректора = Convert.ToString(this.textBox6.Text);

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "INSERT INTO Магазин

(Название,Адрес,Телефон,ФамилияДиректора,ИмяДиректора,Отчество

Директора) VALUES

(@Название,@Адрес,@Телефон,@ФамилияДиректора,@ИмяДиректор

а,@ОтчествоДиректора)";

myCommand.Parameters.Add("@Название", SqlDbType.NVarChar, 15);

myCommand.Parameters["@Название"].Value = Название;

myCommand.Parameters.Add("@Адрес", SqlDbType.NVarChar, 30);

myCommand.Parameters["@Адрес"].Value = Адрес;

myCommand.Parameters.Add("@Телефон", SqlDbType.NVarChar, 20);

myCommand.Parameters["@Телефон"].Value = Телефон;

myCommand.Parameters.Add("@ФамилияДиректора",

SqlDbType.NVarChar, 20);

myCommand.Parameters["@ФамилияДиректора"].Value =

ФамилияДиректора;

myCommand.Parameters.Add("@ИмяДиректора", SqlDbType.NVarChar,

20);

myCommand.Parameters["@ИмяДиректора"].Value = ИмяДиректора;

myCommand.Parameters.Add("@ОтчествоДиректора",

SqlDbType.NVarChar, 20);

myCommand.Parameters["@ОтчествоДиректора"].Value =

ФамилияДиректора;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("Данные внесены", "Добавление магазина");

}

else

{

MessageBox.Show("Не удалось внести данные", "Добавление

магазина");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

}

private void button2_Click(object sender, EventArgs e)

{

int КодМагазина =

int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cell

s["КодМагазинаDataGridViewTextBoxColumn"].Value.ToString());

DialogResult result = MessageBox.Show("Вы удаляете магазин:" +

Convert.ToString(КодМагазина) + "?",

"Внимание!!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning,

MessageBoxDefaultButton.Button1);

switch (result)

{

case DialogResult.Yes:

{

try

{

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist

security info = False;initial catalog=автомагазин";

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "Delete from Магазин where

КодМагазина=@КодМагазина";

myCommand.Parameters.Add("@КодМагазина", SqlDbType.Int, 4);

myCommand.Parameters["@КодМагазина"].Value = КодМагазина;

int UspeshnoeIzmenennie = myCommand.ExecuteNonQuery();

if (UspeshnoeIzmenennie != 0)

{

MessageBox.Show("готово", "Изменение Записи");

}

else

{

MessageBox.Show("Не удалось внести изменения", "Изменение

записи");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

...

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

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

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

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

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

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

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

  • Автоматизация учёта поступления и обучения детей в "Доме детского творчества". Проектирование программного продукта ИС; выбор системы управления базы данных, языка программирования. Разработка концептуальной, логической и физической моделей данных.

    дипломная работа [1,5 M], добавлен 10.10.2015

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

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

  • Разработка программного продукта "ИС Автотранспорт". Автоматизация функционирования автопарка и временного склада товаров, учета заявок клиентов и заполнения путевых листов. Реляционная модель базы данных. Описание функционирования программного продукта.

    дипломная работа [1,8 M], добавлен 14.03.2017

  • Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.

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

  • Создание базы данных для информационной системы "Грузоперевозки". Анализ предметной области, разработка концептуальной и логической модели базы данных, с использованием средства MS Micrоsоft SQL Server 2005, реализация физического проектирования базы.

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

  • Построение инфологической концептуальной модели предметной области. Структура базы данных Microsoft Office Access. Формы, запросы и отчеты. Создание форм, запросов и отчетов в базах данных. Схема данных физической и логической сущности в Erwin 4.0.

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

  • Разбиение данных по таблицам и создание связей между таблицами. Нормализация и проектирование сценария работы базы данных. Выбор программного обеспечения. Требования к аппаратным и программным средствам для работы созданного программного продукта.

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

  • Разработка автоматизированной информационной системы "Стол заказов" для учета регистрации заказов и информации о клиентах, ответственных лицах и товарах. Характеристики комплекса задач. Проект базы данных, построение логической и физической моделей.

    курсовая работа [354,9 K], добавлен 18.12.2014

  • Разработка базы данных организации, которая занимается ремонтом автомобилей и реализована в виде программного продукта. Моделирование структуры баз данных с использованием CASE-средств средствами языка SQL. Разработка логической и физической модели базы.

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

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

    курсовая работа [420,4 K], добавлен 14.11.2016

  • Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.

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

  • Описание первичных и результатных документов, типа связи информационных объектов. Построение информационно-логической модели базы данных и её реализация в СУБД Access (создание таблиц, запросов, форм, отчётов). Разработка интерфейса пользователя.

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

  • Разработка базы данных для учет остатков автомобилей в автомагазине с целью обеспечения заказа автомобилей, запас которых может закончиться в ближайшее время. Системный анализ предметной области. Разработка серверной части. Хранимые процедуры, функции.

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

  • Разработка базы данных с информацией о сотрудниках, товарах, со справочником типов товаров средствами системы управления базами данных MySQL с помощью SQL-запросов. Разработка инфологической модели предметной области. Структура таблиц, полей базы данных.

    контрольная работа [648,7 K], добавлен 13.04.2012

  • Разработка программы, находящейся удаленно на сервере, которая позволяет автоматизировать работу автомагазина и уменьшить нагрузку на работников. Создание базы данных и таблиц, представлений и хранимых процедур. Работа с таблицами и администрирование.

    курсовая работа [820,4 K], добавлен 16.06.2013

  • Разработка базы данных для учета размещения и услуг гостиницы-отеля "Баташев". Анализ предметной области, проектирование базы данных. Реализация SQL-запросов для создания объектов и получения отчетов. Реализация приложения для работы с базой данных.

    курсовая работа [336,0 K], добавлен 05.01.2014

  • Автоматизация работы пользователя по поиску, просмотру и редактированию информации о работниках, соискателях, вакансиях. Построение информационно-логической и физической моделей данных. Создание базы данных в СУБД MS SQL Server. Описание SQL запросов.

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

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