Информационные технологии

Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 07:47, контрольная работа

Описание

работа состоит из 3 частей.теория,практика и задачи

Работа состоит из  1 файл

0-1.doc

— 479.50 Кб (Скачать документ)

 

Результат выполнения запроса

 

Клиенты на октябрь

Название

Адрес

Город

Область

Индекс

Страна

Дата размещения

Alfreds Futterkiste

Obere Str. 57

Берлин

 

12209

Германия

16-10-2005

Comercio Mineiro

Av. dos Lusiadas, 23

Сан-Пауло

SP

05432-043

Бразилия

27-10-2005

 

Для получения в автоматизированном режиме таблицы с результатом выполнения операции произведения используется следующий запрос:

SELECT Клиенты*, Заказы* FROM Клиенты, Заказы

 

Для получения в автоматизированном режиме таблицы с результатом выполнения операции соединения используется следующий запрос:

SELECT Клиенты*, Заказы FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента= Заказы.КодКлиента

 

Для получения в автоматизированном режиме таблицы с результатом выполнения операции селекции используется следующий запрос:

SELECT Клиенты*, Заказы FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента= Заказы.КодКлиента WHERE WHERE ((((Заказы.ДатаРазмещения)>#10/1/2005#) And ((Заказы.ДатаРазмещения)<#10/31/2005#)))

 

Для получения в автоматизированном режиме таблицы с результатом выполнения операции проекции используется следующий запрос:

SELECT DISTINCTROW Клиенты.Название, Клиенты.Адрес, Клиенты.Город, Клиенты.Область, Клиенты.Индекс, Клиенты.Страна, Заказы.ДатаРазмещения

FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента = Заказы.КодКлиента

WHERE ((((Заказы.ДатаРазмещения)>#10/1/2005#) And ((Заказы.ДатаРазмещения)<#10/31/2005#)))

ORDER BY Заказы.ДатаРазмещения;

 

6. Формирование запроса

Поскольку между таблицами Заказы и Клиенты существует связь «один-ко-многим», для исключения повторяющихся строк необходимо использовать следующую инструкцию
SELECT DISTINCTROW

 

Полный вариант SQL-запроса:

SELECT DISTINCTROW Клиенты.Название, Клиенты.Адрес, Клиенты.Город, Клиенты.Область, Клиенты.Индекс, Клиенты.Страна, Заказы.ДатаРазмещения

FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента = Заказы.КодКлиента

WHERE ((((Заказы.ДатаРазмещения)>#10/1/2005#) And ((Заказы.ДатаРазмещения)<#10/31/2005#)))

ORDER BY Заказы.ДатаРазмещения;

 

Задача 2.2

Выдать фамилии и имена сотрудников, работавших по заказам клиентов из России в течение определенного периода текущего года

Решение.

1.              Определение состава входного сообщения

Исходя из анализа информационной потребности, определяем состав и структуру требуемого сообщения S(Сотрудники работавшие с клиентами из России): S(Сотрудники.Имя, Сотрудники.Фамилия, Клиенты.Страна, [Заказы на работы]. ДатаНазначения).

Имя

Фамилия

Страна

ДатаНазначения

 

 

 

 

 

2.              Разработка модели процесса

Определяем состав полей и таблиц, используемых в нашем запросе. Представляем в графическом виде обобщенную функционально-технологическую схему задачи. Поскольку сведения о клиентах, находятся в таблице Клиенты, сведения о дате заказа, в таблице Заказы на работы, а сведения о сотрудниках в таблице Сотрудники в запросе необходимо использовать следующие таблицы: Клиенты, Заказы на работы, Сотрудники. Таблицы Клиенты и Заказы на работу связанны между собой по полю «КодКлиента», причем Клиенты является главной, а Заказы подчиненной. Таблицы Сотрудники и Заказы на работу связанны между собой по полю «КодСотрудника», причем Сотрудники является главной, а Заказы подчиненной. Эти таблицы образуют часть схемы данных, используемую для решения задачи, поэтому других таблиц на входе процесса нет.

На выходе процесса представлено сообщение с определенной в предыдущем пункте

структурой.

3.              Общее описание процесса решения задачи

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

С позиции потребителя-пользователя запрос можно охарактеризовать как простой с поэтапным потреблением информации.

4.              Представление подсхемы базы данных

Таблица Заказы на работы имеет простой ключ «КодЗаказа», таблица Клиенты —

простой ключ «КодКлиента». Таблица Сотрудники простой ключ «КодСотрудника». В отношении между таблицами Заказы на работы и Клиенты, Клиенты является главной, а Заказы подчиненной. Тип связи – «один-ко-многим». Связь по полю «КодКлиента». В отношении между таблицами Заказы на работы и Сотрудники, Сотрудники является главной, а Заказы на работы подчиненной. Тиисиии— «один-ко-многим». Связь по полю «КодСотрудника». Значение полей «КодЮииии»  «КодСотрудника» вТаблице Заказы на работы обновляются автоматически при изменениях значений соответствующих полей в главных таблицах.

5. Подготовка контрольного примера

Процедура реляционной обработки данных выполняется вручную. Представляем значение

исходных данных в таблицах.

Все представленные ниже таблицы являются фрагментами:

 

Сотрудники

КодСотрудника

Имя

Фамилия

1

Иван

Иванов

2

Петр

Петров

 

Клиенты

КодКлиента

Страна

1

Украина

2

Китай

3

Россия

4

Украина

 

Заказы на работы

КодЗаказа

КодКлиента

КодСотрудника

ДатаНазначения

1

1

1

12.08.1998

2

1

1

12.05.1998

3

2

2

12.05.1998

8

3

1

15.03.1998

             

Результат выполнения запроса

 

Сотрудники работавшие с клиентами из России

Имя

Фамилия

Страна

ДатаНазначения

Иван

Иванов

Россия

15.03.1998

 

 

6. Формирование запроса

Для исключения повторяющихся строк необходимо использовать следующую

инструкцию

SELECT DISTINCTROW

SELECT DISTINCTROW Сотрудники.Имя, Сотрудники.Фамилия, Клиенты.Страна,

[Заказы на работы] .ДатаНазначения

FROM Сотрудники INNER JOIN (Клиенты INNER JOIN [Заказы на работы] ON

Клиенты.КодКлиента = [Заказы на работы].КодКлиента) ON Сотрудники.КодСотрудника

= [Заказы на работы].КодСотрудника

WHERE (((Клиенты.Страна)="Россия") AND (([Заказы на

Информация о работе Информационные технологии