Автор работы: Пользователь скрыл имя, 07 Декабря 2013 в 16:03, контрольная работа
Получить сведения о стоимости доставки по заказам клиентов на август текущего года. Выдать ответ с почтовыми данными клиентов для оформления писем.
Определяем состав полей и таблиц, используемых в запросе. Представляем в графическом виде обобщенную функционально-технологическую схему задачи (рис. 3).
Поскольку сведения о товаре, его типе и марке находятся в таблице Товары и Типы, а сведения о Поставщике находятся в таблице Поставщики, в запросе необходимо использовать таблицы Товары, Типы и Поставщики, связанные между собой по полю «КодПоставщика» Таблица Поставщики является главной, таблица Товары – подчиненной. Данные таблицы образуют часть схемы данных, используемую для решения задачи, поэтому других таблиц на входе процесса нет.
На выходе процесса представлено сообщение с определенной в предыдущем пункте структурой
Рис. 3. Обобщенная функционально-технологическая схема задачи
Сведения о сотрудниках являются постоянными данными, а сведения о клиентах и заказах формируются в при подготовке заказов.
Подготовка запроса в Access при использовании *.mbd-файла осуществляется с использованием Конструктора, поскольку все данные находятся в связанных между собой таблицах. При формировании запроса автоматически генерируется SQL-код. SQL-запрос передается серверу, который возвращает клиенту результирующую таблицу. Выполнение процедур создания и исполнения запроса осуществляется на рабочей станции и на сервере сети.
Рисунок 4 Подсхема базы данных
Таблица Поставщики имеет простой ключ "КодПоставщика", таблица Товары -простой ключ "КодТовара", таблица Типы -простой ключ "КодТипа". Таблица Поставщики является главной. Товары -подчиненной. Тип связи - "один-ко-многим". Связь - по полю " КодПоставщика" (ключ связи). Целостность по значениям определяется отсутствием в таблице Товары значений поля "КодПоставщика", которых нет в таблице Поставщики. Значения поля "КодПоставщика" в таблице Товары обновляются автоматически при изменении значений поля "КодПоставщика" в таблице Поставщики.
Процедуры реляционной обработки данных выполняются в автоматизированном режиме.
Таблица Поставщики (фрагмент)
Таблица Товары (фрагмент)
Результат выполнения операции произведения (фрагмент)
Использовался следующий запрос:
SELECT Поставщики.*, Товары.*
FROM Поставщики, Товары;
Результат выполнения операции соединения (фрагмент)
Текст SQL запроса:
SELECT Поставщики.*, Товары.*
FROM Поставщики INNER JOIN Товары ON Поставщики.КодТовара = Товары.КодТовара;
Результат выполнения операции селекции – выбор строк по принадлежности значений поля «Код Типа» для рыбопродуктов (Фрагмент)
Текст запроса:
SELECT Товары.КодПоставщика,
Товары.КодТовара, Товары.
FROM Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика
WHERE (((Типы.КодТипа)=8))
GROUP BY Поставщики.КодПоставщика,
Поставщики.Название, Поставщики.ОбращатьсяК,
Поставщики.Адрес, Поставщики.
Результат выполнения операции проекции – уточнение состава полей в SELECT-разделе (Фрагмент)
Текст запроса:
SELECT DISTINCT Поставщики.КодПоставщика, Поставщики.Название, Поставщики.ОбращатьсяК, Поставщики.Адрес, Поставщики.Город, Поставщики.Телефон, Товары.КодТипа
FROM Типы INNER JOIN (Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа;
Полный вариант SQL-запроса с именем " Поставщики Поставщики Рыбопродуктов ":
SELECT Поставщики.КодПоставщика, Поставщики.Название, Поставщики.ОбращатьсяК, Поставщики.Адрес, Поставщики.Город, Поставщики.Телефон, Типы.Категория
FROM Типы INNER JOIN (Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа
GROUP BY Поставщики.КодПоставщика, Поставщики.Название, Поставщики.ОбращатьсяК, Поставщики.Адрес, Поставщики.Город, Поставщики.Телефон, Типы.Категория
HAVING (((Типы.Категория)="
Подготовка запроса осуществляется с использованием Конструктора запросов в следующем порядке. После открытия базы данных Борей щелчками по вкладке "Запросы" и кнопке "Создать" входим в режим Конструктора. Добавляем в окно подсхемы данных таблицы Поставщики и Товары. На QBE-бланке определяем все поля из раздела SELECT данного запроса. Для поля "Название" вводим условие отбора, соответствующее разделу WHERE данного запроса. Выполняем отладочный запуск запроса и просматриваем результирующую таблицу. Сохраняем запрос под именем " Поставщики Рыбопродуктов "
Задание 4.3
Получить сведения о стоимости работ по проектам в разрезе стран.
Выходное сообщение описывается формально.
Исходя из результатов анализа информационной потребности, определяем состав и структуру требуемого сообщения S [сведения о стоимости работ по проектам в разрезе стран.]:
S (Партнеры.Страна, Проекты.КодПроекта, Проекты.НазваниеПроекта, Проекты.ОписаниеПроекта, [Часы работы].ОплачиваемыеЧасы, [Часы работы].Ставка, [ОплачиваемыеЧасы]*[Ставка] AS [ИТОГО к оплате])
Реквизиты «Страна» и «Сумма затрат» являются обязательными по условию задачи, остальные реквизиты используются в процедурах профилизации, сегментации и связи.
Определяем состав полей и таблиц, используемых в запросе. Представляем в графическом виде обобщенную функционально-технологическую схему задачи (рис. 7).
Поскольку о затратах находятся в таблице Затраты, сведения о проектах – в таблице Проекты, а данные о странах в таблице Партнеры то в запросе необходимо использовать следующие таблицы: Затраты, Проекты и Партнеры. Других таблиц на входе процесса нет.
На выходе процесса представлено сообщение с определенной в предыдущем пункте структурой
Рис. 5. Обобщенная функционально-технологическая схема задачи
Данные о проектах являются справочными и обновляются по мере их изменения путем ввода информации с клавиатуры с использованием соответствующей формы диалога, источник информации - бумажный документ-распечатка электронного сообщения. Сведения о затратах являются оперативно-учетными данными и формируются в реальном времени при подготовке заказов.
Подготовка запроса в Access при использовании *.mbd-файла осуществляется с использованием Конструктора, поскольку все данные находятся в связанных между собой таблицах. При формировании запроса автоматически генерируется SQL-код. SQL-запрос передается серверу, который возвращает клиенту результирующую таблицу. Выполнение процедур создания и исполнения запроса осуществляется на рабочей станции и на сервере сети.
Рисунок 8. Подсхема базы данных
Таблица Партнеры имеет простой ключ "КодКлиента", таблица Проекты - простой ключ "КодПроекта", таблица Часы работы -простой ключ "КодДанныхНаряда".
Таблица Партнеры является главной по отношению к таблице Проекты. Тип связи, как и во всех остальных соотношениях - "один-ко-многим". Связь - по полю "КодКлиента" (ключ связи). Значения поля "КодКлиента" в таблице Проекты обновляются автоматически при изменении значений поля " КодКлиента " в таблице Партнеры.
Таблица Проекты является главной по отношению к таблице Часы работы. Связь - по полю " КодПроекта " (ключ связи). Значения поля " КодПроекта " в таблице Часы работы обновляются автоматически при изменении значений поля " КодПроекта " в таблице Проекты.
Таблица Затраты (фрагмент)
Таблица Проекты (фрагмент)
Таблица Партнеры (фрагмент)
Результат выполнения операции произведения (фрагмент)
Текст запроса:
SELECT Затраты.*, Проекты.
FROM Затраты, Проекты;
Результат выполнения операции соединения (фрагмент)
Текст запроса:
SELECT Затраты.*, Проекты.*
FROM Затраты INNER JOIN Проекты ON Затраты.КодПроекта = Проекты.КодПроекта;
Результат выполнения операции проекции – уточнение состава полей в SELECT-разделе (Фрагмент)
Текст запроса:
SELECT DISTINCT Партнеры.Страна, Проекты.КодПроекта, Проекты.НазваниеПроекта, Проекты.ОписаниеПроекта, Затраты.СуммаЗатрат, Затраты.ОписаниеЗатрат, Затраты.КодСтатьиРасходов
FROM (Партнеры INNER JOIN Проекты ON Партнеры.КодКлиента = Проекты.КодКлиента) INNER JOIN Затраты ON Проекты.КодПроекта = Затраты.КодПроекта;
Результат выполнения операции селекции – выбор строк по принадлежности значений поля «Страна» задаваемому значению (Фрагмент)
Текст SQL запроса:
SELECT Партнеры.Страна, Проекты.КодПроекта,
Проекты.НазваниеПроекта,
FROM (Партнеры INNER JOIN Проекты ON Партнеры.КодКлиента = Проекты.КодКлиента) INNER JOIN Затраты ON Проекты.КодПроекта = Затраты.КодПроекта
WHERE (((Партнеры.Страна)=[Страна:])
Полный вариант SQL-запроса с именем " Сведения о стоимости работ по проектам":
SELECT Партнеры.Страна, Проекты.КодПроекта, Проекты.НазваниеПроекта, Проекты.ОписаниеПроекта, [Часы работы].ОплачиваемыеЧасы, [Часы работы].Ставка, [ОплачиваемыеЧасы]*[Ставка] AS [ИТОГО к оплате]
FROM (Партнеры INNER JOIN Проекты ON Партнеры.КодКлиента = Проекты.КодКлиента) INNER JOIN [Часы работы] ON Проекты.КодПроекта = [Часы работы].КодПроекта;
Подготовка запроса осуществляется с использованием Конструктора запросов в следующем порядке. После открытия базы данных Проекты щелчками по вкладке "Запросы" и кнопке "Создать" входим в режим Конструктора. Добавляем в окно подсхемы данных таблицу Затраты. На QBE-бланке определяем все поля из раздела SELECT данного запроса. Для поля "Страна" вводим условие из раздела WHERE. Выполняем отладочный запуск запроса и просматриваем результирующую таблицу. Сохраняем запрос под именем " Сведения о стоимости работ по проектам "
Задание 2.8
Получить сведения об оплате заказов клиентами из России за определенный период текущего года.
Выходное сообщение описывается формально.
Исходя из результатов анализа информационной потребности, определяем состав и структуру требуемого сообщения S [сведения об оплате заказов клиентами из России за определенный период текущего года]:
S (ЗаказыНаРаботы НомерЗаказа, ЗаказыНаРаботы ДатаНазначения, Клиенты Название, Оплата Сумма, Оплата ДатаОплаты, Оплата НомерКарточки, Оплата ИмяВладельца, Клиенты Регион)
Реквизит "Сумма и
Регион" является обязательным по условию
задачи, остальные реквизиты
Представляем в графическом виде обобщенную функционально-технологическую схему задачи (рис. 5).
Поскольку сведения о дате заказа находятся в таблице ЗаказыНаРаботы, а сведения о клиенте находятся в таблице Клиенты, в запросе необходимо использовать таблицы Заказы на работу и Клиенты, связанные между собой по полю "КодКлиента". Таблица Клиент является главной, а таблица ЗаказыНаРаботы – подчиненная. Данные таблицы образуют часть схемы данных, используемую для решения задачи, поэтому других таблиц на входе процесса нет.
На выходе процесса представлено сообщение с определенной в предыдущем пункте структурой
Рис. 5. Обобщенная
функционально-технологическая
Данные о клиентах являются справочными и обновляются по мере их изменения путем ввода информации с клавиатуры с использованием соответствующей формы диалога, источник информации - бумажный документ-распечатка электронного сообщения. Сведения о заказах являются оперативно-учетными данными и формируются в реальном времени при подготовке заказов.
Информация о работе Контрольная работа по "Информационным технологиям в экономике"