Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

UTS-32_IOSU_Guguchkin_A_Kursovaya_Rabota

.docx
Скачиваний:
5
Добавлен:
08.03.2023
Размер:
1 Мб
Скачать
☆

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«Национальный исследовательский университет

 «Московский институт электронной техники»

Направление

27.03.04 «Управление в технических системах»

Дисциплина

Информационное обеспечение систем управления

КУРСОВОЙ ПРОЕКТ

«Создание базы данных в СУБД 

MS SQL Server»

 

 

Выполнил

Студент гр.УТС-32

Гугучкин А.А.

(подпись)

Проверил

Свиридов А.Н.

(подпись)

Москва 2021г.

КУРСОВОЙ ПРОЕКТ

Вариант №4

Задание:

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

Выполнение работы

  1. Введение

Операция по продаже аптечных принадлежностей требует хранения информации об их стоимости, количестве, об учреждении, закупающем принадлежности, типе учреждения и т.д. Также требуется предоставить возможность внесения новой и редактирования старой информации. Для реализации подобной задачи воспользуемся средствами реляционной системы управления базами данных Microsoft Access 2007.

  1. Инфологическая модель базы данных (ИЛМ)

Сущностями ИЛМ являются:

  • Торговая операция

  • Оплата

  • Аптечная принадлежность

  • Производитель

  • Закупщик

  • Тип учреждения

ИЛМ высшей степени абстракции (см. рисунок 2.1).

Рисунок 2.1 – Абстрактная ИЛМ

Представим атрибуты каждой сущности:

  • Торговая операция – идентификатор, оплата, аптечная принадлежность, закупщик.

  • Оплата - идентификатор, сумма, количество платежей, заплаченная сумма, УИН.

  • Аптечная принадлежность – идентификатор, наименование, стоимость, производитель, наличие.

  • Производитель – идентификатор, наименование, ИНН, адрес.

  • Закупщик – идентификатор, наименование, номер договора, ИНН, адрес, тип учреждения.

  • Тип учреждения – идентификатор, наименование.

Составим ИЛМ с учётом атрибутов и связей между сущностями (см. рисунок 2.2).

Рисунок 2.2 – ИЛМ с учётом атрибутов и связей между сущностями

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

  1. Даталогическая модель базы данных (ДЛМ)

Запускаю программу Microsoft Access 2007 для разработки ДЛМ.

Создаю таблицу «Производитель» (см. рисунок 3.1).

Рисунок 3.1 – Атрибуты сущности «Производитель»

Создаю таблицу «Оплата» (см. рисунок 3.2).

Рисунок 3.2 – Атрибуты сущности «Оплата»

Создаю таблицу «ТипУчреждения» (см. рисунок 3.3).

Рисунок 3.3 – Атрибуты сущности «ТипУчреждения»

Создаю таблицу «АптечнаяПринадлежность» (см. рисунок 3.4).

Рисунок 3.4 – Атрибуты сущности «АптечнаяПринадлежность»

Создаю таблицу «Закупщик» (см. рисунок 3.5).

Рисунок 3.5 – Атрибуты сущности «Закупщик»

Создаю таблицу «ТорговаяОперация» (см. рисунок 3.1).

Рисунок 3.6 – Атрибуты сущности «ТорговаяОперация»

Устанавливаю связи между сущностями (см. рисунок 3.7).

Рисунок 3.7 – Связи между сущностями

Таблица находится в нормальной форме Бойса-Кодда, так как все связи соответствуют НФБК, а ключевые атрибуты не имеют зависимостей от других атрибутов.

  1. Датафизическая модель базы данных (ДФМ)

Запускаю программу Erwin Data Modeler для создания ДФМ.

Создаем ДФМ (см. рисунок 4.1).

Рисунок 4.1 – Датафизическая модель

  1. Создание запросов для базы данных

Было разработано 9 запросов для созданной базы данных (см. рисунок 5.1), которые потребуются работникам склада.

Рисунок 5.1 – Все запросы

Пройдемся по каждому из запросов.

Запрос «Все закупщики». Отображает всех, кто закупил аптечные принадлежности.

Запрос на языке SQL:

SELECT * FROM Закупщик;

Конструктор запроса (см. рисунок 5.2)

Рисунок 5.2 – Конструктор «Все закупщики»

Результат запроса (см. рисунок 5.3).

Рисунок 5.3 – Результат запроса «Все закупщики»

Запрос «Общая сумма оплаты». Запрос возвращает общую сумму всей ожидаемой оплаты.

Запрос на языке SQL:

SELECT SUM(Сумма) AS ['Общая сумма оплаты']

FROM Оплата;

Конструктор запроса (см. рисунок 5.4).

Рисунок 5.4 – Конструктор «Общая сумма оплаты»

Результат запроса (см. рисунок 5.5).

Рисунок 5.5 – Результат запроса «Общая сумма оплаты»

Запрос «Создать закупщика». Запрос создает новую сущность в атрибуте Закупщик.

Запрос на языке SQL:

INSERT INTO Закупщик (Наименование, [Номер договора], ИНН, Адрес, [Тип учреждения])

VALUES ([Введите наименование], [Введите номер договора], [Введите ИНН], [Введите адрес], [Введите Тип учреждения]);

Выполнение запроса (см. рисунки 5.6-5.10)

Рисунок 5.6 – Выполнение запроса «Создать закупщика»

Рисунок 5.7 – Выполнение запроса «Создать закупщика»

Рисунок 5.8 – Выполнение запроса «Создать закупщика»

Рисунок 5.9 – Выполнение запроса «Создать закупщика»

Рисунок 5.10 – Выполнение запроса «Создать закупщика»

Результат запроса (см. рисунок 5.11)

Рисунок 5.11 – Результат запроса «Создать закупщика»

Запрос «Увеличить заплаченную сумму». Увеличивать значение заплаченной суммы в таблице Оплата на введенное значение.

Запрос на языке SQL:

UPDATE Оплата SET

[Заплаченная сумма] = [Заплаченная сумма] + [Введите сумму]

WHERE Идентификатор = [Введите идентификатор]

Рисунок 5.12 – Конструктор «Увеличить заплаченную сумму»

Рисунок 5.13 – Выполнение запроса «Увеличить заплаченную сумму»

Рисунок 5.14 – Результат запроса «Увеличить заплаченную сумму»

Запрос «Должники по оплате». Выводит список закупщиков, заплаченная сумма у которых меньше общей суммы закупки.

Запрос на языке SQL:

SELECT Закупщик.Наименование, Закупщик.[Номер договора], Оплата.Сумма, Оплата.[Количество платежей], Оплата.[Заплаченная сумма]

FROM Закупщик, Оплата, ТорговаяОперация

WHERE Оплата.Идентификатор = ТорговаяОперация.Оплата AND Закупщик.Идентификатор = ТорговаяОперация.Закупщик AND Оплата.Сумма > Оплата.[Заплаченная сумма]

Рисунок 5.15 – Конструктор «Должники по оплате»

Рисунок 5.16 – Результат запроса «Должники по оплате»

Запрос «Аптечные принадлежности в наличии». Выводит список аптечных принадлежностей, которые в наличии на складе.

Запрос на языке SQL:

SELECT * FROM АптечнаяПринадлежность

WHERE Наличие > 0

Рисунок 5.17 – Конструктор «Аптечные принадлежности в наличии»

Рисунок 5.18 – Результат запроса «Аптечные принадлежности в наличии»

Запрос «Найти закупщиков аптечной принадлежности». Выводит список закупщиков, которые покупали указанную аптечную принадлежность.

Запрос на языке SQL:

SELECT Наименование, [Номер договора], ИНН, Адрес

FROM Закупщик

WHERE Закупщик.Идентификатор = (SELECT Закупщик

FROM ТорговаяОперация

WHERE ТорговаяОперация.[Аптечная принадлежность] = АптечнаяПринадлежность.[Введите Идентификатор])

Рисунок 5.19 – Конструктор «Найти закупщиков аптечной принадлежности»

Рисунок 5.20 – Результат запроса «Найти закупщиков аптечной принадлежности»

Запрос «Закупщики по типу учреждения». Выводит список закупщиков по указанному типу учреждения.

Запрос на языке SQL:

SELECT Наименование, [Номер договора], ИНН, Адрес

FROM Закупщик

WHERE Закупщик.[Тип учреждения] = ТипУчреждения.[Введите идентификатор]

Рисунок 5.21 – Конструктор «Закупщики по типу учреждения»

Рисунок 5.22 – Выполнение запроса «Закупщики по типу учреждения»

Рисунок 5.23 – Результат запроса «Закупщики по типу учреждения»

Запрос «Аптечные принадлежности по производителю». Выводит список аптечных принадлежностей по указанному производителю.

Запрос на языке SQL:

SELECT Наименование, Стоимость

FROM АптечнаяПринадлежность

WHERE АптечнаяПринадлежность.Производитель = Производитель.[Введите идентификатор]

Рисунок 5.24 – Конструктор «Аптечные принадлежности по производителю»

Рисунок 5.25 – Выполнение запроса «Аптечные принадлежности по производителю»

Рисунок 5.26 – Результат запроса «Аптечные принадлежности по производителю»

  1. Разработка приложения для просмотра и изменения информации

Для создания приложения я буду использовать формы в MS Access. Сначала создам формы для таблиц. Названия форм будут аналогичны названиям таблиц.

Создаю форму для таблицы «ТипУчреждения». Конструктор формы (см. рисунок 6.1)

Рисунок 6.1 – Конструктор формы «ТипУчреждения»

Результат создания и редактирования формы (см. рисунок 6.2).

Рисунок 6.2 – Форма «ТипУчреждения»

Аналогично создаю формы и для других таблиц.

Рисунок 6.3 – Формы для таблиц

Далее нужно создать формы для запросов. Название формы аналогично названию запроса.

Создаю форму для запроса «АптечнаяПринадлежностьПоПроизводителю». Конструктор формы (см. рисунок 6.4).

Рисунок 6.4 – Конструктор формы «АптечнаяПринадлежностьПоПроизводителю»

Рисунок 6.5 – Форма «АптечнаяПринадлежностьПоПроизводителю»

Аналогично создаю формы для остальных запросов.

Рисунок 6.6 – Формы для запросов

Создаем главную форму, которая будет являться меню приложения, через которое можно получить доступ ко всем формам таблиц и запросов (см. рисунок 6.7).

Рисунок 6.7 – Добавление кнопок таблиц и запросов

Теперь для каждой кнопки добавляем макрос, организующий переход на нужную форму (см. рисунок 6.8).

Рисунок 6.8 – Макрос для кнопки «АптечнаяПринадлежность»

Аналогично добавляю макросы для других кнопок.

Нажмём на кнопку «АптечнаяПринадлежность» и увидим результат(см. рисунок 6.9).

Рисунок 6.9 – Результат нажатия кнопки «АптечнаяПринадлежность»

Нажмём на кнопку «АптечнаяПринадлежностьПоПроизводителю» и увидим результат(см. рисунок 6.10-6.11).

Рисунок 6.10 – Результат нажатия кнопки «АптечнаяПринадлежностьПоПроизводителю»

Рисунок 6.11 – Результат нажатия кнопки «АптечнаяПринадлежностьПоПроизводителю»

  1. Заключение

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

24