Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Образец выполнения задания №3

Составить базу данных, которая решает следующие задачи: учёт товара, выдача данных о поставщиках и поставляемых ими товарах (фирма-поставщик, его реквизиты, наименование товаров, характеристики, цены), вычисляет суммы оплаты.

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

Применяемая СУБД: АССЕSS 2003.

Исходные данные о магазине: магазин располагается в нескольких помещениях (склад, торговый зал). У фирмы есть поставщики, осуществляющие поставку компьютеров и комплектующих на склад магазина.

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

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

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

Создание таблиц. Разработка структуры БД

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

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

При проектировании таблиц лучше разработать структуру на бумаге и только затем начинать работу с СУБД Access. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:

- Не должно быть повторений и между таблицами.

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

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

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

- Каждое поле должно быть связано с темой таблицы.

- Не рекомендуется включать в таблицу данные, которые являются результатом выражения.

- В таблице должна присутствовать вся необходимая информация.

- Информацию следует разбивать на наименьшие логические единицы (Например, поля «Имя» и «Фамилия», а не общее поле «Имя»).

Для базы данных компьютерного магазина инфологическая модель будет выглядеть так(Рис 1):

 

Структура и создание таблиц

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

- Текстовый. Текст или числа нетребующие проведения расчётов.

- МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.

- Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

- Счётчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся при добавлении новой записи в таблицу.

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

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

- Дата/Время. Дата и время хранятся в специальном фиксированном формате.

- Поле объекта OLE. Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.

- Гиперсвязь. Содержит адреса Web-страниц.

Определим какие типы данных будут присутствовать в наших таблицах:


 

Таблица Сотрудники   Таблица Товары
Поле Тип данных   Поле Тип данных
КодСотрудника Числовой   КодТовара Текстовый
Фамилия Текстовый   КодПоставки Числовой
Имя Текстовый   НаименованиеТовара Текстовый
Должность Текстовый   Описании Поле МЕМО
ДатаРождения Дата/время   Изображение Поле объекта OLE
Адрес Текстовый   СтоимостьЗакупки Денежный
Телефон Текстовый   Наличие Логический
Примечание Поле МЕМО   Кол-во Числовой
      СтоимостьПродажи Денежный
Таблица Клиенты      
Поле Тип данных   Таблица Поставка
КодКлиента Числовой   Поле Тип данных
ФИО Текстовый   КодПоставки Числовой
Адрес Текстовый   КодПоставщика Числовой
Телефон Текстовый   ДатаПоставки Дата/время
         
Таблица Заказы   Таблица Поставщики
Поле Тип данных   Поле Тип данных
КодЗаказа Числовой   КодПостащика Числовой
КодТовара Текстовый   НазваниеПоставщика Текстовый
КодСотрудника Числовой   Представитель Текстовый
ДатаРазмещения Дата/время   Обращаться Текстовый
ДатаИсполнения Дата/время   Телефон Текстовый
КодКлиента Числовой   Адрес Текстовый

 

Для создания базы данных нужно сначала запустить программу Microsoft Office Access 2003, для этого нужно проделать следующие действия: Пуск → Программы → Microsoft Office → Microsoft Office Access 2003.

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

- команду Файл → Создать

- в открывшемся окне диалога «Создание» выбираем «Новая база данных». На экране появится окно с запросом директории для новой базы данных, вводим имя базы Компьютерный магазин, затем «ОК». После этого появится окно базы данных (Рисунок 2).

 

 

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

Выбираем элемент управления Создание таблицы в режиме конструктора(Рисунок 3).

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

 

 


Теперь необходимо заполнить Имена полей и выбрать Типы данных. По окончании заполнения через меню Файл→Сохранить как сохраняем полученную таблицу с требуемым именем. На рисунке 4 можно увидеть таблицы для БД компьютерного магазина в режиме конструктора.

Рисунок 4. Таблицы базы данных компьютерного магазина в режиме конструктора

 


2.2.4 Реляционная схема базы данных

 

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

1. Каждая таблица состоит из однотипных строк и имеет уникальное имя.

2. Строки имеют фиксированное число полей (столбцов) и значений (множественные поля и повторяющиеся группы недопустимы). Иначе говоря, в каждой позиции таблицы на пересечении строки и столбца всегда имеется в точности одно значение или ничего.

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

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

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

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

Разработаем схему данных, (создание связей между таблицами). Для этого:

­ нажимаем по кнопку на панели инструментов (или команда Сервис, Схема данных). На экране появится окно <<Схема данных>>;

­ щёлкаем по кнопке на панели инструментов (или команда Связи, Добавить таблицу);

­ в появившемся окне будет выделено название одной таблицы. Щелкаем по кнопке <Добавить>, переводим выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавляем оставшиеся таблицы;

­ закройте окно, щелкнув по кнопке <3акрыть>;

­ чтобы не выполнять все вышеописанные действия, можно просто перетащить мышкой таблицы из окна «Базы данных Таблицы» в окно «Схема данных»;

­ создадим связь между таблицами Товары и Заказы. Для этого курсором мыши перетаскиваем <<Код товара>> в таблице Товары на поле <<Код товара>> в таблицу Заказы. На экране откроется окно <<Связи>>;

­ устанавливаем флажок («галочку») в свойствах Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей;

­ щелкаем по кнопке <Создать>. Связь будет создана;

­ аналогично создаем связи между полем <<Код сотрудника>> в таблице Сотрудники и полем <<Код сотрудника>> в таблице Заказы, и т.д. Рисунок 5 отображает полученную схему базы данных компьютерного магазина.

­ закрываем окно схемы данных, ответив ДА на вопрос о сохранении макета.

Заполнение базы данных.

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

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

Для создания формы[1] нужно открыть вкладку «Формы» окна базы данных и нажать кнопку «Создать»

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

Далее при помощи кнопок (перенести все записи) или (перенести выбранную запись) нужно выбрать поля, которые будут отражены в форме (рисунок 6). Нажимаем кнопку «Далее»

Затем нужно выбрать внешний вид формы, стиль (рисунок 7), задать имя формы и форма готова (Рисунок 8).

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

В нашей форме «Товары» есть поле объекта OLE для размещения изображений товаров. В свойствах этого поля, на вкладке «Макет» устанавливаем размеры: «Вписать в рамку» (Рисунок 10). Это позволит вставлять изображения любых размеров – Access автоматически подгонит картинку под размер поля.

Теперь нужно сохранить изменения макета через меню Файл→Сохранить. На рисунке 11 можно увидеть результат преобразований формы «Товары.

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

- установить курсор в поле «Наименование товара».

- выполнить команду меню Правка → Найти, или воспользоваться кнопкой панели инструментов.

Для фильтрации данных по полям «Код поставки»:

- выбираем необходимый код поставки (например, нам интересно, какие товары были закуплены в 3-ю поставку) ставим курсор в поле «Код доставки» - «3», и нажимаем кнопку (или выполняем команду Записи, Фильтр, Фильтр по выделенному). В форме (или таблице) останутся только записи о товарах 3-й поставки;

- для отмены фильтрации нажимаем на кнопку на панели инструментов или выполняем команду Записи, Удалить фильтр. В форме (таблице) появятся все данные. Как правило, фильтрацию удобнее использовать в табличных формах или непосредственно в самих таблицах СУБД Access.

Режим формы позволяет производить необходимые вычисления прямо в поле данных.

В моем проекте СУБД для компьютерного магазина в форме Товары при заполнении поля «Стоимость закупки» в поле «Стоимость продажи» автоматически вычисляется цена для продажи товара. Для автоматизации вычислений необходимо:

- щелкнуть правой кнопкой мыши по интересующему полю (в нашем случае это «Стоимость продажи») и выбрать пункт «Свойства.

- откроется окно «Поле: Стоимость продажи». Выбираем вкладку данные и вписываем в поле «Данные» формулу для расчета (Рисунок 12). Нам необходимо, чтобы стоимость продажи на 50% превышала стоимость покупки.

- закрываем это окно и сохраняем изменения в таблице.

Для просмотра созданной формы, как она будет выглядеть при распечатывании на листе щелкаем по кнопке (Рисунок 12)


Оперирование данными. Создание запросов

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

Создадим запросы на наличие и отсутствие товара.

Для создания запроса необходимо открыть вкладку «Запросы» окна базы данных, нажать кнопку создать и в появившемся окне выбрать «Простой запрос». В этом случае будет предложено указать список таблиц и их полей. Выбираем таблицу «Товары», добавляем необходимые поля (Рисунок 13), нажимаем кнопку «Далее». На основании этих данных будет создан запрос.

В следующем окне нажимаем «Далее». Теперь задаем имя запроса «Наличие товара» и отмечаем галочкой пункт «Изменить макет запроса», нажимаем «Готово». Запрос откроется в режиме конструктора. Теперь в столбце «Наличие товара» в строке «Условие отбора» задаем параметр «Истина» (Рисунок 14). Поскольку в нашей таблице поле «Наличие товара» логическое, значения может быть два: Истина и Ложь. «Истина» - товар в наличии, «Ложь» - товара нет в магазине. Запрос на отсутствующий товар создается также, только в параметрах указываем значение «Ложь». (Рисунок 15).

При выполнении запроса (значок на панели управления) появится таблица товаров в наличии или отсутствующих в зависимости от запроса (Рисунок 16).

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

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

Условия отбора задаем согласно рисунку 17.

Выполняем запрос. Появится окно с предложением ввести наименование поставщика. В следующем окне вводим код поставщика (Рисунок 18). Если Вы не помните наименования, при запросе существует возможность оставить одно из полей пустым (именно поэтому в условиях отбора мы указали «Или»). Запрос будем выбирать данные о поставщиках по наименованию или по коду.

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

Выходные данные. Отчет о поставщиках и поставляемых ими товарах

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

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

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

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

Из режима просмотра пользователь может скопировать отчёт в виде отдельного файла текстового редактора Word или электронной таблицы Excel. Для этого необходимо щёлкнуть на кнопке «Связи с Office», расположенной на панели инструментов «Предварительный просмотр».

Для создания отчета следует нужно открыть вкладку «Отчеты» в окне базы данных и нажать кнопку «Создать» в верхней части окна базы данных.

В появившемся окне «Новый отчет» выбрать пункт «Мастер отчетов» и указать источник данных – таблицу или запрос (в нашем случае это запрос на данные о поставщиках), нажать кнопку «ОК» (Рисунок 19).

Выбрать поля для отчета из имеющихся источников как мы это делали при создании форм и запросов. Выбираем вид представления данных (Рисунок 20), нажимаем «Далее».

Добавляем уровни группировки (Рисунок 21), нажимаем «Далее»

В следующем окне выбираем пункт «Итоги» (Рисунок 22) и в открывшемся окне ставим галочку в поле «Sum».

Нажимаем «Ок» и «Далее». Выбираем вид макета «Структура 2». В следующем окне выбираем стиль оформления, затем вводим имя отчета и нажимаем «Готово» (Рисунок 23) Если расположение полей не устраивает, то их можно подкорректировать в режиме конструктора.


[1] Аналогично создаются формы к другим таблицам и отчетам нашей базы данных компьютерного магазина

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...