Основные принципы работы базы данных MS Access: составление спецификации на поставку товаров по заказам клиентов

Министерство образования и науки Российской Федерации

Федеральное агентство образования

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

«Ижевский государственный технический университет»

Кафедра «Экономика предприятия»









	КУРСОВАЯ РАБОТА

	по дисциплине «Учебный практикум на компьютере»

	на тему: «Основные принципы работы базы данных MS Access: составление спецификации на поставку товаров по заказам клиентов»





























	2006


СОДЕРЖАНИЕ



Введение

Первичный ключ

Раздел 1

Раздел 2

Заключение




ВВЕДЕНИЕ



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

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

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

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

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

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




Первичный ключ



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

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

Так же поля Код товара в таблице Товары и Код клиента в таблице Клиенты будет использоваться как ключевые, так как различные товары могут заказать разные клиенты. В связи с этим такие поля как ФИО клиента, Наименование товара, Цена товара за единицу не могут быть использованы в качестве ключевых.

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




РАЗДЕЛ 1

база данные товар поставка заказ

	Задача составления спецификации на поставку товаров по заказам клиентов.

	1. База данных должна содержать следующие сведения: код товара, наименование товара, цена товара за единицу, номер заказа, дата заказа, код клиента, наименование клиента, количество заказанного товара.

	2. Запросы к базе данных должны обеспечивать получение данных о клиентах и формирование отчета о заказанных товарах и стоимости заказа.

Описание выполнения работы

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







Аналогично создаем еще 3 таблицы: Заказы (код заказа – ключевое поле, номер заказа, дата заказа, код клиента), Заказано (код заказа - ключевое, код товара - ключевое, количество заказанного товара) и Клиенты (Код клиента – ключевое, ФИО клиента, адрес клиента).



 







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





Создадим запрос на выборку в режиме конструктора, который должен обеспечивать получение данных о клиентах и заказанных ими товарах и стоимости заказов. Используя все таблицы, выбираем из них ФИО клиента, наименование товара, количество заказанного товара. Для того, чтобы узнать стоимость заказа, создадим формулу: стоимость = Sum([Количество заказанного товара] *[ Цена товара за единицу]).







В итоге получаем таблицу в виде:







Создание формы.

Сначала создадим запрос, в котором будут содержаться все поля всех таблиц (Запрос1).





Теперь создадим новую форму в конструкторе, в свойствах выберем Источник записей – Запрос1, чтобы связать ее с запросом. Из Списка полей перетащим в форму нужные поля. Добавим в форму кнопки Предыдущая запись, Следующая запись, Добавить новую запись, Удалить запись и Кнопка закрытия. Для этого на панели инструментов находим кнопку и нажимаем на нее. Затем нажимаем мышкой на форме и производим нужные действия.

Установим некоторые свойства для формы. Выберем пункт меню Вид – Свойства (в заголовке появившегося окна должна отображаться надпись Форма):

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

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

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

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

	

	

	

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

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

	

	

	



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

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

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

	Отчет создадим в режиме Конструктора. Необходимо получить данные о заказанных товарах и стоимости заказа.

	Для начала добавим Заголовок отчета, который будет использоваться в качестве титульной страницы: Отчет о стоимости заказов. Затем откроем запрос Запрос 1, возьмем из него поля ФИО, Адрес, Номер заказа, Дата заказа, Товары, Количество, Стоимость. Эти поля размещаем в верхнем колонтитуле. Далее в область данных помещаем поля Наименование товара, Количество заказанного товара, Цена товара за единицу.

	В данной таблице будет два уровня группировки. Для создания первого находим на панели инструментов кнопку Сортировка и группировка. В поле/выражение ставим поле Клиенты.ФИО клиента, указав порядок сортировки по возрастанию. В свойствах изменяем заголовок группы – да, примечание – да. В появившийся заголовок группы перетаскиваем поля ФИО, Адрес клиента. Аналогично сортируем и группируем по номеру заказа. В примечании группы «Номер заказа» вводим новое поле: нажимаем на панели инструментов кнопку Поле, затем в отчете в примечании группы. Появилось новое поле. Назовем его Стоимость заказа. В ячейке Свободный введем: =Sum([Количество заказанного товара]*[Цена товара за единицу]). Таким образом подсчитаем стоимость каждого заказа клиента.

	Аналогично подсчитаем стоимость заказа в примечании группы «ФИО клиента». В данном случае мы получим стоимость всех заказов по каждому клиенту.

	

	

	Нажимаем Вид – Предварительный просмотр.

	

	
Получаем:

	

	

	

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

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

Довольно часто макросы используют для поиска определенных записей в базе. Эти макросы используют две макрокоманды: КЭлементуУправления и НайтиЗапись.

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

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

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

		а) введем КЭлементуУправления в первой пустой ячейке столбца Макрокоманда;

		б) введем [Наименование товара] в ячейку аргумента Элемент;

		в) введем НайтиЗапись в следующей пустой ячейке столбца Макрокоманда;

		г) введем =[Поиск товара] в строке аргумента Образец поиска;

		Сохраним макрос под именем Макрос 1.

		

		


		

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

	а) перейдем к свойству После обновления элемента управления Поиск товара;

	б) введем Макрос 1 в соответствующую ячейку.

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

	

	

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

		а) нарисуем кнопку в любом месте формы, в свойствах этого объекта укажем: Подпись – Добавить запись в таблицу Товары, Рисунок – отсутствует.

		б) создадим новый макрос, в пустой ячейке столбца Макрокоманды выберем ОткрытьТаблицу, в ячейке аргумента Имя таблицы выбираем Товары, в ячейке аргумента Режим данных выбираем добавление;

		Сохраним этот макрос под именем Добавление.

		

		

		

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

		

		

РАЗДЕЛ 2



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

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







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

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

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

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

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

Для наглядного отображения сведений о клиентах и их заказах составлен отчет. Для открытия отчета выбираем в окне «Курсовая: база данных» справа Отчеты. Открываем отчет - Стоимость заказов клиента. Появляется окно. В отчете изменять данные и добавлять нельзя, здесь наглядно представлены сведения о клиентах и их заказах, упорядоченные по ФИО и Номеру заказа. В данном отчете представлены товары, которые заказал в каждом заказе клиент, их количество и подсчитана стоимость каждого заказа, а также стоимость всех заказов клиента.

Для добавления и изменения полей в Таблицах, Запросах, Формах или Отчете необходимо войти в режим конструктор. Для этого открываем нужное окно и находим нужную кнопку на панели инструментов базы данных или нажимаем Вид – Конструктор.




ЗАКЛЮЧЕНИЕ



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

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









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

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












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

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