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

UTS-32_IOSU_Guguchkin_A_Kursovaya_Rabota

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

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

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

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

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

Направление

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