Файл: Курсовая работа по дисциплине Базы данных База данных Магазин товаров для спорта Исполнитель студент группы 4301.docx
Добавлен: 05.12.2023
Просмотров: 413
Скачиваний: 7
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
2. Анализ и описание предметной области
3. Цели и задачи создания базы данных «Магазин товаров для спорта»
4.1. Входные и выходные данные задач
Входными данными задач являются:
4.2. Инфологическое проектирование базы данных
4.4. Даталогическое проектирование базы данных
5. Автоматизированная информационная система на основе базы данных «Магазин товаров для спорта»
5.1. Структура информационной системы
5.2. Запросы на выборку данных для решения поставленных задач
5.3. Отчеты по результатам решения задач
Таблица 2. Структура таблицы «Покупки»
Таблица 3. Структура таблицы «Фирмы»
Связи между таблицами в базе данных «Магазин товаров для спорта»
Для определения структуры информационной системы необходимо распределить задачи, решаемые в АИС, по пользователям системы: Продавец, Экономист, Директор.Продавец выполняет следующие задачи:1. Поиск товара по определенному критерию2. Реализация продажиЭкономист выполняет следующие задачи:1. Выдает отчет по закупках по определенному товару2. Выдает отчет по продажам по определенному товаруДиректор выполняет следующую задачу:1. Просматривает отчет по невостребованным и неприбыльным товарамИнформационную систему «Библиотека» можно представить в виде 3-х подсистем:Структура подсистемы «Продавцы»:Связи между таблицами, формами и отчетами подсистемы «Продавцы»:Структура подсистемы «Экономисты»:Связи между таблицами, формами и отчетами подсистемы «Экономисты»:Структура подсистемы «Директор»:Связи между таблицами, формами и отчетами подсистемы «Директор»:
FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (((Товар.Название)=[Название Товара]) And ((Товар.[Название группы])=Группа));Запрос 5.Написать название запроса!SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (((Товар.Название)=[Название Товара]));Запрос 6.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.[Название группы])=Группа);Запрос 7.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.Раздел)=[Название раздела]);Запрос 8.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.Раздел)=[Название раздела]);Запрос 9.SELECT Фирмы.[КодТовара], Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоПроданногоТовара]FROM ФирмыWHERE (((Фирмы.[КодТовара])=Код));Запрос 10.SELECT Фирмы.[КодТовара], Товар.Название, Фирмы.ФирмаFROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (([КоличествоПроданногоТовара]*[Цена продажи]-[Количество закупленного товара]*[Цена закупки]<0) And ([КоличествоПроданногоТовара]-[Количество закупленного товара]/2<0));
Отчет 6. Отчет по продажамОтчет 7. Невостребованный и неприбыльный товар
| Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
| Покупки | ID покупки | Счетчик | | Первичный ключ |
| | Код товара | Числовой | 5 | |
| | Фирма | Текстовый | 20 | |
| | ФИО покупателя | Текстовый | 30 | |
| Название таблицы | Имя поля | Тип данных | Размер поля | Первичный ключ / вторичный ключ / индексированное поле |
| Фирмы | Код товара | Числовой | 5 | Первичный ключ |
| | Фирма | Текстовый | 20 | Вторичный ключ |
| | Количество в магазине | Числовой | 5 | |
| | Цена продажи | Числовой | 10 | |
| | Количество проданного товара | Числовой | 5 | |
| | Цена закупки | Числовой | 10 | |
| | Количество закупленного товара | Числовой | 5 | |
5. Автоматизированная информационная система на основе базы данных «Магазин товаров для спорта»
5.1. Структура информационной системы
Для определения структуры информационной системы необходимо распределить задачи, решаемые в АИС, по пользователям системы: Продавец, Экономист, Директор.Продавец выполняет следующие задачи:1. Поиск товара по определенному критерию2. Реализация продажиЭкономист выполняет следующие задачи:1. Выдает отчет по закупках по определенному товару2. Выдает отчет по продажам по определенному товаруДиректор выполняет следующую задачу:1. Просматривает отчет по невостребованным и неприбыльным товарамИнформационную систему «Библиотека» можно представить в виде 3-х подсистем:Структура подсистемы «Продавцы»:Связи между таблицами, формами и отчетами подсистемы «Продавцы»:Структура подсистемы «Экономисты»:Связи между таблицами, формами и отчетами подсистемы «Экономисты»:Структура подсистемы «Директор»:Связи между таблицами, формами и отчетами подсистемы «Директор»:
5.2. Запросы на выборку данных для решения поставленных задач
Рассмотрим структуру запросов, использовавшихся в предыдущем пункте.Запрос 1.Написать название запроса!INSERT INTO Покупки ( КодТовара, Фирма, ФИОпокупателя )VALUES ([КодТовара], Фирма, [ФИОпокупателя]);Запрос 2.Написать название запроса!UPDATE Фирмы SET КоличествоВМагазине = КоличествоВМагазине-1, КоличествоПроданногоТовара = КоличествоПроданногоТовара+1WHERE Фирмы.Фирма=(SELECT Last(Фирма)FROM Покупки)AND Фирмы.КодТовара=(SELECT Last(КодТовара)FROM Покупки);Запрос 3.Написать название запроса!UPDATE Товар SET ОбщееКоличество = ОбщееКоличество-1WHERE Товар.КодТовара=(SELECT Last(КодТовара)FROM Покупки);Запрос 4.Написать название запроса!SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (((Товар.Название)=[Название Товара]) And ((Товар.[Название группы])=Группа));Запрос 5.Написать название запроса!SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (((Товар.Название)=[Название Товара]));Запрос 6.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.[Название группы])=Группа);Запрос 7.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.Раздел)=[Название раздела]);Запрос 8.SELECT Товар.Название, Товар.[Название группы], Товар.Раздел, Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоВМагазине], Товар.[Наличие в другом магазине]FROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE ((Товар.Раздел)=[Название раздела]);Запрос 9.SELECT Фирмы.[КодТовара], Фирмы.Фирма, Фирмы.[Цена продажи], Фирмы.[КоличествоПроданногоТовара]FROM ФирмыWHERE (((Фирмы.[КодТовара])=Код));Запрос 10.SELECT Фирмы.[КодТовара], Товар.Название, Фирмы.ФирмаFROM Товар INNER JOIN Фирмы ON Товар.[КодТовара]=Фирмы.[КодТовара]WHERE (([КоличествоПроданногоТовара]*[Цена продажи]-[Количество закупленного товара]*[Цена закупки]<0) And ([КоличествоПроданногоТовара]-[Количество закупленного товара]/2<0));
5.3. Отчеты по результатам решения задач
Отчет 1. Поиск товара по названию и группеОтчет 2. Поиск товара по названиюОтчет 3. Поиск товара по группеОтчет 4. Поиск товара по разделуОтчет 5. Отчет по закупкамОтчет 6. Отчет по продажамОтчет 7. Невостребованный и неприбыльный товар
5.4. Организация интерфейса с пользователем.
При разработке интерфейса пользователя необходимо помнить, что он создается для пользователя, возможно, имеющего слабые навыки работы за компьютером. Поэтому, интерфейс должен быть «дружественным», понятным всем, без необоснованных сокращений слов и предложений, а также достаточно красочным. В нашем случае предлагается начать работу с главной формы, при нажатии же одной из кнопок на ней появляется форма для работы с соответствующей компонентой АИС.Основная форма:Разделение по пользователям соответственно:6. ЛИТЕРАТУРА
-
Ризаев И.С., Яхина З.Т. Базы данных. Учебное пособие. Казань.: КГТУ. 2008. -
Избачков Ю.С., Петров В.Н. Информационные системы. Учебник для ВУЗов. С.Петербург: Питер, 2008. -
Голенищев Э.П., Клименко И.В. Информационное обеспечение систем управления. Ростов-на-Дону, Феникс, 2010. -
Кузин А.В., Левонисова С.В. базы данных. М.: Академия, 2010. -
Кузовкин А.В., Цыганов А.А., Щукин Б.А. Управление данными. Учебник. М.:Академия, 2010. -
Мартин Дж. Организация баз данных в вычислительных системах. - М.: Мир, 1980. -
И.Харитонова, Н.Вольман. Программирование в Access 2002. Учебный курс. – СПб.: Питер, 2003. -
Л.Шкарина. Язык SQL: учебный курс. – СПб.: Питер, 2003. -
Ризаев И.С., Яхина З.Т. Базы данных. Лабораторный практикум. - Казань, КГТУ, 2003. -
КузинА.В., Демин В.М. Разработка баз данных в системе Microsoft Access.М.: Форум, 2009. -
Ризаев И.С., Яхина З.Т. Методические материалы по дисциплине «Базы данных» - Казань, КГТУ, 2008. -
Карпова Т.С.. Базы данных: Модели, разработка, реализация. Учебник. - СПб.: Питер, 2001.