Упражнение 2. Учет заказов
Задание:
Пусть некая фирма занимается торговлей кондитерскими изделиями. Клиентами (покупателями) фирмы являются рестораны, кафе, клубы и т.д. Необходимо разработать базу данных для учета и анализа заказов фирмы.
Шаг 1. Проектирование базы данных
Основная таблица проектируемой базы данных должна содержать сведения о заказах. В числе таких сведений должны быть:
Номер заказа
Код клиента
Наименование клиента
Адрес клиента
Код продукта
Название продукта
Количество
Дата поставки
Цена
Стоимость
Каждая строка таблицы с такими полями содержит полную информацию о конкретном заказе, а вся таблица в целом - дает возможность не только вести учет, но и анализировать деятельность фирмы (по объемам продукции, стоимости, датам и т.п.).
Если таблица со сведениями о заказах будет оформлена в виде единой таблицы Microsoft Access, то это будет не самым лучшим вариантом организации данных. Например, значения полей "Наименование клиента" и "Адрес клиента" полностью определяются полем "Код клиента" и в базе будет наблюдаться дублирование информации. Может произойти и потеря информации: при удалении записей о заказах будут удаляться и сведения о клиентах.
Аналогичная ситуация складывается и с полями "Код продукта", "Название продукта", "Цена". Кроме того, значение поле "Стоимость" является произведением цены на количество, поэтому данное поле можно вообще не включать в таблицу, при необходимости его следует вычислять.
Таким образом, имеет смысл организовать рассматриваемую нами базу данных в виде трех связанных таблиц:
Классификатор "КЛИЕНТЫ" ("Код клиента", "Наименование клиента", "Адрес клиента");
Классификатор "ПРОДУКТЫ" ("Код продукта", "Название продукта", "Цена");
"ЗАКАЗЫ" ("Номер заказа", "Код клиента", "Код продукта", "Количество", "Дата поставки").
Поля "Код клиента" и "Код продукта" таблицы "ЗАКАЗЫ" должны быть связаны с соответствующими полями таблиц "КЛИЕНТЫ" и "ПРОДУКТЫ".
Подумайте о назначении ключевых полей в таблицах, типах данных и размерах полей, дополнительных параметрах (необходимости указания значений по умолчанию, признаков обязательности и т.п.).
Шаг 2. Создание базы данных
Создайте макеты указанных выше таблиц. Настройте подстановочные поля и укажите параметры межтабличных связей (обеспечение целостности данных).
Создайте формы для работы с всеми таблицами. Сделайте так, чтобы формы для работы с таблицами "КЛИЕНТЫ" и "ПРОДУКТЫ" в каждый момент времени позволяли бы работать только с одной записью (например, с данными только одного клиента), а форма для работы с таблицей "ЗАКАЗЫ" отображала бы сразу группу заказов.
Заполните таблицы следующими данными:
Клиенты
Код клиента |
Наименование клиента |
Адрес клиента |
10 |
Кафе «Парус» |
Зеленая, 12 |
20 |
Клуб «Белый попугай» |
Лесная, 28 |
30 |
Закусочная «Сирена» |
Весенняя, 45 |
40 |
Ресторан «Маяк» |
Голубева, 10 |
50 |
Бистро «Париж» |
Московская, 7 |
60 |
Клуб «Орфей» |
Волжская, 51 |
