Разработка базы данных в среде Microsoft Access
Нижегородский Государственный
Политехнический Университет
Нижегородский Вечерний Факультет
Зачётная работа по курсу
"Информационные технологии"
Разработка базы данных в среде
Microsoft Access
Выполнили: Греков В.В.
Певченко Г.П.
Группа ИКУ – 99
Проверил: Штанюк А.А.
Кстово
2002
Задание
Спроектировать базу данных для хранения и обработки данных о товарообороте овощной базы «Галина».
Таблицы и схема данных
Таблица - Владелец товара
Код владельца Наименование Город Улица Дом Телефон
1 ЧП"Суслов" Москва Северная 56 455655
2 ЧП"Иванов" Н.Новгород Гагарина 52 353632
3 ЧП"Петров" Кстово Победы 1 32658
4 ЧП"Сидоров" Н.Новгород Бекетова 41 353231
5 ЧП"Петренко" Петербург Раздольная 66 665544
6 ЧП"Геленко" Кстово Заводская 3 53537
7 ЧП"Павленко" Н.Новгород Ларина 19 665599
8 ЧП"Глуменко" Кстово Зелёная 4 53638
9 ЧП"Хохленко" Москва Ленина 78 456598
10 ЧП"Сидоренко" Кстово Заводская 35 45283
11 ЧП"Калентеенко" Москва Ванеева 11 456596
Таблица - Журнал приёма товаров
№ записи Владелец товара Товар Количество товара, тонн Дата приёмки
1 ЧП"Иванов" Дыня 5 14.02.02
2 ЧП"Суслов" Капуста 5 15.02.02
3 ЧП"Петров" Картофель 12 15.02.02
4 ЧП"Сидоров" Перец 20 15.02.02
5 ЧП"Петренко" Яблоки 6 15.02.02
6 ЧП"Геленко" Огурцы 10 16.02.02
7 ЧП"Хохленко" Яблоки 11 16.02.02
8 ЧП"Павленко" Помидор 16 17.02.02
9 ЧП"Глуменко" Капуста 7 18.02.02
10 ЧП"Сидоренко" Лук 9 18.02.02
11 ЧП"Калентеенко" Арбуз 2 20.02.02
12 ЧП"Петров" Морковь 10 21.02.02
Таблица –Тара
Код тары Наименование тары Грузоподъёмность, кг Вес единицы тары, кг
1 Ящик 30 0,5
2 Мешок 25 0,1
3 Сетка 30 0,1
4 Контейнер 500 50
Таблица - Журнал расхода товаров
№ записи Покупатель Товар Количество товара, тонн Вид тары Дата отпуска
1 ЧП"Смирнов" Дыня 2 Ящик 15.01.02
2 ЧП"Круглов" Дыня 3 Ящик 18.02.02
3 ЧП"Смирнов" Картофель 4 Мешок 18.02.02
4 ЧП"Зайков" Перец 5 Ящик 18.02.02
5 ЧП"Смирнов" Яблоки 6 Сетка 19.02.02
6 ЧП"Горбачёв" Огурцы 7 Сетка 19.02.02
7 ЧП"Слюньков" Морковь 8 Ящик 19.02.02
8 ЧП"Абрамов" Помидор 9 Контейнер 23.02.02
9 ЧП"Андронов" Капуста 6 Мешок 23.02.02
10 ЧП"Карташов" Лук 4 Контейнер 23.02.02
11 ЧП"Кондрашов" Арбуз 1 Сетка 25.02.02
13 ЧП"Зайков" Капуста 12 Мешок 12.03.02
Таблица - Покупатель товара
Код покупателя Наименование Город Улица Дом Телефон
1 ЧП"Круглов" Москва Ленина 2 456598
2 ЧП"Зайков" Кстово Зелёная 3 563212
3 ЧП"Воротников" Н.Новгород Талалушкина 56 874565
4 ЧП"Слюньков" Выкса Гагарина 45 123225
5 ЧП"Горбачёв" Павлово Кутузова 23 585652
6 ЧП"Смирнов" Владимир Суворова 2 548765
7 ЧП"Карташов" Чкалов Суетинская 9 122345
8 ЧП"Кондрашов" Пенза Торговая 8 656719
9 ЧП"Андронов" Пермь Набережная 23 193372
10 ЧП"Абрамов" Владивосток Бекетова 89 462845
11 ЧП"Кондрашов" Чкалов Торговая 8 585652
Таблица – Прейскурант товаров
Код товара Наименование товара Цена закупки, руб/кг Цена продажи, руб/кг
1 Арбуз 3,00р. 3,50р.
2 Дыня 5,00р. 5,60р.
3 Капуста 1,00р. 1,60р.
4 Картофель 6,50р. 7,00р.
5 Лук 15,00р. 16,00р.
6 Морковь 3,00р. 3,50р.
7 Огурцы 15,00р. 16,10р.
8 Перец 10,00р. 11,10р.
9 Помидор 15,00р. 16,20р.
10 Яблоки 5,00р. 5,80р.
Типы данных в полях
Для таблицы “Владелец товара”:
Код владельца Наименование владельца Город Улица Дом Телефон |
- - - - - - |
Счётчик Текстовый Текстовый Текстовый Текстовый Числовой |
Для таблицы “Покупатель товара”:
Наименование покупателя Город Улица Дом Телефон |
- - - - - |
Текстовый Текстовый Текстовый Текстовый Числовой |
Для таблицы “Журнал приёма товаров”:
№ записи Код владельца товара Код товара Количество товара, тонн Дата приёмки |
- - - - - |
Счётчик Числовой Числовой Числовой Дата\Время |
Для таблицы “Журнал расхода товаров”:
№ записи Код покупателя товара Код товара Количество товара, тонн Код тары Дата отпуска |
- - - - - - |
Счётчик Числовой Числовой Числовой Числовой Дата\Время |
Для таблицы “Тара”:
Код тары Наименование тары Грузоподъёмность, кг Вес единицы тары, кг |
- - - - |
Числовой Текстовый Числовой Числовой |
Для таблицы “Прейскурант товаров”:
Код товара Наименование товара Цена закупки, руб/кг Цена продажи, руб/кг |
- - - - |
Счётчик Текстовый Денежный Денежный |
3. Формы
Форма – это диалоговое окно, через которое осуществляется интерфейс пользователя. Формы используются для различных целей:
для ввода данных в таблицу;
как кнопочная форма для открытия других форм или отчётов;
как специальное диалоговое окно для выбора, предварительного просмотра и печати нужного отчёта.
Большая часть данных, представленных в форме, берётся из таблицы или запроса. Другая информация, не связанная ни с таблицей, ни с запросом, хранится в макете формы.
Для создания связи между формой и записями таблицы, являющейся источником данных формы, используются графические объекты, называемые элементами управления. Чаще всего для отображения и ввода данных используется поле.
В данной базе используется главная кнопочная форма для открытия форм "Владелец товара", " Покупатель товара", "Журнал приёмки товара", " Журнал расхода товара", “Прейскурант товаров”, “Тара - список”. Через эти формы осуществляется ввод данных пользователем.
Запросы
С помощью запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчётов.
Наиболее часто используется запрос на выборку. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или нескольких таблиц и выводятся в определённом порядке.
Запрос можно создать с помощью мастера или самостоятельно.
В базе данных использованы запросы на выборку и перекрёстные запросы.
Приход товара на овощную базу – выдаёт количество каждого вида товара, принятого на овощную базу для реализации:
SELECT DISTINCTROW [Журнал приёма товаров].[Код товара], Sum([Журнал приёма товаров].[Количество товара, тонн]) AS [Количество товара, тонн]
FROM [Журнал приёма товаров]
GROUP BY [Журнал приёма товаров].[Код товара];
Расход товара – выдаёт количество реализованного товара:
SELECT DISTINCTROW [Журнал расхода товаров].[Код товара], Sum([Журнал расхода товаров].[Количество товара, тонн]) AS [Количество товара, тонн]
FROM [Журнал расхода товаров]
GROUP BY [Журнал расхода товаров].[Код товара];
Прибыль по товарам – выдаёт прибыль по каждому виду товара (подсчитывается по разнице закупочной и продажной цены товара, зарегистрированного в прейскуранте):
SELECT [Приход товара - запрос].[Код товара], [Приход товара - запрос].[Количество товара, тонн], [Расход товара - запрос].[Количество товара, тонн], Sum([Приход товара - запрос]![Количество товара, тонн]-[Расход товара - запрос]![Количество товара, тонн]) AS [Остаток на базе, тонн], Sum([Расход товара - запрос]![Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 AS [Прибыль, руб]
FROM (Прейскурант INNER JOIN [Приход товара - запрос] ON Прейскурант.[Код товара] = [Приход товара - запрос].[Код товара]) INNER JOIN [Расход товара - запрос] ON Прейскурант.[Код товара] = [Расход товара - запрос].[Код товара]
GROUP BY [Приход товара - запрос].[Код товара], [Приход товара - запрос].[Количество товара, тонн], [Расход товара - запрос].[Количество товара, тонн] ORDER BY Sum([Расход товара - запрос]![Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 DESC;
Запрос на прибыльность по покупателям – выдаёт зависимость прибыли, полученной при товарных сделках с каждым покупателем:
SELECT DISTINCTROW [Покупатель товара].[Наименование покупателя], Sum([Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 AS [Прибыль, руб]
FROM Прейскурант INNER JOIN ([Покупатель товара] INNER JOIN [Журнал расхода товаров] ON [Покупатель товара].[Код покупателя товара] = [Журнал расхода товаров].[Код покупателя товара]) ON Прейскурант.[Код товара] = [Журнал расхода товаров].[Код товара]
GROUP BY [Покупатель товара].[Наименование покупателя]
ORDER BY Sum([Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 DESC;
Перекрёстный запрос – прибыльность по потребителям и товарам – выдаёт зависимость полученной прибыли от конкретного покупателя и приобретённого им продукта:
TRANSFORM Sum([Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 AS Выражение1
SELECT [Покупатель товара].[Наименование покупателя]
FROM Прейскурант INNER JOIN ([Покупатель товара] INNER JOIN [Журнал расхода товаров] ON [Покупатель товара].[Код покупателя товара] = [Журнал расхода товаров].[Код покупателя товара]) ON Прейскурант.[Код товара] = [Журнал расхода товаров].[Код товара]
GROUP BY [Покупатель товара].[Наименование покупателя]
PIVOT Прейскурант.[Наименование товара];
Перекрёстный запрос – прибыль по месяцам и товарам – выдаёт зависимость полученной прибыли по каждому товару и в зависимости от месяца его приобретения:
TRANSFORM Sum([Количество товара, тонн]*([Прейскурант]![Цена продажи, руб/кг]-[Прейскурант]![Цена закупки, руб/кг]))*1000 AS Выражение1
SELECT Month([Дата отпуска]) AS Месяц
FROM Прейскурант INNER JOIN ([Покупатель товара] INNER JOIN [Журнал расхода товаров] ON [Покупатель товара].[Код покупателя товара] = [Журнал расхода товаров].[Код покупателя товара]) ON Прейскурант.[Код товара] = [Журнал расхода товаров].[Код товара]
WHERE (((Year([Дата отпуска]))=2002))
GROUP BY Month([Дата отпуска]), Year([Дата отпуска])
ORDER BY Month([Дата отпуска])
PIVOT Прейскурант.[Наименование товара];
Отчёт № 2
Прибыль по товарам
Товар Прибыль, руб
Помидор 10800
Капуста 10800
Огурцы 7700
Перец 5500
Яблоки 4800
Морковь 4000
Лук 4000
Дыня 3000
Картофель 2000
Арбуз 500
5 марта 2002 г. Страница 1 из 1
6. Выводы
В деловой или личной сфере часто приходится работать с данными из разных источников, каждый из которых связан с определённым видом деятельности. Для координации всех этих данных необходимы определённые знания и организационные навыки. Microsoft Access объединяет сведения из разных источников в одной реляционной базе данных. Создаваемые формы, запросы и отчёты позволяют быстро и эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск нужных данных, анализировать данные, печатать отчёты, диаграммы и почтовые наклейки.
В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определённым условиям, создаётся запрос. Запросы также позволяют обновить или удалить одновременно несколько записей, выполнить встроенные и специальные сообщения.
Для просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет.
Для анализа данных или распечатки их определённым образом используются отчёты. Например, можно создать отчёт, группирующий данные и подводящий итоги, или отчёт для распечатки почтовых наклеек.
В окне базы данных можно работать со всеми её объектами. Для просмотра объектов определённого типа следует выбрать соответствующую вкладку. С помощью кнопок можно открывать и изменять существующие объекты и создавать новые.
Разработанная база данных позволяет быстро и эффективно управлять товарооборотом овощной базы. Удобный интерфейс программы, с одной стороны, позволяет легко ориентироваться в программе, не требуя от пользователя каких-либо специальных навыков работы с электронно-вычислительными машинами, с другой стороны предоставляет пользователю оперативную информацию о спросе и предложении на отдельные виды товаров в зависимости от вида продукции и времени года. Данные сведения позволяют проводить достаточно глубокие маркетинговые исследования, на основе которых можно анализировать текущее состояние рынка и планировать дальнейшую предпринимательскую деятельность.
5. Отчёты
Отчёт № 1
Прибыль по потребителям и товарам
Наименование Арбуз Дыня Капуста Картофель Лук Морковь Огурцы Перец Помидор Яблоки
покупателя
ЧП"Абрамов" 10 800,00р.
ЧП"Андронов" 3 600,00р.
ЧП"Горбачёв" 7 700,00р.
ЧП"Зайков" 7 200,00р. 5 500,00р.
ЧП"Карташов" 4 000,00р.
ЧП"Кондрашов" 500,00р.
ЧП"Круглов" 1
ЧП"Слюньков" 4 000,00р.
ЧП"Смирнов" 1 2 000,00р. 4 800,00р.
5 марта 2002 г. Страница 1 из 1
Отчёт № 2
Прибыль по товарам
Товар Прибыль, руб
Помидор 10800
Капуста 10800
Огурцы 7700
Перец 5500
Яблоки 4800
Морковь 4000
Лук 4000
Дыня 3000
Картофель 2000
Арбуз 500
5 марта 2002 г. Страница 1 из 1
С
Владелец товара
Код владельца
Наименование владельца
Город
Улица
Дом
Телефон
Журнал приёма товаров
№ записи
Код владельца товара
Код товара
Количество товара, тонн Дата приёмки
Журнал расхода товаров
№ записи
Код покупателя товара
Код товара
Количество товара, тонн
Код тары
Дата отпуска
Прейскурант товаров
Код товара
Наименование товара
Цена закупки, руб/кг
Цена продажи, руб/кг
Тара
Код тары
Наименование тары
Грузоподъёмность, кг
Вес единицы тары, кг
Приход товара - запрос
Код товара
Количество товара, тонн
Расход товара - запрос
Код товара
Количество товара, тонн
Запрос
Прибыль по товарам
Код товара
Приход товара – запрос.Количество товара, тонн
Расход товара – запрос.Количество товара, тонн
Остаток на базе, тонн
Прибыль, руб
хема данных
Покупатель товара
Код покупателя
Город
Улица
Дом
Телефон