Министерство образованияи науки Российской Федерации
Федеральное агентствообразования
Государственноеобразовательное учреждение высшего профессионального образования
«Ижевский государственныйтехнический университет»
Кафедра «Экономикапредприятия»
КУРСОВАЯ РАБОТА
по дисциплине «Учебныйпрактикум на компьютере»
на тему: «Основныепринципы работы базы данных MSAccess: составлениеспецификации на поставку товаров по заказам клиентов»
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года). При этом работники предприятия имеют возможность просмотреть и стоимостиэтих заказов.
Такимобразом, составление таблиц, запросов, форм и отчетов во многом помогает вработе предприятия, облегчая труд людей.