Разработка базы данных для автоматизации учета поступления и реализации продуктов в кафе

Разработка базы данных в среде СУБД MS Access для автоматизации учета поступления и реализации продуктов в кафе. Программа обработки информации о поставщиках, поставках продуктов, а также об изъятии продуктов на кухню. Систематизация данных и информации.

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

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

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

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

43

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

Разработка базы данных для автоматизации учета поступления и реализации продуктов в кафе

Введение

информация кафе программа

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

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

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

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

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

Для успешного управления базами данных необходимы знания о представлении информации в информационных системах, концепциях моделирования данных, принципах организации баз данных и методах их проектирования, программных средствах для работы с базами данных, принципах обработки многопользовательских баз данных, их администрировании.

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

Разрабатываемая БД должна обеспечить ввод соответствующих данных, а также удобный пользовательский интерфейс. Основные задачи курсовой работы:

1) проектирование структуры базы данных;

2) создание таблиц, которые содержат всю необходимую информацию для работы с БД;

3) создание запросов, дающих возможность извлечения необходимой информации из БД;

4) создание форм, позволяющих пользователю просматривать нужную информацию и вносить изменения;

5) создание отчета.

1. Постановка задачи на разработку базы данных

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

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

Каждый продукт характеризуется следующими показателями:

1) код продукта;

2) наименование;

3) вид продукта;

4) единицы измерения;

5) стоимость одной единицы;

6) количество продукта в наличии.

Наименования продуктов могут быть одинаковыми, однако продукт должен иметь свой уникальный шифр.

Все продукты объединены в группы по видам продукта. Для этого нам необходимы следующие данные:

- Код вида продукта;

- Название вида.

Для учета товаров на складе необходимо знать, какое количество товаров поступает на склад, и какое изымается.

Для отслеживания поставок продуктов нам необходимы сведения о поставщиках.

Для каждого поставщика характерны следующие данные:

1) уникальный код;

2) наименование фирмы;

3) адрес;

4) телефон;

5) лицевой счет.

Поставщики должны различаться по своему уникальному коду.

Для каждой поставки продуктов должны быть учтены:

- Дата поставки;

- Поставщик;

- Общая стоимость.

Количество продуктов, входящих в поставку, указывается в товарно-транспортных накладных. Для ТТН выделяют следующие параметры:

- Код ТТН;

- Продукт;

- Стоимость.

Для отслеживания изъятия товаров со склада необходимо знать сведения о сотрудниках кафе, которые берут со склада продукцию. Сотрудники характеризуются следующими данными:

1) код сотрудника;

2) имя;

3) фамилия;

4) должность;

5) заработная плата.

Также необходимо знать, в каком отделе кафе работает сотрудник, для этого необходима информация об отделах, а именно:

- Код отдела;

- Название.

Каждый раз, когда сотрудник берет со склада продукт, он делает запрос, который включает в себя:

1) код запроса;

2) код сотрудника;

3) код продукта;

4) количество;

5) дату запроса.

1.2 Требования к информационной системе

С базой данных должны работать следующие группы пользователей:

1) администратор кафе;

2) кладовщик, который принимает товар;

3) сотрудники, которые берут товар со склада;

4) директор кафе.

При работе с системой администратор кафе должен иметь возможности просматривать информацию о поступившей продукции и о правильности внесения данных в БД.

Кладовщик, работая с системой, может решать следующие задачи:

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

- изменять данные о поставщиках (добавлять новых поставщиков, изменять лицевой счет поставщика, телефон, адрес, если это необходимо);

- просматривать информацию о наличии продуктов на складе (для того, чтобы знать, делать новый заказ на продукт или нет);

- изменять данные о продуктах (вносить в список новые продукты, удалять те, которые больше не поставляются).

Сотрудники компании с помощью системы могут выполнять следующие действия:

- просматривать информацию о наличии необходимого продукта;

- делать запрос на продукты.

Директор кафе имеет возможность:

- просматривать данные о поставщиках;

-получать данные о стоимости отдельных продуктов, а также общую стоимость поставок;

-отслеживать количество поставок за месяц в общем, и для каждого поставщика отдельно.

2. Проектирование модели данных

2.1 Семантическая модель данных

Разработку модели начнем с выделения основных сущностей и связей между ними.

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

Продукты можно объединить по видам, поэтому вводится сущность «Вид продукта» с атрибутами «Код вида продукта» (ключ) и «Название вида». Между этими сущностями существует связь (1:*) с обязательным участием с обеих сторон, что означает, что один вид содержит много продуктов, а каждый продукт относится только к одному виду.

Информация о сотрудниках кафе отражена в сущности «Сотрудник», которая содержит «Код сотрудника» (ключ), а также атрибуты «Фамилия», «Имя», «Должность» и «Зарплата». Каждый сотрудник работает в каком-либо отделе кафе, поэтому добавляем сущность «Отдел» с атрибутами «Код отдела» (ключ), «Название» и «Количество сотрудников». Эти две сущности связаны по принципу (1:*). Это значит, что в каждом отделе работает несколько сотрудников, а любой сотрудник может работать только в одном отделе. Причем участие в связи обязательно с обеих сторон (в каждом отделе работают сотрудники, и каждый из сотрудников работает в каком-либо отделе).

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

Данная сущность связана с сущностью «Продукт» связью (1:*) (в одном запросе могут быть несколько продуктов, а один продукт не может входить в несколько запросов). Участие с обеих сторон обязательное - каждый запрос обязательно содержит продукт, а каждый продукт обязательно учитывается в запросе.

В базе данных учитываются поставки продуктов, поэтому вводим сущность «Поставщик». Эта сущность имеет следующие атрибуты: «Код поставщика» (ключ), «Фирма», «Адрес», «Телефон» и «Лицевой счет». Поставщики осуществляют поставки продуктов в кафе, следовательно, появляется сущность «Поставка» с атрибутом «Код ТТН» в роли ключа, а также «Дата поставки» и «Стоимость поставки». Поставки продуктов учитываются в накладных. Сущность «Накладная» имеет атрибуты «Код ТТН» и «Код продукта» в качестве составного первичного ключа, а также атрибуты «Количество» и «Стоимость».

Между сущностями «Поставщик» и «Поставка» существует связь (1:*) с обязательным участием с обеих сторон. Это означает, что каждый поставщик может осуществить множество поставок, а каждая поставка осуществляется только одним поставщиком. И при этом каждый поставщик осуществляет поставки, а каждая поставка обязательно осуществляется поставщиком.

В свою очередь, сущность «Поставка» связана с сущность «Накладная» связью (1:*), также с обязательным участием с каждой стороны (каждая поставка учитывается в накладных, и каждая накладная должна содержать данные о поставке.

Ну и наконец, сущность «Накладная» связана с сущностью «Продукт» по принципу (1:*). Причем в сущности «Накладная» атрибуты «Код ТТН» и «Код продукта» образуют составной первичный ключ. Следовательно, у нас одна накладная может содержать несколько продуктов, но один и тот же продукт не может входить в несколько накладных. Степень участия - обязательное с обеих сторон (в каждой накладной должны находится сведения о продуктах, и каждый продукт обязательно учитывается в накладной).

Семантическая модель представлена в приложении А.

2.2 Логическая модель данных

Формирование отношений начинается с выделения родительской (главной) и дочерней (подчиненной) сущностей.

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

Начнем с сущностей «Отдел» и «Сотрудник» со связью типа (1:*). Сущность отдел находится со стороны 1, поэтому она является родительской и передает копию своего первичного ключа в сущность «Сотрудник». Эта сущность дочерняя и использует копию первичного ключа в качестве внешнего ключа.

Затем рассмотрим связь между сущностями «Сотрудник» и «Запрос на продукт». Сущность «Сотрудник» является родительской (т.к. расположена со стороны 1), а «Запрос на продукт» - дочерней (со стороны *). Следовательно, копия первичного ключа из родительской передается в дочернюю сущность и используется там в качестве внешнего ключа.

Далее рассмотрим сущности «Вид продукта» и «Продукт». Сущность «Вид продукта» является главной, а «Продукт» - подчиненной. Следовательно, копия первичного ключа «Код вида продукта» в сущности «Продукт» выполняет функцию внешнего ключа.

Сущности «Продукт» и «Запрос на продукт» связаны также посредством связи типа (1:*), поэтому определяем главную и подчиненную сущность. Главной является сущность «Продукт», она передает копию своего первичного ключа в сущность «Запрос на продукт», где он используется в качестве внешнего ключа.

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

Сущности «Поставка» и «Накладная» связаны посредством связи (1:*), и «Поставка» является главной сущностью. Соответственно, копия первичного ключа «Код ТТН» передается в сущность «Накладная» и выполняет там роль внешнего ключа.

Далее рассмотрим сущности «Продукт» и «Накладная». Сущность «Продукт» является главной, она передает копию первичного ключа в сущность «Накладная», где он является внешним ключом.

После того как отношения сформированы, выполняется их обязательная проверка на соответствие нормальным формам.

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

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

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

Отношение находится в нормальной форме Бойса-Кодда, если оно находится в третьей нормальной форме, и каждый детерминант отношения является возможным ключом отношения, то есть отношение не должно содержать зависимостей ключевых атрибутов от неключевых.

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

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

Логическая модель представлена в приложении Б.

2.3 Определение физических характеристик атрибутов

Таблица 1 - Физические характеристики атрибутов

Имя атрибута

Тип

Размер

Обязательность

заполнения

1

2

3

4

Таблица ОТДЕЛ

кодОтдела

Числовой

Длинное целое

Да

отдел

Текстовый

50 символов

Да

количествоСотрудников

Числовой

Длинное целое

Нет

Таблица СОТРУДНИК

кодСотрудника

Числовой

Длинное целое

Да

Фамилия

Текстовый

50 символов

Да

имя

Текстовый

50 символов

Да

должность

Текстовый

50 символов

Нет

зарплата

Денежный

Нет

Таблица ПРОДУКТЫ

кодПродукта

Числовой

50 символов

Да

наименование

Текстовый

225 символов

Да

едИзмерения

Текстовый

10 символов

Да

стоимостьОднойЕд

Денежный

Нет

вНаличии

Числовой

Длинное целое

Нет

Таблица ВИД ПРОДУКТА

кодВидаПродукта

Числовой

Длинное целое

Да

названиеВида

Текстовый

50 символов

Да

Таблица ПОСТАВЩИК

кодПоставщика

Числовой

Длинное целое

Да

фирма

Текстовый

225 символов

Да

адрес

Текстовый

225 символов

Нет

телефон

Текстовый

20 символов

Нет

лицевойСчет

Текстовый

20 символов

Нет

Таблица ПОСТАВКА

кодТТН

Числовой

Длинное целое

Да

датаПоставки

Дата/время

Да

общаяСтоимость

Денежный

Таблица НАКЛАДНАЯ

количество

Числовой

Длинное целое

Да

стоимость

Денежный

Таблица ЗАПРОС НА ПРОДУКТ

кодЗапроса

Числовой

Длинное целое

Да

количество

Числовой

Длинное целое

Да

датаЗапроса

Дата/время

Да

3. Реализация системы

3.1 Создание, связывание и заполнение таблиц

Запускаем MS Access, выбираем создание новой базы данных, после этого нам предлагается ввести имя новой базы данных, вводим «» и нажимаем кнопку «создать».

Для создания таблицы выбираем в окне открытой базы слева из списка «группы» - таблицы, затем справа выбираем «создание таблицы в режиме конструктора». В появившемся окне заполняем нужные нам поля и ставим там необходимый тип поля. После того как указано имя поля и выбран тип данных, можно выполнить дополнительную настройку свойств каждого поля. Это делается в нижней части окна, которая называется «Свойства поля».

Теперь нужно установить первичный ключ. Для этого выделяем поле (щелчок мыши по строке поля), которое будет ключевым, в данном случае это поле «КодОтдела», нажмем пункт меню «Правка/Ключевое поле» или кнопку на панели инструментов. Пример структуры таблицы в режиме конструктора приведен на рисунке 1.

Рисунок 1 - Структура таблицы «Отдел» в режиме конструктора

Остальные таблицы создаем аналогично. Структура таблиц базы данных представлена на рисунках 2-8.

Рисунок 2 - Структура таблицы «Сотрудник» в режиме конструктора

Рисунок 3 - Структура таблицы «ВидПродукта» в режиме конструктора.

Рисунок 4 - Структура таблицы «Продукты» в режиме конструктора

Рисунок 5 - Структура таблицы «Поставщик» в режиме конструктора

Рисунок 6 - Структура таблицы «Поставка» в режиме конструктора

Рисунок 7 - Структура таблицы «Накладная» в режиме конструктора

Рисунок 8 - Структура таблицы «ЗапросНаПродукт» в режиме конструктора

После создания всех таблиц необходимо определить связи между ними. Для этого переключаемся на вкладку «Работа с базами данных» и нажимаем на значок «Схема данных». В появившееся окно добавляем все таблицы, а далее простым перетягиванием переносим копию первичного ключа главной таблицы в подчиненную. При этом в разделе «Тип отношения» автоматически устанавливается тип связи - Один-ко-многим. Определим параметры связи, установив флажки «Обеспечение целостности данных» и «Каскадное обновление связанных полей». Нажмем кнопку «Создать». В результате получим схему данных, представленную на рисунке 9.

Рисунок 9 - Схема базы данных.

После этого можно заполнять таблицы исходными данными. При этом сначала заполняются главные таблицы, а затем подчиненные (Рисунок 10-17).

Рисунок 10 - Таблица «Отдел»

Рисунок 11 - Таблица «Сотрудник»

Рисунок 12 - Таблица «ВидПродукта»

Рисунок 13 - Таблица «Продукты»

Рисунок 14 - Таблица «ЗапросНаПродукт»

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

Рисунок 16 - Таблица «Поставка»

Рисунок 17 - Таблица «Накладная»

3.2 Реализация запросов к базе данных

Запрос 1. Запрос на обновление стоимости поставленного количества определенного продукта по накладной. На вкладке Создание выбираем Конструктор запросов - запрос на обновление. В появившемся окне выбираем таблицы «Накладная» и «Продукты». В строке «Поле» выбираем «стоимость» из таблицы «Накладная». Далее в строке «Обновление» с помощью построителя строим следующее выражение: [Накладная]![количество]*[Продукты]![стоимостьОднойЕд].

Рисунок 18 - Запрос №1 в режиме конструктора

Запрос №1 в режиме SQL:

UPDATE Продукты INNER JOIN Накладная ON Продукты.кодПродукта = Накладная.кодПродукта SET Накладная.стоимость = [Накладная]![количество]*[Продукты]![стоимостьОднойЕд];

Рисунок 19 - Результат запроса №1(столбец Стоимость)

Запрос №2. Запрос на вычисление общей стоимости поставки. Данный запрос выполняется в 2 этапа. На первом этапе в режиме Конструктора создаем запрос на создание таблицы «Общая стоимость». Для этого необходимо из таблицы «Накладная» выбрать поля «Код ТТН» и «Стоимость». Затем выбрать на панели инструментов значок «Итоги» и в строке Групповая операция под «Кодом ТТН» выбрать Группировку, а под «Стоимостью» - Sum. Также в столбце «Код ТТН» в графе Условие отбора необходимо написать [введите код ТТН]. В результате в новую таблицу каждый раз будут заноситься данные об определенной поставке.

Рисунок 20 - Запрос на создание таблицы в режиме конструктора.

Рисунок 21 - Выполнение запроса на создание таблицы

В результате в новую таблицу вносятся данные о стоимости определенной поставки.

Рисунок 22 - результат запроса на создание таблицы

Второй этап Запроса №2 состоит в следующем: в режиме конструктора запросов выбираем две таблицы - «Поставка» и «Стоимость поставки по ТТН» (созданная на предыдущем этапе таблица). Далее выбираем атрибут «Общая стоимость» из таблицы «Поставка» и в строке Обновление указываем: [Стоимость поставки по ТТН]![Общая стоимость].

Рисунок 23 - Запрос №2 в режиме конструктора

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

UPDATE Поставка INNER JOIN [Стоимость поставки по ТТН] ON Поставка.кодТТН = [Стоимость поставки по ТТН].кодТТН SET Поставка.общаяСтоимость = [Стоимость поставки по ТТН]![Общая стоимость];

Рисунок 24 - Результат запроса №2

Запрос №3. Запрос на обновление количества товаров на складе (добавление вновь привезенных). Для этого создается запрос на обновления с использованием таблиц «Продукты» и «Накладная». Из них выбираем поля «вНаличии» и «кодТТН» соответственно. В поле Обновление указываем выражение [Продукты]![вНаличии]+[Накладная]![количество], а в Условии отбора выражение [Введите код ТТН].

Рисунок 25 - Запрос №3 в режиме конструктора

При запуске запроса на выполнение нам необходимо ввести номер ТТН, после чего в таблице «Продукты» обновится значение атрибута «вНаличии» для определенного продукта.

Рисунок 26 - Выполнение запроса №3

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

UPDATE Продукты INNER JOIN Накладная ON Продукты.кодПродукта = Накладная.кодПродукта SET Продукты.вНаличии = [Продукты]![вНаличии]+[Накладная]![количество]

WHERE (((Накладная.кодТТН)=[Введите код ТТН]));

Рисунок 27 - Результат запроса №3

Запрос №4. Данный запрос также для обновления количества товаров на складе, но уже при изъятии продукта в производство.

Используем таблицы «Продукты» и «ЗапросНаПродукт» и создаем запрос на обновление. Выбираем атрибуты «вНаличии» и «кодПродукта», и в поле Обновление указываем выражение [Продукты]![вНаличии]-[ЗапросНаПродукт]![количество]. В поле Условие пишем выражение [Введите код продукта].

Рисунок 28 - Запрос №4 в режиме конструктора

Рисунок 29 - Выполнение запроса №4

В результате выполнения запроса №4 от данных из столбца «вНаличии» отнимаются данные о количестве продукта, взятого для приготовления.

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

UPDATE Продукты INNER JOIN ЗапросНаПродукт ON Продукты.кодПродукта = ЗапросНаПродукт.кодПродукта SET Продукты.вНаличии = [Продукты]![вНаличии]-[ЗапросНаПродукт]![количество]

WHERE (((ЗапросНаПродукт.кодПродукта)=[Введите код продукта]));

Запрос №5. Данный запрос для отображения даты поставки продукта.Дата поставки учитывается в таблице «Поставка», а наименование продукта в таблице «Продукты», а они связаны через таблицу «Накладная», поэтому мы выбираем эти 3 таблицы для создания запроса. Далее выбираем поле «наименование» из таблицы «Продукты» и поле «датаПоставки» из таблицы «Поставка».

Рисунок 30 - Запрос №5 в режиме конструктора.

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

SELECT Продукты.наименование, Поставка.датаПоставки

FROM Продукты INNER JOIN (Поставка INNER JOIN Накладная ON Поставка.кодТТН = Накладная.кодТТН) ON Продукты.кодПродукта = Накладная.кодПродукта;

Рисунок 31 - Результат запроса №5

Запрос №6. Запрос, который отображает фамилии и имена сотрудников и продукты, которые эти сотрудники взяли. Для этого выбираем столбцы «фамилия» и «имя» из таблицы «Сотрудник», а также столбец «наименование» из таблицы «Продукты». Также указываем Условие отбора - [Введите фамилию].

Рисунок 32 - Запрос №6 в режиме конструктора

Рисунок 33 - Выполнение запроса №6

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

SELECT Сотрудник.фамилия, Сотрудник.имя, Продукты.наименование

FROM Сотрудник INNER JOIN (Продукты INNER JOIN ЗапросНаПродукт ON Продукты.кодПродукта = ЗапросНаПродукт.кодПродукта) ON Сотрудник.кодСотрудника = ЗапросНаПродукт.кодСотрудника

WHERE (((Сотрудник.фамилия)=[Введите фамилию]));

Рисунок 34 - Результат запроса №6

Запрос №7. Запрос на вычисление общего количества поставок для каждого поставщика. Для этого выбираем таблицы «Поставщик» и «Поставка» и функцию Итоги. Затем в графе Групповая операция под атрибутом Фирма выбираем Группировку, а под атрибутом Код поставщика - Count. При этом столбец Код поставщика переименовываем в Кол-во поставок.

Рисунок 35 - Запрос №7 в режиме конструктора

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

SELECT Поставщик.фирма, Count(Поставка.кодПоставщика) AS [Кол-во поставок]

FROM Поставщик INNER JOIN Поставка ON Поставщик.кодПоставщика = Поставка.кодПоставщика

GROUP BY Поставщик.фирма;

Рисунок 36 - Результат запроса №7

Запрос №8. Запрос на отображение стоимости максимальной поставки и поставщика, её осуществившего. Выбираем групповую операцию Max для атрибута ОбщаяСтоимость, группировка - для атрибута Фирма, а также указываем следующее условие отбора для ОбщейСтоимости: (Select Max(общаяСтоимость) From Поставка).

Рисунок 37 - Запрос №8 в режиме конструктора

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

SELECT Max(Поставка.общаяСтоимость) AS [Max-общаяСтоимость], Поставщик.фирма

FROM Поставщик INNER JOIN Поставка ON Поставщик.кодПоставщика = Поставка.кодПоставщика

GROUP BY Поставщик.фирма

HAVING (((Max(Поставка.общаяСтоимость))=(Select Max(общаяСтоимость) From Поставка)));

Рисунок 38 - Результат запроса №8

Запрос №9. Запрос на определение общего количества поставок за месяц и их стоимости. Для выполнения данного запроса необходимо ввести функцию выбора определенного месяца и года. Для этого с помощью построителя именуем поле Дата поставки следующим образом: Month([Поставка]![датаПоставки]) и Year([Поставка]![датаПоставки]) и указываем условия отбора: [введите месяц] и [введите год] соответственно. Для столбца КодТТН указываем групповую операцию Count, а для столбца ОбщаяСтоимость - Sum.

Рисунок 39 - Запрос №9 в режиме конструктора

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

SELECT Count(Поставка.кодТТН) AS [Кол-во поставок], Sum(Поставка.общаяСтоимость) AS Стоимость

FROM Поставка

GROUP BY Month([Поставка]![датаПоставки]), Year([Поставка]![датаПоставки])

HAVING (((Month([Поставка]![датаПоставки]))=[введите месяц]) AND ((Year([Поставка]![датаПоставки]))=[введите год]));

Рисунок 40 - Результат запроса №9

Запрос №10. Запрос на определение общей суммы всех поставок для каждого поставщика. Для выполнения запроса добавляем таблицы «Поставщик» (столбец «фирма»), «Поставка» и «Накладная» (столбец «стоимость»). Для первого определяем групповую операцию, как Группировка, а для второго - Sum. Переименовываем столбец «стоимость» в «Сумма поставок».

Рисунок 41 - Запрос №10 в режиме конструктора

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

SELECT Поставщик.фирма, Sum(Накладная.стоимость) AS [Сумма поставок]

FROM Поставщик INNER JOIN (Поставка INNER JOIN Накладная ON Поставка.кодТТН = Накладная.кодТТН) ON Поставщик.кодПоставщика = Поставка.кодПоставщика

GROUP BY Поставщик.фирма;

Рисунок 42 - Результат запроса №10

Запрос №11.Запрос на отображение информации о количестве продукта, взятого сотрудником. Для выполнения данного запроса выбираем на панели инструментов «Перекрестный» и добавляем таблицы «Продукты», «ЗапросНаПродукт» и «Сотрудник», а из них атрибуты Наименование, Количество и Фамилия соответственно. Для атрибута Количество устанавливаем групповую операцию Count. В строке перекрестная таблица для атрибута Фамилия указываем Заголовки столбцов, для Наименования - Заголовки строк, а для Количества - Значение.

Рисунок 43 - Запрос №11 в режиме конструктора

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

TRANSFORM Count(ЗапросНаПродукт.количество) AS [Count-количество]

SELECT Продукты.наименование

FROM Сотрудник INNER JOIN (Продукты INNER JOIN ЗапросНаПродукт ON Продукты.кодПродукта = ЗапросНаПродукт.кодПродукта) ON Сотрудник.кодСотрудника = ЗапросНаПродукт.кодСотрудника

GROUP BY Продукты.наименование

PIVOT Сотрудник.фамилия;

Рисунок 44 - Результат запроса №11

Запрос №12. Запрос на отображение общей стоимости поставок за месяц. Создаем перекрестный запрос. Для группировки поставок по месяца с помощью построителя даем название Выражение1: Month([Поставка]![датаПоставки]) одному из столбцов.

Рисунок 45 - Запрос №12 в режиме конструктора

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

TRANSFORM Sum(Поставка.общаяСтоимость) AS [Sum-общаяСтоимость]

SELECT Поставщик.фирма

FROM Поставщик INNER JOIN (Поставка INNER JOIN Накладная ON Поставка.кодТТН = Накладная.кодТТН) ON Поставщик.кодПоставщика = Поставка.кодПоставщика

GROUP BY Поставщик.фирма

PIVOT Month([Поставка]![датаПоставки]);

Рисунок 46 - Результат запроса №12

3.3 Создание отчетов

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

Для удобства просмотра информации о наличии продуктов, создадим отчет Продукты. Для этого выберем поля Наименование и ВНаличии из таблицы Продукты, вид макета «Табличный» и зададим отчету имя Продукты.

Отчет представлен в приложении В.

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

Отчет представлен в приложении Г.

Создадим также отчет о стоимости поставок, осуществленных каждым поставщиком, с подведением общей стоимости всех поставок. Для этого выбираем таблицы Поставщик и Поставка (поля Фирма, ДатаПоставки и ОбщаяСтоимость). Группируем по наименованию фирмы и подводим итоги с помощью функции Sum. Имя отчета - Сумма поставок.

Отчет представлен в приложении Д.

3.4 Создание форм

Формы служат удобным средством для ввода, просмотра и редактирования информации в базе данных.

1.Создадим форму «Отдел». Для этого добавим все поля из таблицы отдел и внешний вид формы - в один столбец. Сохраним форму под именем Отдел.

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

Рисунок 47 - Форма «Отдел»

2. Форма, отображающая сотрудников и запросы на продукт, которые они сделали. Для этого выбираем все поля из таблиц Сотрудники и ЗапросНаПродукт, и определяем главную и подчиненную формы. В данном случае главной формой является форма Сотрудники. Сохраняем форму под именем «Запросы сотрудников» и переходим в режим конструктора.

Здесь мы добавляем фоновое изображение и кнопки Первая запись и Последняя запись, а также кнопку для перехода к форме «Отдел». Теперь добавим элемент под названием Поле со списком, для удобства выбора записи. При этом выберем поле, по которому будем искать запись (поле Фамилия). Еще один элемент - кнопка для добавления новой записи. Это кнопка из категории Обработка записей - Добавить запись. Назовем ее «Новый сотрудник». Также добавим кнопку для просмотра отчета о запросах продуктов (Категория Работа с отчетом - Открыть отчет) и переименуем ее в «Отчет по запросам».

Рисунок 48 - Форма «Запросы сотрудников»

3. Создадим форму, отображающую продукты с их видами, а также накладные. Выберем данные из таблиц ВидПродукта, Продукты и Накладная. Добавим на форму элемент Поле со списком (по наименованию продукта) и кнопку Новый продукт (Категория Обработка записей - Добавить запись). Также добавим кнопку для перехода к форме «Поставщики».

Рисунок 49 - Форма «Продукты»

4. Создадим форму для просмотра информации о поставщиках и поставках. Используем данные из таблиц Поставщик и Поставка. Добавляем кнопку для перехода к форме «Продукты», элемент Поле со списком (по атрибуту Фирма), кнопки для перехода к первой и последней записи (Категория Переходы по записям), а также кнопки для добавления или удаления поставщика (Категория обработка записей).

Рисунок 50 - Форма «Поставщики»

И наконец, создается Главная форма. На вкладке Создание выбираем пустую форму, а на нее добавляем кнопки для перехода ко всем формам, а также для просмотра отчетов и выполнения запросов.

Рисунок 51 - Главная форма

Заключение

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

Кнопочные формы позволят просмотреть все необходимые отчеты и запросы о поставках товаров. На примере проделанной работы были рассмотрены практически все функции и возможности Microsoft Accsess. Программа проста в обращении и позволяет систематизировать все данные и заметно сокращает время на их обработку.

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

Список использованных источников

1 Кириллов, В.В. Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб. : БХВ-Петербург, 2009. - 464 с.

2 Хомоненко, А.Д. Базы данных: учебник / А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. - 2-е изд., перераб. и доп. - СПб.: КОРОНА принт, 2002. - 672 с.

3 Оскерко, В.С. Технологии организации, хранения и обработки данных: учеб.-практ. пособие / В.С. Оскерко. - Минск.: БГЭУ, 2002. - 120 с.

4 Карпова, Т.С. Базы данных: модели, разработка, реализация / Т.С. Карпова. - СПб.: Питер, 2002. - 304 с.

5 Хансен, Г. Базы данных: разработка и управление: пер с англ. / Г. Хансен, Дж. Хансен. - М.: БИНОМ, 1999. - 704 с.

6 Вейскас, Дж. Эффективная работа с Мicrosoft Access 2000 / Дж. Вейскас. - СПб.: Питер, 2000. - 1040 с.

7 Ролланд, Ф. Д. Основные концепции баз данных: пер. с англ. / Ф. Д. Ролланд. _ М.: Вильямс, 2002. - 256 с.

8 Оскерко, В.С. Практикум по технологиям баз данных: учеб. пособие / В.С. Оскерко, З.В. Пунчик. _ Минск.: БГЭУ, 2004. - 170 с.

9 Туманов, В.Е. Основы проектирования реляционных баз данных: учеб. пособие для вузов / В.Е. Туманов. - М.: Интернет-Университет Информационных Технологий, БИНОМ, 2007. - 420 с.

10 Диго, С.М. Базы данных: проектирование и использование: учебник / С.М. Диго. - М.: Финансы и статистика, 2005. - 592 с.

11 Кузин, А.В. Базы данных: учеб. пособие / А.В. Кузин, С.В. Левонисова - М.: Академия, 2005. - 320 с.

12 Левчук, Е.. Технологии организации, хранения и обработки данных: учеб. пособие / Е.А. Левчук. - Минск.: Выш. шк., 2005. - 239 с.

13 Роб, П. Системы баз данных: проектирование, реализация и управление: пер. с англ. - 5-е изд., перераб. и доп. / П. Роб. - СПб.: БХВ-Петербург, 2004. - 1040 с.

14 Диго, С.М. Access: учеб.-практ. пособие / С.М. Диго. - М. : Велби; Проспект, 2008. - 240 с.

15 Microsoft Access 2003. Шаг за шагом: практ. пособие: пер. с англ. - М.: ЭКОМ, 2007. - 432 с.

16 Сеннов, А.С. Access 2003. Практическая разработка баз данных: учеб. курс / А.С. Сеннов. - СПб.: Питер, 2006. - 256 с.

17 Михеева, В.Д. Microsoft Access 2003 / В.Д. Михеева, И.А. Харитонова. - СПб.: БХВ-Петербург, 2006. - 1072 с.

18 Бекаревич, Ю.Б. Самоучитель Microsoft Access 2002 / Ю.Б. Бекаревич, Н.В. Пушкина. - СПб.: БХВ-Петербург, 2002. - 720 с.

19 Microsoft Access 2002. Русская версия. Шаг за шагом: практ. пособ.: пер. с англ. - М.: ЭКОМ, 2002. - 352 с

Приложение А

Рисунок А.1 - Семантическая модель

Рисунок Б.1 - Логическая модель

Размещено на Allbest.ru


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

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

    лабораторная работа [2,4 M], добавлен 15.11.2010

  • Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.

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

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

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

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

    отчет по практике [523,6 K], добавлен 21.04.2014

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

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

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

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

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

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

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

    реферат [1,9 M], добавлен 27.12.2013

  • Создание базы данных при помощи Microsoft Access по ведению учета продукции склада, её стоимости при покупке и продаже продуктов. Проектирование таблиц "Клиенты", "Документы", "Товары", "Содержание документов". Реализация пользовательского интерфейса.

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

  • Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.

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

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