Добавил:
Меня зовут Катунин Виктор, на данный момент являюсь абитуриентом в СГЭУ, пытаюсь рассортировать все файлы СГЭУ, преобразовать, улучшить и добавить что-то от себя Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
03.08.2023
Размер:
20.63 Кб
Скачать

№ 1. СУБД Access. Создание реляционной базы данных

Цель работы: Создать реляционную базу данных (БД) регистрации заказов и продажи товаров, состоящую из четырёх таблиц: "Клиенты", "Заказы и продажи", "Товары" и "Поставщики".

  1. Командой ФАЙЛ/СОЗДАТЬ создайте файл новой (пока пустой!) БД с именем FIO.mdb, где F - первая буква Вашей фамилии; I - первая буква Вашего имени; O – первая буква Вашего отчества.

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

ИМЯ ПОЛЯ

ТИП ПОЛЯ

Код клиента

Числовой или текстовый

Фамилия

Текстовый

Имя

Текстовый

Отчество

Текстовый

Почтовый индекс

Текстовый

Страна

Текстовый

Город

Текстовый

Адрес

Текстовый

Кредит

Денежный

Примечание

МЕМО или OLE

Вид оплаты

Числовой

Таблица "Товары"

ИМЯ ПОЛЯ

ТИП ПОЛЯ

Код товара

Числовой или текстовый

Код фирмы

Числовой или текстовый

Категория

Текстовый

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

Текстовый

Цена

Денежный

Таблица "Заказы и продажи"

ИМЯ ПОЛЯ

ТИП ПОЛЯ

Код клиента

Числовой или текстовый

Код товара

Числовой или текстовый

Дата заказа

Дата/Время

Заказано

Числовой

Дата продажи

Дата/Время

Продано

Числовой

Таблица "Поставщики"

ИМЯ ПОЛЯ

ТИП ПОЛЯ

Код фирмы

Числовой или текстовый

Фирма

Текстовый

Страна фирмы

Текстовый

  1. Установите полям "Код клиента", "Код производителя" и "Код товара" в таблицах соответственно "Клиенты", "Поставщики" и "Товары " значение свойства "Индексированное поле" – "Да (совпадения не допускаются)". Соответствующим полям в таблицах "Товары" и " Заказы и продажи " установите значение свойства "Индексированное поле" – "Нет". Обратите внимание, что типы данных у связываемых полей обязательно должны быть одинаковы!

  2. Закройте все таблицы и установите связи между ними по полям "Код клиента", "Код производителя" и "Код товара". Если Вы правильно установили тип индексации, то в таблице связей установится тип отношения "один-ко-многим".

  3. Откройте все таблицы в режиме конструктора и проверьте правильность типов данных и имен полей.

  4. Откройте таблицу "Клиенты" в режиме Конструктора. Задайте значения по умолчанию на поля: "Страна" - Россия, "Город" - Самара. Введите ограничение на данные, вводимые в поле "Кредит" (например, кредит может быть предоставлен в размере от 5000 до 20000 рублей). Сделайте так, чтобы выводилось сообщение об ошибке, если кредит выходит за обозначенные пределы. Измените ширину каждого поля в соответствии с шириной данных.

  5. Введите данные в таблицы: "Клиенты" - не менее 10 записей; "Поставщики" – не менее 3 записей, "Товары" - не менее 8 записей для разных категорий товаров, "Заказы и продажи" - не менее 20 записей для разных клиентов и разных товаров, причем в некоторых записях количество заказанных и проданных товаров не должно совпадать.

  6. Распечатайте все четыре заполненные таблицы и схему данных. Закройте базу данных и сохраните ее на своей дискете.

№ 2. СУБД Access. Отбор записей в базе данных

  1. Откройте сохранённую Вами базу данных FIO.mdb.

  2. Осуществите поиск нужных записей с применением фильтра: выберите клиентов, НЕ проживающих в заданном городе И имеющих кредит БОЛЬШЕ определенной величины.

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

  4. Создайте и сохраните запрос Все_продажи, в котором бы отображалось, кто (код клиента и фамилия), когда (дата продажи), какие товары (наименование) и в каком количестве (продано) приобрёл за весь регистрируемый период. Здесь же подсчитайте стоимость каждой покупки. Для вычисления стоимости покупки создайте новое вычисляемое поле (сумма), в котором с помощью Построителя выражений перемножьте значения полей “Цена” из таблицы ТОВАРЫ и “Продано” из таблицы ЗАКАЗЫ И ПРОДАЖИ.

  5. На основании запроса Все_продажи создайте и сохраните запрос с параметрами, выбирающий фамилии клиентов, купивших запрашиваемый Вами определенный товар и вычисляющий стоимость этих покупок. Для этого в строку "Условие отбора" для поля "НАИМЕНОВАНИЕ" введите фразу [Введите наименование товара]. Название запроса - Товар.

  6. На основе запроса Все_продажи создайте запрос Итого_по_клиентам с полями "Код клиента", "Фамилия" и "Сумма", подводящий итоги продаж по каждому клиенту. Для этого используйте операцию группировки и функцию Sum для поля "Сумма".

  7. Спроектируйте перекрёстный запрос, показывающий, продукция какой из фирм пользуется наибольшим спросом. Предварительно создайте запрос на выборку с полями "Фирма-производитель", Наименование" и "Продано".

  8. Увеличьте в таблице "ТОВАРЫ" цену товара, пользующегося наибольшим спросом - запрос на обновление записей.

  9. Спроектируйте запрос, удаляющий из таблицы "ЗАКАЗЫ И ПРОДАЖИ" записи об операциях для неплатёжеспособных клиентов (например, у кого кредит не превышает определённой величины) - запрос на удаление.

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

  11. В отчёт по работе вставьте окно БД, где были бы перечислены все созданные Вами запросы.

№ 3. СУБД Access. Создание экранных форм для ввода и редактирования данных

  1. Создать многотабличную форму с использованием Мастера, при этом таблица "КЛИЕНТЫ" должна быть основной формой, а таблица "ЗАКАЗЫ И ПРОДАЖИ" подчиненной. Ввести как в основную, так и в подчиненную форму все поля из соответствующих таблиц. Сохраните многотабличную форму под именем "Клиенты, заказы и продажи". Обратите внимание, что вспомогательная форма тоже должна быть сохранена (под произвольным именем).

  2. Скорректировать разработанную в п.1 форму в режиме конструктора форм: а)Ввести заголовок формы; б)Сгруппировать поля по смыслу; в)Установить соотношение размеров главной и подчиненной форм; г)Ввести в разрабатываемую форму управляющие элементы: кнопку, показывающую итоги продаж для текущего клиента (запрос Итого_по_клиенту), для того, чтобы иметь возможность сравнить эту сумму с кредитом. Предварительно нужно модифицировать этот запрос, связав одно из полей запроса (КОД КЛИЕНТА или ФАМИЛИЯ) с соответствующим полем формы; преобразовать поле СТРАНА или ГОРОД в поле с раскрывающимся списком и определить элементы этого списка; создать группу переключателей для редактирования поля ВИД ОПЛАТЫ в таблице Клиенты…, которое может принимать одно из значений, например Наличные/Кредит/Электронная карточка/Бартер; д)Оформить разрабатываемую форму графическими элементами, применить различные шрифты и цвета для элементов формы.

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

  4. Распечатать окно формы при работе с одной конкретной записью.

№ 4. СУБД Access. Работа с отчетами

  1. Создать отчетзаказанные товары с сортировкой по дате (поля: "НАИМЕНОВАНИЕ", "ЗАКАЗАНО", "ДАТА ЗАКАЗА").

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

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

  4. В отчёт по работе вставьте окно БД, где были бы перечислены все созданные Вами отчёты.