- •Анализ предметной области
- •Назначение проектируемой базы данных
- •Инфологическая модель данных.
- •Логическая (датологическая) модель данных
- •4.2 Организация запросов
- •4.4 Организация отчетов
- •4.5 Макросы
- •4.6 Структура кнопочной формы
- •Структура кнопочного меню
- •Выводы по работе
- •Список использованной литературы
4.2 Организация запросов
В работе создана серия запросов, обеспечивающих основную функциональность базы данных. Более простые выполнены на языке SQL путем ручного ввода данных, более сложные – с помощью конструктора запросов ввиду возможного большого объема ввода данных вручную. При рассмотрении будет указываться основное название запроса в списке всех объектов. Запросы, выполненные на sql имеют соответствующую пометку в названии
SQL Виды продукции по типу – выдает все виды продукции по введенному типу:
SELECT Продукция.[Код продукции], Продукция.Название, Продукция.Тип
FROM Продукция
WHERE (((Продукция.Тип) Like [Введите тип продукции (Пример: покрытия для пола)]));
SQL Доходы, Расходы, Прибыль.
SELECT Строительство.[Код объекта], Строительство.Адрес, [Стоимость объектов]![Стоимость] AS Расходы, [Стоимость объектов]![Стоимость]+[Строительство]![Прибыль с объекта] AS Доходы, Строительство.[Прибыль с объекта]
FROM Строительство, [Стоимость объектов]
WHERE Строительство.[Код объекта] = [Стоимость объектов].[Код объекта];
SQL Количество заказанной продукции по видам
SELECT Продукция.Название, Sum([Структура объектов].Количество) AS Количество
FROM Продукция, [Структура объектов]
WHERE Продукция.[Код продукции] = [Структура объектов].[Код продукции]
GROUP BY Продукция.Название;
SQL Поставщики из СПб
SELECT Поставщики.[Название фирмы], Поставщики.Адрес
FROM Поставщики
WHERE Left([Поставщики]![Адрес],3) Like "СПб"
ORDER BY [Название фирмы];
SQL Среднее количество продукции на объект
SELECT [Количество продукции на объект].[Код объекта], [Количество продукции на объект].Адрес, Avg([Количество продукции на объект]![Количество продукции на объект]) AS [Среднее количество продукции]
FROM [Количество продукции на объект]
GROUP BY [Количество продукции на объект].[Код объекта], [Количество продукции на объект].Адрес;
SQL Цены на продукцию по объектам
SELECT [Продукция по объектам].[Код объекта], [Продукция по объектам].Адрес, [Продукция по объектам].[Код продукции], [Продукция поставщиков].Цена
FROM [Продукция поставщиков], [Продукция по объектам]
WHERE [Продукция поставщиков].[Код продукции] = [Продукция по объектам].[Код продукции];
SQL Число поставщиков на объект
SELECT [Фирмы, учавствующие в строительстве объекта].[Код объекта], [Фирмы, учавствующие в строительстве объекта].Адрес, Count([Фирмы, учавствующие в строительстве объекта]![Название фирмы]) AS [Число поставщиков]
FROM [Фирмы, учавствующие в строительстве объекта]
GROUP BY [Фирмы, учавствующие в строительстве объекта].[Код объекта], [Фирмы, учавствующие в строительстве объекта].Адрес;
Количество продукции на объект
SELECT Строительство.[Код объекта], Строительство.Адрес, Sum([Структура объектов]![Количество]) AS [Количество продукции на объект]
FROM Строительство LEFT JOIN [Структура объектов] ON Строительство.[Код объекта] = [Структура объектов].[Код объекта]
GROUP BY Строительство.[Код объекта], Строительство.Адрес;
Поиск поставщиков продукции – ищет поставщиков по названию продукции.
SELECT Поставщики.[Код поставщика], Поставщики.[Название фирмы], Поставщики.Адрес, Поставщики.[Контактный телефон], [Поставщики по видам продукции].Название, [Поставщики по видам продукции].Цена
FROM [Поставщики по видам продукции] INNER JOIN Поставщики ON [Поставщики по видам продукции].[Код поставщика] = Поставщики.[Код поставщика]
WHERE ((([Поставщики по видам продукции].Название) Like [Введите название продукции (Приер: болты)]));
Поставщики по видам продукции.
SELECT Продукция.[Код продукции], Продукция.Название, [Продукция поставщиков].Цена, [Продукция поставщиков].[Код поставщика]
FROM Продукция LEFT JOIN [Продукция поставщиков] ON Продукция.[Код продукции] = [Продукция поставщиков].[Код продукции];
Продукция по объектам.
SELECT Строительство.[Код объекта], Строительство.Адрес, [Структура объектов].[Код продукции]
FROM Строительство LEFT JOIN [Структура объектов] ON Строительство.[Код объекта] = [Структура объектов].[Код объекта];
Стоимость объектов.
SELECT [SQL Цены на продукцию по объектам].[Код объекта], [SQL Цены на продукцию по объектам].Адрес, Sum([SQL Цены на продукцию по объектам]!Цена*[Структура объектов]!Количество) AS Стоимость
FROM [Структура объектов] INNER JOIN [SQL Цены на продукцию по объектам] ON [Структура объектов].[Код объекта] = [SQL Цены на продукцию по объектам].[Код объекта]
GROUP BY [SQL Цены на продукцию по объектам].[Код объекта], [SQL Цены на продукцию по объектам].Адрес;
Сумма к уплате поставщикам
SELECT Поставщики.[Название фирмы], Sum([Структура объектов]![Количество]*[Продукция поставщиков]![Цена]) AS [Сумма к уплате]
FROM Поставщики LEFT JOIN ([Структура объектов] RIGHT JOIN [Продукция поставщиков] ON [Структура объектов].[Код продукции] = [Продукция поставщиков].[Код продукции]) ON Поставщики.[Код поставщика] = [Продукция поставщиков].[Код поставщика]
GROUP BY Поставщики.[Название фирмы];
Фирмы, участвующие в строительстве объекта.
SELECT Строительство.[Код объекта], Строительство.Адрес, [Цены на продукцию по поставщикам].[Название фирмы]
FROM (Строительство LEFT JOIN [Структура объектов] ON Строительство.[Код объекта] = [Структура объектов].[Код объекта]) LEFT JOIN [Цены на продукцию по поставщикам] ON [Структура объектов].[Код продукции] = [Цены на продукцию по поставщикам].[Код продукции]
GROUP BY Строительство.[Код объекта], Строительство.Адрес, [Цены на продукцию по поставщикам].[Название фирмы];
Цены на продукцию по поставщикам.
SELECT Поставщики.[Название фирмы], [Продукция поставщиков].[Код продукции], [Продукция поставщиков].Цена
FROM Поставщики LEFT JOIN [Продукция поставщиков] ON Поставщики.[Код поставщика] = [Продукция поставщиков].[Код поставщика];