Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание базы данных.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.72 Mб
Скачать

Устранение связи «многие ко многим»

В качестве примера рассмотрим функционирование фирмы «Столица» (часть варианта 8). Особенностью работы этой фирмы является посредническая деятельность – стыковка поставщиков товаров и покупателей.

Один поставщик связан с несколькими покупателями. Один покупатель, в свою очередь, связан с несколькими поставщиками. По понятным причинам поставщик «не знает» покупателя и наоборот. Вот Вам предпосылка создания связи «многие ко многим» между двумя таблицами: поставщики и покупатели (рис. 3.17).

Как мы уже знаем, реляционная модель не позволяет непосредственно реализовать связь типа «многие ко многим». Кроме этого, штрих-код товара (рис. 1.18), являясь его однозначной идентификацией, не может быть назначен в качестве первичного ключа. В случае если через какое-то время будет закуплена еще одна партия такого же товара, то в таблице «поставщики» появится строчка, имеющая идентичный штрих-код. Аналогичная ситуация возможна и с покупателем, который приобретет такой же товар из другой партии. И еще одна проблема: один клиент практически никогда не покупает всю партию целиком и перед фирмой встает проблема учета остатка товара. Все эти проблемы (реляционной модели и алгоритма) легко решаются добавлением двух промежуточных таблиц: «Поставленные товары» и «Проданные товары». На рис. 1.19 показан фрагмент схемы данных превращения «связи многие ко многим» в несколько связей «один ко многим» с добавлением этих промежуточных таблиц.

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

Рис. 1.18 Штрих-код

Рис. 1.19. Работающий фрагмент схемы данных

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

Цели работы:

Краткие сведения из теории

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

Специалисты, занятые анализом данных, по праву считают отчеты одной из важнейших разновидностей документов. Отчеты значительно облегчают работу с большими объемами информации благодаря многообразию доступных форм оценки данных. Технология работы с отчетами в рамках FoxPro проста. С помощью Генератора Отчетов создается прототип отчета (фактически форма – без наполнения сведениями) и соответствующий программный код. Этот программный код может использоваться для собственно генерации отчета, который будет содержать сведения, извлеченные из некоторой базы данных, соответствующим образом обработанные и оформленные так, как это заказал пользователь, строя форму отчета (проектируя отчет). Полученный таким образом заполненный отчет можно просмотреть на экране дисплея или распечатать на принтере.

Задание

Определите структуру отчета на бумаге (выполнить для 2–3 отчетов):

- база (базы) данных для отчета;

- заголовок отчета;

- порядок размещения полей в основной части отчета (верхний, нижний колонтитулы, детали);

- определите список полей отчета, вычисляемые поля (COUNT(), MAX(), MIN() и т.д.), поля для группировки данных.

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

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

Запустить отчет через Запускñ Отчет.…