Автоматизация и учет поставок товаров

4





Содержание



Введение…………………………………………………………………….4

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

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

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

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

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

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

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

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

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

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

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

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

Заключение………………………………………………………………..34 

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

Приложения























































Введение



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

Одним из наиболее распространенных классов систем обработки данных являются автоматизированные информационные системы. 

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

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

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

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

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

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

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

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











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



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



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

Виды товаров могут характеризоваться следующими атрибутами:

код вида товара;

название вида товара.

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

Все поставляемые товары имеют свою страну изготовителя. Каждая страна изготовитель имеет следующие данные:

- код страны изготовителя;

- название страны изготовителя.

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

Все товары имеют своих поставщиков и могут также поставляться несколько раз. Каждый поставщик имеет:

код поставщика;

название фирмы поставщика;

адрес фирмы;

телефон фирмы.

Все поставщики осуществляют поставки товаров. Каждый поставщик может поставлять товар несколько раз. Каждая поставка имеет следующие данные:

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

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

- количество поставленных единиц;

- стоимость поставки.

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

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

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

2) название данного товара;

3) стоимость единицы товара.

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

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



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

  

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

продавцы и консультанты магазина косметики;

администрация магазина;

покупатели.

При работе с системой продавец должен иметь возможность решать следующие задачи:

	- принимать новые поставки и регистрировать их в системе. При этом необходимо присваивать новые коды товарам, которые ранее не поставлялись, и внести дату новой поставки. Также может учитываться количество товаров и их стоимость за каждую единицу продукции;

	- производить расчет стоимости товаров в зависимости от их количества и цены за единицу продукции;

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

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

	1) просматривать перечень имеющихся в наличии товаров;

	2) интересоваться в какой стране был изготовлен интересующий покупателя товар;

	3) просматривать информацию о цене одной единицы товара.

	Администрация магазина должна иметь возможность:

	- отслеживать своевременность поставок;

	- подсчитывать стоимость поставки;

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

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

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

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

	

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

	

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

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

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

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

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

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

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

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

	Семантическая модель предметной области «Поставка товаров в магазин косметики» представлена в приложении А.

	

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

	

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

	Родительской является сущность, которая передает копию своего первичного ключа в отношение, представляющее дочернюю сущность для использования в качестве внешнего ключа.

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

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

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

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

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

	Выполним проверку полученных отношений на соответствие нормальным формам.

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

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

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

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

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

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

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

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

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

	База данных содержит отношения, не имеющие многозначные зависимости.

	Таким образом, отношение соответствует всем четырем нормальным формам.

	

	

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

	

	Физические характеристики атрибутов представлены в таблице 1.

	

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

	

Имя атрибута

Тип

Размер

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

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

КодВида

Числовой

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

Да

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

Текстовый

25 символов

Да

Таблица СТРАНА ИЗГОТОВИТЕЛЬ

КодСтраны

Числовой

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

Да

НазваниеСтраны

Текстовый

20 символов

Да

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

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

Числовой

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

Да

Поставщик

Текстовый

25 символов

Да

Адрес

Текстовый

25 символов

Да

Телефон

Числовой

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

Да

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

КодПоставки

Числовой

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

Да

КодВида

Числовой

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

Да

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

Числовой

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

Да

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

Дата/время

Краткий формат даты

Да

СтоимостьПоставки

Денежный

 

Да

КоличествоПоставленныхЕдиниц

Числовой

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

Да

Таблица ТОВАР

КодТовара

Числовой

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

Да

КодВида

Числовой

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

Да

КодСтраны

Числовой

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

Да

НазваниеТовара

Текстовый

20 символов

Да

СтоимостьЕдиницыПро-дукции

Денежный

 

Да

	

	

	

	

	

	

	

	

	

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

	

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

	

	Создадим базу данных для ввода, хранения данных о поставках товаров, поставщиках, которые поставляют эти товары, видах товаров и странах изготовителях. 

Новую таблицу для ввода данных можно создать тремя способами:

	1) с помощью мастера таблиц;

	2) в режиме таблицы (путем ввода данных);

	3) в режиме конструктора.

	Создадим таблицы базы данных в режиме конструктора. Создадим новую таблицу и сохраним ее в базе данных под именем «Вид товара». 

	Для создания таблицы в режиме конструктора нажмем кнопку «Таблицы» на панели «Объекты окна базы данных», а затем кнопку «Создание таблицы в режиме конструктора». Появится окно конструктора.

	Окно конструктора таблицы заполним атрибутами таблицы «Вид товара».

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

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

	В свойствах поля в разделе Общее укажем, что поле обязательное. Тоже сделаем для всех полей.

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

	Пример структуры таблицы в режиме конструктора приведен на рисунке 1.

	

	

	

	

	

	

	

	

	

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

	

	Завершим работу с таблицей, предварительно сохранив ее под именем «Вид товара».

	Аналогично строятся и остальные таблицы: «Страна изготовитель», «Поставщик», «Поставка» и «Товар». Их структура в режиме конструктора представлена на рисунках 2,3,4 и 5.

	

	

	

	Рисунок 2 – Структура таблицы «Страна изготовитель» в режиме конструктора

	

	

	

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

	

	

	

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

	

	

	

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

	

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

	Теперь установим связи между таблицами. Для этого выполняем следующие действия:

1) закроем все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя;

2) переключимся в окно базы данных. Для переключения в окно базы данных из других окон нажмем клавишу F11;

3) нажмем кнопку  на панели инструментов или выберите меню «Сервис/Схема данных»;

4) если в базе данных не определено никаких связей, то на экран автоматически выводится окно «Добавление таблицы»;

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

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

При этом в разделе «Тип отношения»  автоматически устанавливается тип связи - Один-ко-многим.

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

Аналогично производится связывание всех остальных таблиц базы.

В результате получим схему данных, представленную на рисунке 6.







Рисунок 6 – Схема данных



Теперь мы можем вводить данные в таблицы, при этом сначала заполняем главные таблицы, затем для каждой записи главной таблицы создаем несколько записей в подчиненной таблице. Примеры заполненных таблиц представлены на рисунках 7, 8, 9, 10 и 11.







Рисунок 7 – Таблица «Вид товара»







Рисунок 8 – Таблица «Страна изготовитель»







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







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









Рисунок 11 – Таблица «Товар»



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

	

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

	Динамическая таблица должна содержать поля «Код товара», «Название товара», «Вид товара» и «Страна изготовитель». 

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

	Чтобы вывести на экран только те товары, которые изготовлены во Франции, в строке «Условие отбора» для поля «Название страны» введем слово «Франция» и нажмем Enter. Чтобы запустить запрос на выполнение, необходимо выполнить команду меню «Вид/Режим таблицы» или открыть список инструмента  и выбрать в нем «Режим таблицы» или нажать кнопку  на панели инструментов или выполнить команду меню «Запрос/Запуск». Запрос в режиме конструктора представлен на рисунке 12.

	

	

	Рисунок 12 – Запрос «Товары из Франции» в режиме конструктора

	

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

	

	

	

	Рисунок 13 – Запрос «Товар из Франции» в режиме таблицы

	

	Текст запроса «Товары из Франции» на языке SQL:

	SELECT Товар.кодТовара, Товар.названиеТовара,                                      ВидТовара.видТовара, [Страна изготовитель].названиеСтраны

	FROM [Страна изготовитель] INNER JOIN (ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида) ON [Страна изготовитель].кодСтраны = Товар.кодСтраны

	WHERE ((([Страна изготовитель].названиеСтраны)="Франция"))

	ORDER BY Товар.названиеТовара.

	Запрос 2. Далее создадим запрос для отбора тех товаров, стоимость которых составляет более 4000 рублей. 

	Динамическая таблица должна содержать поля «Код товара», «Название товара», «Вид товара» и «Стоимость единицы продукции». 

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

	Чтобы вывести на экран только те товары, стоимость которых более 4000 рублей, в строке «Условие отбора» для поля «Стоимость единицы продукции» введем выражение «>4000» и нажмем Enter. Запрос в режиме конструктора представлен на рисунке 14.

	

	

	

	Рисунок 14 – Запрос «Стоимость товаров более 4000 рублей» в режиме конструктора

	

	Результат запроса в режиме таблицы представлен на рисунке 15

	

	

	

	Рисунок 15 – Запрос «Стоимость товаров более 4000 рублей» в режиме таблицы

	

	Текст запроса «Стоимость товаров более 4000 рублей» на языке SQL:

	SELECT Товар.кодТовара, Товар.названиеТовара, ВидТовара.видТовара, Товар.стоимостьЕдиницыПродукции

	FROM ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида

	WHERE (((Товар.стоимостьЕдиницыПродукции)>4000)).

	Запрос 3. Создадим запрос для отбора информации о поставщиках из Минска. 

	Динамическая таблица должна содержать поля «Код поставщика», «Поставщик» и «Адрес». 

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

	Чтобы вывести на экран только поставщиков из Минска в строке «Условие отбора» для поля «Адрес» введем выражение Like "Минск*" и нажмем Enter. Запрос в режиме конструктора представлен на рисунке 16.

	

	

	

	Рисунок 16 – Запрос «Поставщики из Минска» в режиме конструктора

	

	Результат запроса в режиме таблицы представлен на рисунке 17

	

	

	

	Рисунок 17 – Запрос «Поставщики из Минска» в режиме таблицы

	

	Текст запроса «Поставщики из Минска» в режиме SQL:

	SELECT Поставщик.кодПоставщика, Поставщик.поставщик, Поставщик.адрес

	FROM Поставщик

	WHERE (((Поставщик.адрес) Like "Минск*"));

	Запрос 4. Далее  создадим запрос на для изменения стоимости товаров третьего вида на 500 рублей. Нужно подсчитать новую стоимость товаров данного вида.

	Динамическая таблица должна содержать поля «Код товара», «Название товара», «Название вида» и «Стоимость единицы продукции». 

	Для создания такого запроса нажмем кнопку «Запросы» на панели  «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Далее щелчком мыши выделяем таблицы «Товар» и «Вид товара» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Затем в бланк запроса добавляем поля «Код товара», «Название товара», «Стоимость единицы продукции» из таблицы «Товар» и «Код вида» из таблицы «Вид товара». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Щелкните мышкой в стоке «Условие отбора» для поля «Код вида», введем «3» и нажмем Enter. Добавим в запрос вычисляемое поле для расчета новой цены. Для этого в пустую ячейку строки «Поле» бланка запроса введем следующее выражение: «НоваяЦена: [стоимостьЕдиницыПродукции]+500». Запрос в режиме конструктора представлен на рисунке 18.

	

	

	

	Рисунок 18 – Запрос «Новая цена товара определенного вида» в режиме конструктора

	

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

	

	

	

	Рисунок 19 – Запрос «Новая цена товара определенного вида»  в режиме таблицы

	

	Текст запроса «Новая цена товара определенного вида» в режиме SQL:

	SELECT Товар.кодТовара, Товар.названиеТовара, ВидТовара.кодВида, Товар.стоимостьЕдиницыПродукции, [стоимостьЕдиницыПродукции]+500 AS НоваяЦена

	FROM ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида

	WHERE (((ВидТовара.кодВида)=3));

Запрос 5. Теперь создадим запрос на обновление для подсчета стоимости поставок. Для реализации этого запроса загружаем «Конструктор запросов», затем в меню «Запрос» вызываем команду «Обновление»,  добавляем таблицы «Поставка» и «Товар», выбираем поле «Стоимость поставки» и в появившуюся строку «Обновить»  конструктора запросов вводим выражение: [стоимостьЕдиницыПродукции]*[количествоПоставленныхТоваров]. Чтобы расчет выполнялся только для тех записей, для которых стоимость ещё не вычислена,  в строке «Условие отбора» пишем выражение «Is Null». После запуска запроса на выполнение появится диалоговое окно, в котором нужно нажать кнопку «Да». Запрос в режиме конструктора представлен на рисунке 20.



	

	

	Рисунок 20 – Запрос «Стоимость поставок» в режиме конструктора

	

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

	

	

	

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

	

	Текст запроса «Стоимость поставок» в режиме SQL:

	UPDATE Товар INNER JOIN Поставка ON Товар.кодТовара = Поставка.кодТовара SET Поставка.стоимостьПоставки  =  [количествоПоставленныхЕдиниц]*[стоимостьЕдиницыПродукции]

	WHERE (((Поставка.стоимостьПоставки) Is Null));

	Запрос 6. Создадим запрос для вычисления средней цены каждого вида товара. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Вид товара» и «Товар» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Далее добавим в бланк запроса поле «Вид товара» из таблицы «Вид товара» и поле «Стоимость единицы продукции» из таблицы «Товар».  Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке  на панели инструментов конструктора запросов, чтобы в бланке запроса появилась строка «Групповая операция», или выполним команду меню «Вид/Групповые операции» или установим курсор мышки на одно из полей запроса в бланке запросов, нажмем правую клавишу мышки и выполним команду «Групповые операции». Теперь укажем, что для каждого вида товара должна быть вычислена средняя цена. Для этого в строке «Групповая операция» бланка запроса для поля «Стоимость единицы продукции» выберем из списка функцию Avg. Для этого поля зададим следующие свойства: формат поля – денежный, число десятичных знаков – 0. Зададим сортировку записей динамической таблицы по возрастанию по итоговому полю. Для этого в строке «Сортировка» бланка запроса для поля «Оценка» выберите из списка «по возрастанию». Присвоим вычисляемому полю имя «Средняя цена». Для чего щелчком мыши, установив текстовый курсор перед именем поля «Стоимость единицы продукции», введем «Средняя цена:». Запрос в режиме конструктора представлен на рисунке 22.

	

	

	

	Рисунок 22 – Запрос «Средняя цена каждого вида» в режиме конструктора

	

	Данный запрос в режиме таблицы представлен на рисунке 23.

	

	

	

	Рисунок 23 – Запрос «Средняя цена каждого вида» в режиме таблицы

	

	Текст запроса «Средняя цена каждого вида» в режиме SQL:

	SELECT ВидТовара.видТовара, Avg(Товар.стоимостьЕдиницыПродукции) AS [Средняя стоимость]

	FROM ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида

	GROUP BY ВидТовара.видТовара

	ORDER BY Avg(Товар.стоимостьЕдиницыПродукции);

	Запрос 7. Создадим итоговый запрос для подсчета количества поставок, осуществленных каждым поставщиком. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке  на панели инструментов конструктора запросов, чтобы в бланке запроса появилась строка «Групповая операция», или выполним команду меню «Вид/Групповые операции» или установим курсор мышки на одно из полей запроса в бланке запросов, нажмем правую клавишу мышки и выполним команду «Групповые операции». Теперь укажем, что для каждого поставщика должно быть вычислено количество поставок, которые он осуществил. Для этого в строке «Групповая операция» бланка запроса для поля «Код поставки» выберем из списка функцию Count. Далее присвоим вычисляемому полю имя «Количество поставок». Для чего щелчком мыши, установив текстовый курсор перед именем поля «Код поставки» и введем «Количество поставок:». Сохраним запрос, выполнив команду меню «Файл/Сохранить», в поле имя запроса введем: «Количество поставок» и нажмем ОК. Запрос в режиме конструктора представлен на рисунке 24.

	

	

	

	Рисунок 24 – Запрос «Количество поставок» в режиме конструктора 

	

	Данный запрос в режиме таблицы представлен на рисунке 25.

	

	

	

	Рисунок 25 - Запрос «Количество поставок» в режиме таблицы

	

	Текст запроса «Количество поставок» в режиме SQL:

	SELECT Поставка.кодПоставщика, Поставщик.поставщик,                          Count(Поставка.кодПоставки) AS [Количество поставок]

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

	GROUP BY Поставка.кодПоставщика, Поставщик.поставщик;

	Запрос 8. Создадим запрос для подсчета количества товаров, поставленных каждым поставщиком. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке  на панели инструментов конструктора запросов, чтобы в бланке запроса появилась строка «Групповая операция», или выполним команду меню «Вид/Групповые операции» или установим курсор мышки на одно из полей запроса в бланке запросов, нажмем правую клавишу мышки и выполним команду «Групповые операции». Теперь укажем, что для каждого поставщика должно быть вычислено количество всех поставленных единиц товаров. Для этого в строке «Групповая операция» бланка запроса для поля «Количество поставленных единиц» выберем из списка функцию Sum. Далее присвоим вычисляемому полю имя «Количество товаров». Для этого щелчком мыши установим текстовый курсор перед именем поля «Количество поставленных единиц» и введем «Количество товаров:». Сохраним запрос, выполнив команду меню «Файл/Сохранить», в поле имя запроса введем: «Количество товаров, поставленных всего каждым поставщиком» и нажмем ОК. Запрос в режиме конструктора представлен на рисунке 26.

	

	

	

	Рисунок 26 – Запрос «Количество товаров, поставленных всего каждым поставщиком» в режиме конструктора

	

	Данный запрос в режиме таблицы представлен на рисунке 27.

	

	

	

	Рисунок 27 – Запрос «Количество товаров, поставленных всего каждым поставщиком» в режиме  таблицы

	

	Текст запроса «Количество товаров, поставленных всего каждым поставщиком» в режиме SQL:

	SELECT Поставка.кодПоставщика, Поставщик.поставщик, Sum(Поставка.количествоПоставленныхЕдиниц) AS [Количество товаров]

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

	GROUP BY Поставка.кодПоставщика, Поставщик.поставщик;

	Запрос 9. Теперь создадим перекрестный запрос для подсчета количества поставленных единиц товара каждым поставщиком за все поставки. Чтобы это сделать, необходимо нажать кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Далее щелчком мыши выделим таблицы  «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Добавим в бланк запроса поля «Поставщик» из таблицы «Поставщик» и поля «Код поставки», «Количество поставленных единиц» (2 раза) из таблицы «Поставка». Теперь определим тип создаваемого запроса. Для этого выполните команду меню «Запрос/Перекрестный». Далее укажем, что значения поля «Поставщик» будут использоваться в качестве заголовков строк, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки строк». Затем укажем, что значения поля «Код поставки» будут использоваться в качестве заголовков столбцов, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки столбцов». Теперь нужно указать, что поле «Количество поставленных единиц» содержит значения, на основании которых будет вычисляться количество всех поставленных товаров. Для этого нужно в строке «Перекрестная таблица» бланка запроса для поля «Количество поставленных единиц» выберите из списка «Значение», а далее в строке «Групповая операция» бланка запроса для поля «Количество поставленных единиц» выберем из списка функцию Sum. Добавим в перекрестный запрос столбец, содержащий сумму всех поставленных единиц товара за все поставки. Для этого нужно еще раз перенести в бланк запроса поле «Количество поставленных единиц», в строке «Перекрестная таблица» бланка запроса для этого поля выберем из списка «Заголовки строк», а затем в строке «Групповая операция» бланка запроса для этого поля выберите из списка функцию Sum. Присвоим вычисляемому полю имя «Всего товаров», установив щелчком мыши текстовый курсор перед именем поля «Количество поставленных единиц»  и введя «Всего товаров:». Сохраним запрос в базе данных под именем «Всего поставлено товаров», для этого выполним команду меню «Файл/Сохранить», в поле имя запроса введем: «Всего поставлено товаров» и нажмем ОК. Запрос в режиме конструктора представлен на рисунке 28.

	

	

	

	Рисунок 28 – Запрос «Всего поставлено товаров» в режиме конструктора

	

	Данный запрос в режиме таблицы представлен на рисунке 29.

	

	

	

	Рисунок 29 - Запрос «Всего поставлено товаров» в режиме таблицы

	

	Запрос в режиме SQL выглядит следующим образом:

	TRANSFORM Sum(Поставка.количествоПоставленныхЕдиниц) AS Всего

	SELECT Поставщик.поставщик, Sum(Поставка.количествоПоставленныхЕдиниц) AS Всего

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

	GROUP BY Поставщик.поставщик

	PIVOT Поставка.кодПоставки;

	Запрос 10. Создадим перекрестный запрос, чтобы подсчитать количество поставленных товаров каждого вида. Для этого необходимо нажать кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Далее щелчком мыши выделим таблицы  «Товар», «Вид товара» и «Поставка» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Добавим в бланк запроса поля «Вид товара» из таблицы «Вид товара», поле «Название товара» из таблицы «Товар» и поле «Количество поставленных единиц» (2 раза) из таблицы «Поставка». Теперь определим тип создаваемого запроса. Для этого выполните команду меню «Запрос/Перекрестный». Далее укажем, что значения поля «Вид товара» будут использоваться в качестве заголовков строк, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки строк». Затем укажем, что значения поля «Название товара» будут использоваться в качестве заголовков столбцов, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки столбцов». Теперь нужно указать, что поле «Количество поставленных единиц» содержит значения, на основании которых будет вычисляться количество всех товаров. Для этого нужно в строке «Перекрестная таблица» бланка запроса для поля «Количество поставленных единиц» выберать из списка «Значение», а далее в строке «Групповая операция» бланка запроса для поля «Количество поставленных единиц» выберем из списка функцию Sum. Добавим в перекрестный запрос столбец, содержащий сумму всех поставленных единиц товара каждого вида. Для этого нужно еще раз перенести в бланк запроса поле «Количество поставленных единиц», в строке «Перекрестная таблица» бланка запроса для этого поля выберем из списка «Заголовки строк», а затем в строке «Групповая операция» бланка запроса для этого поля выберите из списка функцию Sum. Присвоим вычисляемому полю имя «Всего товаров», установив щелчком мыши текстовый курсор перед именем поля «Количество поставленных единиц»  и введя «Всего товаров:». Сохраним запрос в базе данных под именем «Всего товаров каждого вида», для этого выполним команду меню «Файл/Сохранить», в поле имя запроса введем: «Всего товаров каждого вида» и нажмем ОК. Запрос в режиме конструктора представлен на рисунке 30.

	

	

	

	

	

	Рисунок 30 – Запрос «Всего товаров каждого вида» в режиме конструктора

	

	Данный запрос в режиме таблицы представлен на рисунке 31.

	

	

	

	Рисунок 31 - Запрос «Всего товаров каждого вида» в режиме таблицы

	

	Запрос в режиме SQL выглядит следующим образом:

	TRANSFORM Sum(Поставка.количествоПоставленныхЕдиниц) AS [Sum-количествоПоставленныхЕдиниц]

	SELECT ВидТовара.видТовара, Поставка.количествоПоставленныхЕдиниц AS Всего

	FROM (ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида) INNER JOIN Поставка ON Товар.кодТовара = Поставка.кодТовара

	GROUP BY ВидТовара.видТовара, Поставка.количествоПоставленныхЕдиниц

	PIVOT Товар.названиеТовара;

	

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

	

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

Создадим отчет при помощи мастера.  В появившемся окне выбираем таблицу «Поставщик» и из нее добавляем поле «Поставщик». Далее добавляем таблицу «Поставка». Из нее добавляем поля «Код поставки», «Дата поставки»,  «Количество поставленных единиц» и «Стоимость поставки». Нажимаем кнопку «Далее». Появится окно «Выберите вид представления данных», мы ничего не выбираем и нажимаем кнопку «Далее». Появится окно «Добавить уровни группировки?». Без добавления уровней группировки нажимаем «Далее». В появившемся окне нажимаем на «Итоги», выбираем «Sum» для поля «Количество поставленных единиц». Затем выбираем макет для отчета «по левому краю 1». Требуемый стиль выбираем «Полужирный» и нажимаем «Готово». У нас появляется отчет, который будет показывать названия поставщиков, даты поставок, количество поставленных товаров за каждую поставку и стоимость каждой поставки. Также по этим данным будет отображена сумма количества поставленных товаров каждым поставщиком. 

Отчет сохраняем под названием «Отчет по поставщикам». Заходим в отчет через конструктор и меняем названия поля «Sum»  на «Всего поставлено товаров» .

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

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

Выбираем создание отчета с помощью мастера. В появившемся окне выбираем таблицу «Вид товара» и из нее добавляем поле «Вид товара». Далее выбираем таблицу «Товар» и выделяем поля «Название товара» и «Стоимость единицы продукции». Нажимаем кнопку «Далее». Появится окно «Выберите вид представления данных», мы ничего не выбираем и нажимаем кнопку «Далее». Появится окно «Добавить уровни группировки?». Без добавления уровней группировки нажимаем «Далее». В появившемся окне нажимаем на «Итоги», выбираем «Min» и «Max». Затем выбираем макет для отчета «по левому краю 2». Требуемый стиль выбираем «Деловой». И нажимаем «Готово». 

Отчет сохраняем под именем «Вид товара». Названия полей «Min» и «Max» меняем на «Min цена» и «Max цена» соответственно.

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



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



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

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







Рисунок 32 – Форма «Товар»



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







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















Заключение



В данной работе была разработана база данных по поставке товаров в магазин косметики. 

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

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

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

















































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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Золотова, С. И. Практикум по Access / С. И. Золотова. – М.: Финансы и статистика, 2000. – 144 с.

Приложение А

(обязательное)





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











































Приложение Б

(обязательное)







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







































Приложение В

(обязательное)



	ВидТовара

			видТовара	Шампунь

			названиеТовара	стоимостьЕдиницыПродукци

			Шампунь для нормальных волос	4 000р.

			Шампунь для сухих волос	4 000р.

			Шампунь для окрашенных волос	4 000р.

		Итоги для 'кодВида' =  1 (3 записей)

			Min цена	4 000р.

			Max цена	4 000р.

			видТовара	Лак

			названиеТовара	стоимостьЕдиницыПродукци

			Лак для волос сильной 	5 000р.

		фиксации

			Лак для волос средней 	4 800р.

		фиксации

			Лак для ногтей	2 400р.

		Итоги для 'кодВида' =  2 (3 записей)

			Min цена	2 400р.

			Max цена	5 000р.

			видТовара	Крем

			названиеТовара	стоимостьЕдиницыПродукци

			Крем для тела	5 000р.

			Крем для рук для 	2 000р.

		комбинированной кожи

			Крем для рук влажняющий	2 200р.

			Крем для лица для сухой кожи	3 000р.

			Крем для лица для 	3 500р.

		нормальной кожи

		Итоги для 'кодВида' =  3 (5 записей)

			Min цена	2 000р.

			Max цена	5 000р.

			видТовара	Гель для душа

			названиеТовара	стоимостьЕдиницыПродукци

			Гель для душа очищающий	3 000р.

			Гель для душа увлажняющий	3 100р.

		Итоги для 'кодВида' =  4 (2 записей)

			Min цена	3 000р.

			Max цена	3 100р.

			видТовара	Тушь для ресниц

			названиеТовара	стоимостьЕдиницыПродукци

			20 декабря 2010 г.	Страница 1 из 2

		
	Тушь для ресниц удлинняющая	7 000р.

			Тушь для ресниц 	7 500р.

		подкручивающая

			Тушь для ресниц объем	8 000р.

		Итоги для 'кодВида' =  5 (3 записей)

			Min цена	7 000р.

			Max цена	8 000р.

			видТовара	Помада

			названиеТовара	стоимостьЕдиницыПродукци

			Помада увеличивающая	6 000р.

			Помада увлажняющая	6 100р.

		Итоги для 'кодВида' =  6 (2 записей)

			Min цена	6 000р.

			Max цена	6 100р.

			видТовара	Блеск для губ

			названиеТовара	стоимостьЕдиницыПродукци

			Блеск для губ увеличивающий	3 000р.

			Блеск для губ увлажняющий	3 000р.

		Итоги для 'кодВида' =  7 (2 записей)

			Min цена	3 000р.

			Max цена	3 000р.

			видТовара	Пенка для волос

			названиеТовара	стоимостьЕдиницыПродукци

			Пенка для волос сильной 	4 200р.

		фиксации

			Пенка для волос 	4 000р.

		расглаживающая

			Пенка для волос для объема	4 200р.

		Итоги для 'кодВида' =  8 (3 записей)

			Min цена	4 000р.

			Max цена	4 200р.



Рисунок В.1 – Отчет «Вид товара»

































Приложение Г

(обязательное)



	Поставщики

			поставщик	Nivea

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1008	01.03.2007	40	240 000,00р.

					1002	20.01.2007	30	105 000,00р.

		Итоги для 'кодПоставщика' =  100 (2 записей)

			Количество поставленных товаров	70

			поставщик	Garnier

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1001	08.01.2007	25	125 000,00р.

		Итоги для 'кодПоставщика' =  110 (1 запись)

			Количество поставленных товаров	25

			поставщик	Sunsilk

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1007	23.02.2007	21	65 100,00р.

					1003	24.01.2007	20	80 000,00р.

		Итоги для 'кодПоставщика' =  120 (2 записей)

			Количество поставленных товаров	41

			поставщик	Vichi

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1010	28.03.2007	20	60 000,00р.

					1005	06.02.2007	24	96 000,00р.

		Итоги для 'кодПоставщика' =  130 (2 записей)

			Количество поставленных товаров	44

			поставщик	Chanel

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1006	14.02.2007	35	175 000,00р.

					1004	30.01.2007	15	120 000,00р.

		Итоги для 'кодПоставщика' =  140 (2 записей)

			Количество поставленных товаров	50

			20 декабря 2010 г.	Страница 1 из 2

		
	поставщик	Lambre

					кодПоставки	датаПоставки	количествоПоставленныхЕдиниц	стоимостьПоставки

					1009	13.03.2007	35	213 500,00р.

					1000	01.01.2007	20	60 000,00р.

		Итоги для 'кодПоставщика' =  150 (2 записей)

			Количество поставленных товаров	55

			ИТОГО	285



Рисунок Г.1 – Отчет «Поставщики»