Содержание

1.      База данных «Борей»............................................................................................................................................... 3

1.1. Схема базы данных «Борей».............................................................................................................................. 3

1.2. Отбор сотрудников, работавших по заказам на октябрь текущего года клиента

      GROSELLA-Restaurante......................................................................................................................................... 3

1.2.1. Постановка условия отбора...................................................................................................................... 3

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

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

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

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

1.2.6. Ручная обработка......................................................................................................................................... 5

1.2.7. Формирование и отладка запроса........................................................................................................... 8

1.2.8. Подготовка запроса в режиме Конструктора...................................................................................... 8

1.3. Сведения о товарах на складе от поставщика Ма Maison........................................................................ 9

1.3.1. Постановка условий отбора...................................................................................................................... 9

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

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

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

1.3.5. Представление подсхемы данных......................................................................................................... 10

1.3.6. Ручная обработка...................................................................................................................................... 10

1.3.7. Формирование и отладка запроса........................................................................................................ 13

1.3.8. Подготовка запроса в режиме Конструктора.................................................................................... 13

2. База данных «Заказы на работы»............................................................................................................................ 15

2.1. Схема базы данных «Заказы на работы»..................................................................................................... 15

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

       на определенный месяц текущего года.......................................................................................................... 15

2.2.1. Постановка условий отбора................................................................................................................... 15

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

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

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

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

2.2.6. Ручная  обработка..................................................................................................................................... 17

2.2.7. Формирование и отладка запроса........................................................................................................ 21

2.2.8. Подготовка запроса в режиме Конструктора.................................................................................... 21

3. База данных «Расходы».............................................................................................................................................. 23

3.1. Схема базы данных «Расходы»....................................................................................................................... 23

3.2. Сведения о затратах на культмероприятия................................................................................................. 23

3.2.1. Постановка условий отбора................................................................................................................... 23

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

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

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

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

3.2.6. Ручная обработка...................................................................................................................................... 25

3.2.7. Формирование и отладка запроса........................................................................................................ 28

3.2.8. Подготовка запроса в режиме Конструктора.................................................................................... 29

4. База данных «Бумаги»................................................................................................................................................. 31

4.1. Схема базы данных............................................................................................................................................ 31

4.2. Покупки, продажи и денежные средства агентов...................................................................................... 31

4.2.1. Постановка условий.................................................................................................................................. 31

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

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

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

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

4.2.6. Ручная обработка...................................................................................................................................... 33

4.2.7. Формирование и отладка запроса........................................................................................................ 35

4.2.8. Подготовка запроса в Конструкторе.................................................................................................... 36

5. Используемая литература.......................................................................................................................................... 37

 

1.  База данных «Борей»

1.1. Схема базы данных «Борей»

База данных «Борей» включает в себя 8 таблиц, между которыми установлены следующие связи типа «один-ко-многим»[1]:

1.2. Отбор сотрудников, работавших по заказам на октябрь текущего года клиента GROSELLA-Restaurante

1.2.1. Постановка условия отбора

Необходимо отобразить фамилии и имена сотрудников, которые обслуживали заказы клиента GROSELLA-Restaurante в октябре текущего года.

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

Проанализировав результаты информационной потребности, определим состав и структуру требуемого сообщения S [Клиенты, работавшие по заказам на октябрь текущего года клиента GROSELLA-Restaurante].

S (Заказы.КодКлиента, Заказы.КодСотрудника, Заказы. ДатаНазначения, Заказы.ДатаИсполнения).

Клиент

Сотрудник

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

Дата исполнения

Реквизит «Клиент» является обязательным по условию задачи, остальные реквизиты – дополнительные.

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

Определим состав полей и таблиц, используемых в запросе, опираясь на приведенную выше Схему базы данных.

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

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

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

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

Данные о сотрудниках, которые обслуживали заказы клиента обновляются при поступлении заказов.

Данные могут оказаться необходимы одновременно многим потребителям, поэтому размещаются на сервере сети.

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

В данном запросе используются поля из таблиц Заказы, Клиенты и Сотрудники.

Между таблицами установлены связи типа «один-ко-многим».

Таблица Заказы имеет простой ключ КодЗаказа и является главной. Таблицы Клиенты и Сотрудники являются подчиненными и имеют простые ключи КодКлиента и КодСотрудника соответственно.

1.2.6. Ручная обработка

Представим исходные данные в таблицах:

Заказы (фрагмент)

Код заказа

Клиент

Сотрудник

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

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

Дата исполнения

Доставка

Стоимость доставки

Получатель

Адрес получателя

Город полу

чателя

Область полу

чателя

Индекс получателя

Страна получателя

10936

Great Lakes Food Market

Бабкина, Ольга

09-03-1998

06-04-1998

18-03-1998

Почта

33,68р.

Great Lakes Food Market

2732 Baker Blvd.

Юджин

OR

97403

США

11078

GROSELLA-Restaurante

0,00р.

10268

GROSELLA-Restaurante

Крылова, Анна

30-07-1996

27-08-1996

02-08-1996

Иное

66,29р.

GROSELLA-Restaurante

5S Ave. Los Palos Grandes

Каракас

DF

1081

Венесуэлла

10785

GROSELLA-Restaurante

Белова, Мария

18-12-1997

15-01-1998

24-12-1997

Иное

1,51р.

GROSELLA-Restaurante

5S Ave. Los Palos Grandes

Каракас

DF

1081

Венесуэлла

10702

GROSELLA-Restaurante

Белова, Мария

13-10-1997

24-11-1997

21-10-1997

Ространс

23,94р.

GROSELLA-Restaurante

5S Ave. Los Palos Grandes

Каракас

DF

1081

Венесуэла

10645

Hanari Carnes

Воронова, Дарья

26-08-1997

23-09-1997

02-09-1997

Ространс

12,41р.

Hanari Carnes

Rua do Paco, 67

Рио-де-Жанейро

RJ

05454-876

Бразилия

Клиенты (фрагмент)

Код клиента

Название

Обращаться к

Должность

Адрес

Город

Область

Индекс

Страна

Телефон

Факс

GREAL

Great Lakes Food Market

Howard Snyder

Главный менеджер

2732 Baker Blvd.

Юджин

OR

97403

США

(503) 555-7555

GROSR

GROSELLA-Restaurante

Manuel Pereira

Совладелец

5S Ave. Los Palos Grandes

Каракас

DF

1081

Венесуэла

(2) 283-2951

(2) 283-3397

HANAR

Hanari Carnes

Mario Pontes

Бухгалтер

Rua do Paco, 67

Рио-де-Жанейро

RJ

05454-876

Бразилия

(21) 555-0091

(21) 555-8765

Сотрудники (фрагмент)

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

Фамилия

Имя

Должность

Обращение

Дата рождения

Дата найма

Адрес

Город

Область

Индекс

Страна

Домашний телефон

Добавочный

Подчиняется

1

Белова

Мария

Представитель

г-жа

08-дек-1968

01-май-1992

ул. Нефтяников, 14-4

Москва

122981

Россия

(095) 555-9857

124-5467

Новиков, Павел

2

Новиков

Павел

Вице-президент

др.

19-фев-1952

14-авг-1992

Судостроительная ул., 12-245

Москва

104984

Россия

(095) 555-9482

124-3457

Результат выполнения реляционной операции произведения (фрагмент):

Код клиента

Название

Код заказа

Код клиента

Сотрудник

Дата исполнения

GREAL

Great Lakes Food Market

10936

Great Lakes Food Market

Бабкина, Ольга

18-03-1998

GREAL

Great Lakes Food Market

11078

GROSELLA-Restaurante

GREAL

Great Lakes Food Market

10268

GROSELLA-Restaurante

Крылова, Анна

02-08-1996

GREAL

Great Lakes Food Market

10785

GROSELLA-Restaurante

Белова, Мария

24-12-1997

GREAL

Great Lakes Food Market

10702

GROSELLA-Restaurante

Белова, Мария

21-10-1997

GREAL

Great Lakes Food Market

10645

Hanari Carnes

Воронова, Дарья

02-09-1997

GROSR

GROSELLA-Restaurante

10936

Great Lakes Food Market

Бабкина, Ольга

18-03-1998

GROSR

GROSELLA-Restaurante

11078

GROSELLA-Restaurante

GROSR

GROSELLA-Restaurante

10268

GROSELLA-Restaurante

Крылова, Анна

02-08-1996

GROSR

GROSELLA-Restaurante

10785

GROSELLA-Restaurante

Белова, Мария

24-12-1997

GROSR

GROSELLA-Restaurante

10702

GROSELLA-Restaurante

Белова, Мария

21-10-1997

GROSR

GROSELLA-Restaurante

10645

Hanari Carnes

Воронова, Дарья

02-09-1997

HANAR

Hanari Carnes

10936

Great Lakes Food Market

Бабкина, Ольга

18-03-1998

HANAR

Hanari Carnes

11078

GROSELLA-Restaurante

HANAR

Hanari Carnes

10268

GROSELLA-Restaurante

Крылова, Анна

02-08-1996

HANAR

Hanari Carnes

10785

GROSELLA-Restaurante

Белова, Мария

24-12-1997

HANAR

Hanari Carnes

10702

GROSELLA-Restaurante

Белова, Мария

21-10-1997

HANAR

Hanari Carnes

10645

Hanari Carnes

Воронова, Дарья

02-09-1997

Результат выполнения операции соединения – сцепление строк с совпадающими значениями полей Название и КодКлиента (фрагмент):

Код клиента

Название

Код заказа

Код клиента

Сотрудник

Дата исполнения

GROSR

GROSELLA-Restaurante

11078

GROSELLA-Restaurante

GROSR

GROSELLA-Restaurante

10268

GROSELLA-Restaurante

Крылова, Анна

02-08-1996

GROSR

GROSELLA-Restaurante

10785

GROSELLA-Restaurante

Белова, Мария

24-12-1997

GROSR

GROSELLA-Restaurante

10702

GROSELLA-Restaurante

Белова, Мария

21-10-1997

Результат выполнения операции селекции – выбора строк по принадлежности значений поля Дата назначения интервалу от 01-10-1997 по 31-10-1997 включительно:

Код клиента

Название

Код заказа

Код клиента

Сотрудник

Дата исполнения

GROSR

GROSELLA-Restaurante

10702

GROSELLA-Restaurante

Белова, Мария

21-10-1997

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

Название

Сотрудник

Дата исполнения

GROSELLA-Restaurante

Белова, Мария

21-10-1997

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

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

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

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

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

SELECT Клиенты.*, Заказы.* FROM Клиенты, Заказы INNER JOIN Заказы ON Клиенты.КодКлиента = Заказы.КодКлиента WHERE (((Заказы.ДатаИсполнения)>=#01.10.1997# And (((Заказы.ДатаИсполнения)<=#31.10.1997#))

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

SELECT DISTINCT Клиенты.КодКлиента, Клиенты.Название, Заказы.ДатаИсполнения FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента=Заказы.КодКлиента WHERE (((Заказы.ДатаНазначения) >= #10/01/1997# And (Заказы.ДатаНазначения) >= #10/31/1997#));

1.2.7. Формирование и отладка запроса

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

SELECT DISTINCTROW Заказы.КодЗаказа, Клиенты.Название, Заказы.ДатаИсполнения, Сотрудники.Фамилия, Сотрудники.Имя

FROM Сотрудники INNER JOIN (Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента = Заказы.КодКлиента) ON Сотрудники.КодСотрудника = Заказы.КодСотрудника

WHERE (((Клиенты.Название)="GROSELLA-Restaurante") AND ((Заказы.ДатаИсполнения) Between #10/1/1997# And #10/31/1997#));

1.2.8. Подготовка запроса в режиме Конструктора

Создадим простой запрос при помощи Конструктора. В бланк запроса перенесем поля КодЗаказа и ДатаИсполнения из таблицы Заказы, поле Название из таблицы Клиенты, поля Фамилия и Имя из таблицы Сотрудники.

Зададим условия отбора. Для поля Название зададим "GROSELLA-Restaurante", которое позволит отобрать все заказы клиента "GROSELLA-Restaurante". А для поля ДатаИсполнения зададим условие Between #01.10.1997# And #31.10.1977#/, которые позволит отобрать заказы только с датой исполнения с 01.10.1997 по 31.10.1997.

В результате созданный запрос в режиме Конструктора будет иметь вид:

Этот запрос выдаст следующие данные о сотрудниках, работающих с клиентом GROSELLA-Restaurante с 1 по 31 октября:

Сотрудники по заказам GROSELLA-Resteurant

Код заказа

Название

Дата исполнения

Фамилия

Имя

10702

GROSELLA-Restaurante

21-10-1997

Белова

Мария

1.3. Сведения о товарах на складе от поставщика Ма Maison.

1.3.1. Постановка условий отбора

Нужно отобрать те товары на складе, которые поставил Ma Maison.

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

Проанализировав результаты информационной потребности, определим состав и структуру требуемого сообщения S [Товары на складе от поставщика Ma Maison].

S (Поставщики.Название, Товары.КодТовара, Товары.Марка, Товары.ЕдиницаИзмерения, Товары.Цена, Товары.НаСкладе).

КодТовара

Поставщик

Марка

Единица измерения

Цена

На складе

Реквизит «Название» из таблицы Поставщики является обязательным по условию задачи, остальные реквизиты – дополнительные.

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

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

На выходе процесса должно быть получено сообщение с выше определенной структурой, имеющее следующую функциональную схему:

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

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

Чтобы данными могли одновременно пользоваться многие потребители, они размещаются на сервере сети.

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

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

1.3.6. Ручная обработка

В таблицах, участвующих в запросе, имеются следующие данные:

Товары

Код товара

Марка

Поставщик

Тип

Единица измерения

Цена

На складе

Ожидается

Минимальный запас

ПоставкиПрекращены

77

Tofu

Mayumi's

Фрукты

40 штук по 100 г

1 046,25р.

35

0

0

Нет

55

Tourtiere

Ma Maison

Мясо/птица

16 штук

335,25р.

21

0

10

Нет

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

12 упаковок по 250 г

405,00р.

61

0

25

Нет

Типы

Код типа

Категория

Описание

Изображение

5

Хлебобулочные изделия

Хлеб, крекеры, хлопья и пр.

6

Мясо/птица

Мясные полуфабрикаты и готовые изделия

7

Фрукты

Сушеные и свежие фрукты

Поставщики

Код поставщика

Название

Обращаться к

Должность

Адрес

Город

Область

Индекс

Страна

Телефон

Факс

Домашняя страница

25

Ma Maison

Jean-Guy Lauzon

Главный менеджер

2960 Rue St. Laurent

Монреаль

Quеbec

H1J 1C3

Канада

(514) 555-9022

26

Pasta Buttini s.r.l.

Giovanni Giudici

Координатор

Via dei Gelsomini, 153

Салерно

84100

Италия

(089) 6547665

(089) 6547667

Результат выполнения реляционной операции произведения таблиц Товары и Типы (фрагмент):

Код товара

Марка

Поставщик

Тип

Код типа

Категория

77

Tofu

Mayumi's

Фрукты

5

Хлебобулочные изделия

55

Tourtiere

Ma Maison

Мясо/птица

5

Хлебобулочные изделия

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

5

Хлебобулочные изделия

77

Tofu

Mayumi's

Фрукты

6

Мясо/ птица

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

6

Мясо/ птица

77

Tofu

Mayumi's

Фрукты

7

Фрукты

55

Tourtiere

Ma Maison

Мясо/птица

7

Фрукты

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

7

Фрукты

Теперь выполним реляционную операцию произведение полученного выше произведения таблиц Товары и Типы на таблицу Поставщики (фрагмент):

Код товара

Марка

Поставщик

Тип

Код типа

Категория

Код поставщика

Название

77

Tofu

Mayumi's

Фрукты

5

Хлебобулочные изделия

25

Ma Maison

55

Tourtiere

Ma Maison

Мясо/птица

5

Хлебобулочные изделия

25

Ma Maison

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

5

Хлебобулочные изделия

25

Ma Maison

77

Tofu

Mayumi's

Фрукты

6

Мясо/ птица

25

Ma Maison

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

25

Ma Maison

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

6

Мясо/ птица

25

Ma Maison

77

Tofu

Mayumi's

Фрукты

7

Фрукты

25

Ma Maison

55

Tourtiere

Ma Maison

Мясо/птица

7

Фрукты

25

Ma Maison

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

7

Фрукты

25

Ma Maison

77

Tofu

Mayumi's

Фрукты

5

Хлебобулочные изделия

26

Pasta Buttini s.r.l.

55

Tourtiere

Ma Maison

Мясо/птица

5

Хлебобулочные изделия

26

Pasta Buttini s.r.l.

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

5

Хлебобулочные изделия

26

Pasta Buttini s.r.l.

77

Tofu

Mayumi's

Фрукты

6

Мясо/ птица

26

Pasta Buttini s.r.l.

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

26

Pasta Buttini s.r.l.

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

6

Мясо/ птица

26

Pasta Buttini s.r.l.

77

Tofu

Mayumi's

Фрукты

7

Фрукты

26

Pasta Buttini s.r.l.

55

Tourtiere

Ma Maison

Мясо/птица

7

Фрукты

26

Pasta Buttini s.r.l.

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

7

Фрукты

26

Pasta Buttini s.r.l.

Выполним операцию соединение – сцепление строк с совпадающими значениями полей Тип и Категория (фрагмент).

Код товара

Марка

Поставщик

Тип

Код типа

Категория

Код поставщика

Название

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

5

Хлебобулочные изделия

25

Ma Maison

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

25

Ma Maison

77

Tofu

Mayumi's

Фрукты

7

Фрукты

25

Ma Maison

9

Tunnbrod

PB Knackebrod AB

Хлебобулочные изделия

5

Хлебобулочные изделия

26

Pasta Buttini s.r.l.

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

26

Pasta Buttini s.r.l.

77

Tofu

Mayumi's

Фрукты

7

Фрукты

26

Pasta Buttini s.r.l.

Результат выполнения операции соединения – сцепление строк с совпадающими значениями полей Поставщик и Название:

Код товара

Марка

Поставщик

Тип

Код типа

Категория

Код поставщика

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

25

Результат выполнения селекции выбора строк по значению поля Поставщик равному Ma Maison:

Код товара

Марка

Поставщик

Тип

Код типа

Категория

Код поставщика

55

Tourtiere

Ma Maison

Мясо/птица

6

Мясо/ птица

25

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

Код товара

Марка

Поставщик

Тип

55

Tourtiere

Ma Maison

Мясо/птица

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

SELECT  Товары.*, Типы.*, Поставщики.*

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

SELECT  Товары.*, Типы.*, Поставщики.* FROM Товары, Типы, Поставщики INNER  JOIN Товары ON Товары.КодПоставщика = Поставщики.КодПоставщика And Товары.КодТипа=Типы.КодТипа;

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

SELECT Товары.КодТовара, Товары.Марка, Поставщики.Название, Товары.ЕдиницаИзмерения, Товары.Цена, Товары.НаСкладе

FROM Типы INNER JOIN (Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа

WHERE (((Поставщики.Название)="Ma Maison"));

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

SELECT DISTINCT Товары.КодТовара, Товары.Марка, Поставщики.Название, Товары.ЕдиницаИзмерения, Товары.Цена, Товары.НаСкладе

FROM Типы INNER JOIN (Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа

WHERE (((Поставщики.Название)="Ma Maison"));

1.3.7. Формирование и отладка запроса

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

SELECT DISTINCTROW Товары.КодТовара, Товары.Марка, Поставщики.Название, Товары.ЕдиницаИзмерения, Товары.Цена, Товары.НаСкладе

FROM Типы INNER JOIN (Поставщики INNER JOIN Товары ON Поставщики.КодПоставщика = Товары.КодПоставщика) ON Типы.КодТипа = Товары.КодТипа

WHERE (((Поставщики.Название)="Ma Maison"));

1.3.8. Подготовка запроса в режиме Конструктора

В бланка конструктора запроса перенесем поля КодТовара, Марка, ЕдиницыИзмерения, Цена и НаСкладе из таблицы Товары и поле Название из таблицы Поставщики.

Зададим условие отбора “Ma Maison” для поля Название из таблицы Поставщики.

В режиме Конструктора запрос примет вид:

При выполнении он выдаст результат об имеющихся на складе товаров от поставщика «Ma Maison».

Товары на складе от Ma Maison

Код товара

Марка

Название

Единица измерения

Цена

На складе

55

Tourtiere

Ma Maison

16 штук

335,25р.

21

56

Pate chinois

Ma Maison

24 коробки по 2 шт.

1 080,00р.

115

2. База данных «Заказы на работы»

2.1. Схема базы данных «Заказы на работы»

Для создания базы данных воспользуемся Мастером[2]. Для этого выберем создание базы данных из шаблона и выберем шаблон «Заказы на работы».

Зададим имя файла создаваемой базы данных «Заказы на работы».

Будет создано 8 таблиц, между которыми будут установлены связи:

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

2.2.1. Постановка условий отбора

Требуется отобразить перечень оборудования, которое потребуется для выполнения заказов клиентов из Украины в определенном месяце текущего года.

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

Проанализировав информационную потребность, определим состав и структуру выходного сообщения. S [Оборудование, необходимое для выполнения заказов клиентов из Украины].

S (Необходимое оборудование.КодЗаказа, НеобходимоеОборудование. КодОборудования, Клиенты.Название компании, Клиенты.Страна/регион, Заказы на работы.ДатаПолучения)

Код заказа

Название

Страна/регион

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

Код оборудования

Реквизит «Страна / регион» является обязательным, а остальные – дополнительными.

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

На основании приведенной выше Схемы базы данных определим состав таблиц и их полей, участвующих в запросе.

В запросе будут присутствовать поля из таблиц Клиенты, Заказы на работы и Необходимое оборудование.

На выходе процесса должно быть получено сообщение с приведенной выше структурой.

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

Выходное сообщение позволит уменьшить трудозатраты по выборке информации для анализа требуемого оборудования для заказов клиентов из Украины в определенный период.

Данные о требуемом оборудовании обновляются при появлении нового заказа.

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

В этом запросе будут задействованы поля из таблиц Клиенты, Заказы на работы и Требуемое оборудование.

Между названными таблицами имеются связи типа «один-ко-многим».

Таблица Заказы на работы имеет простой ключ КодЗаказа и является главной. Таблицы Клиенты и Требуемое оборудование являются подчиненными и имеют простые ключи КодКлиента и КодНеобходимогоОборудования соответственно.

 

2.2.6. Ручная  обработка

Приведем исходные данные в используемых таблицах:

Клиенты

Код клиента

Название

Имя

Фамилия

Адрес счета

Город

Регион

Индекс

Страна/регион

Должность

Телефон

Факс

1

ООО "Регион"

Валентин

Казанцев

Красноярск

Красноярск

Красноярский край

412345

Россия

Менеджер

(111) 111-11-11

(111) 111-11-11

2

ОАО "Квадрат"

Юрий

Григоренко

Мурманск

Мурманск

Мурманская область

111255

Россия

Директор

(543) 765-23-54

(543) 765-23-54

3

ПБОЮЛ "Фетисов"

Николай

Фетисов

Киев

Киев

Киевская область

587254

Украина

Директор

(999) 999-99-99

(999) 999-99-99

4

НПО "Восток"

Петр

Кудинов

Харьков

Зарьков

Харьковская область

654321

Украина

Управляющий

(876) 764-23-34

(876) 764-23-34

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

Код заказа

Код клиента

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

Номер заказа

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

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

Модель

Серийный номер

Описание

Дата завершения

Дата выдачи

Ставка налога

1

ООО "Регион"

Власова, Наталья

654

09.01.2005

21.01.2005

Кит К-566

58-987

Ремонт

15.03.2005

22.03.2005

10,00%

2

ОАО "Квадрат"

Гавриков, Александр

1254

18.01.2005

02.02.2005

ЗИЛ-130

1555

Окраска

26.01.2005

19.02.2005

8,00%

3

ПБОЮЛ "Фетисов"

Волков, Евгений

444

05.02.2005

25.02.2005

БФК-09

148

Ремонт

04.02.2005

04.03.2005

17,00%

Необходимое оборудование

Код

Код заказа

Код оборудования

Количество

Цена

1

1

Грузовая тележка

2

1 840,00р.

2

2

Шлифовальный станок

1

1 250,00р.

3

2

Сверлильный станок

1

5 240,00р.

4

3

Сварочный аппарат

3

2 250,00р.

Результат выполнения реляционной операции произведения таблиц Заказы на работы и Необходимое оборудование.

Код

Код заказа

Код оборудования

Количество

Цена

Код заказа

Код клиента

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

2

2

Шлифовальный станок

1

1 250,00р.

1

ООО "Регион"

3

2

Сверлильный станок

1

5 240,00р.

1

ООО "Регион"

4

3

Сварочный аппарат

3

2 250,00р.

1

ООО "Регион"

1

1

Грузовая тележка

2

1 840,00р.

2

ОАО "Квадрат"

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

3

2

Сверлильный станок

1

5 240,00р.

2

ОАО "Квадрат"

4

3

Сварочный аппарат

3

2 250,00р.

2

ОАО "Квадрат"

1

1

Грузовая тележка

2

1 840,00р.

3

ПБОЮЛ "Фетисов"

2

2

Шлифовальный станок

1

1 250,00р.

3

ПБОЮЛ "Фетисов"

3

2

Сверлильный станок

1

5 240,00р.

3

ПБОЮЛ "Фетисов"

4

3

Сварочный аппарат

3

2 250,00р.

3

ПБОЮЛ "Фетисов"

Результат выполнения реляционной операции произведения таблиц Заказы на работы, Необходимое оборудование и Клиенты.

Код

Код заказа

Код оборудования

Количество

Цена

Код заказа

Код клиента

Название

Страна / регион

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

1

ООО "Регион"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

1

ООО "Регион"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

1

ООО "Регион"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

2

ОАО "Квадрат"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

2

ОАО "Квадрат"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

2

ОАО "Квадрат"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

3

ПБОЮЛ "Фетисов"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

3

ПБОЮЛ "Фетисов"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

3

ПБОЮЛ "Фетисов"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

1

ООО "Регион"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

1

ООО "Регион"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

1

ООО "Регион"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

2

ОАО "Квадрат"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

2

ОАО "Квадрат"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

2

ОАО "Квадрат"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

3

ПБОЮЛ "Фетисов"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

3

ПБОЮЛ "Фетисов"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

3

ПБОЮЛ "Фетисов"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

1

ООО "Регион"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

1

ООО "Регион"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

1

ООО "Регион"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

2

ОАО "Квадрат"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

2

ОАО "Квадрат"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

2

ОАО "Квадрат"

НПО "Восток"

Украина

1

1

Грузовая тележка

2

1 840,00р.

3

ПБОЮЛ "Фетисов"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

3

ПБОЮЛ "Фетисов"

ОАО "Квадрат"

Россия

3

2

Сверлильный станок

1

5 240,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

4

3

Сварочный аппарат

3

2 250,00р.

3

ПБОЮЛ "Фетисов"

НПО "Восток"

Украина

Теперь выполним операция соединение – сцепление строк с одинаковыми полями КодКлиента и НазваниеКлиента.

Код

Код заказа

Код оборудования

Количество

Цена

Код заказа

Код клиента

Название

Страна / регион

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

1

1

Грузовая тележка

2

1 840,00р.

1

ООО "Регион"

ООО "Регион"

Россия

2

2

Шлифовальный станок

1

1 250,00р.

2

ОАО "Квадрат"

ОАО "Квадрат"

Россия

3

2

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

Результат выполнения операции селекции – выбора строк по полю Страна / регион имеющего значение Украина.

Код

Код заказа

Код оборудования

Количество

Цена

Код заказа

Код клиента

Название

Страна / регион

3

3

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

3

3

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

3

3

Сварочный аппарат

1

750,00р.

3

ПБОЮЛ "Фетисов"

ПБОЮЛ "Фетисов"

Украина

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

Код

Код заказа

Код оборудования

Количество

Цена

Название

Страна / регион

3

3

Сварочный аппарат

1

750,00р.

ПБОЮЛ "Фетисов"

Украина

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

SELECT Клиенты.*, Заказа на работы.*, Необходимое оборудование.* FROM Клиенты, Заказы на работы, Необходимое оборудование

Для получения результата операции селекции в автоматизированном режиме  используется запрос:

SELECT Необходимое оборудование.*, Клиенты.*, Заказы на работы.*

FROM (Клиенты INNER JOIN [Заказы на работы] ON Клиенты.КодКлиента = [Заказы на работы].КодКлиента) INNER JOIN [Необходимое оборудование] ON [Заказы на работы].КодЗаказа = [Необходимое оборудование].КодЗаказа

WHERE (((Клиенты.[Страна/регион])="Украина"));

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

SELECT DISTINCT Клиенты.КодКлиента, Заказы.КодЗаказа, Клиенты.[Страна/регион]

FROM (Клиенты INNER JOIN [Заказы на работы] ON Клиенты.КодКлиента = [Заказы на работы].КодКлиента) INNER JOIN [Необходимое оборудование] ON [Заказы на работы].КодЗаказа = [Необходимое оборудование].КодЗаказа

WHERE (((Клиенты.[Страна/регион])="Украина"));

2.2.7. Формирование и отладка запроса

Так как между участвующими в запросе таблицами имеются связи «один-ко-многим», то для исключения  повторов нужно использовать инструкцию:

SELECT DISTINCTROW Клиенты.КодКлиента, Заказы.КодЗаказа, Клиенты.[Страна/регион]

FROM (Клиенты INNER JOIN [Заказы на работы] ON Клиенты.КодКлиента = [Заказы на работы].КодКлиента) INNER JOIN [Необходимое оборудование] ON [Заказы на работы].КодЗаказа = [Необходимое оборудование].КодЗаказа

WHERE (((Клиенты.[Страна/регион])="Украина"));

2.2.8. Подготовка запроса в режиме Конструктора

Перенесем в бланк запроса поля КодЗаказа и КодОборудования из таблицы Необходимое оборудование, поля Название компании и Страна/Регион из таблицы Клиенты, а также поле Дата получения из таблицы заказы на работы.

Для поля Страна / регион зададим условие отбора «Украина», которое будет отбирать из заказов те, которые были из Украины.

Для поля Дата получения зададим условие отбора Between [Введите начальную дату:] And [Введите конечную дату:], которое будет запрашивать для отбора начальную и конечную дату требуемого периода:

В режиме Конструктора созданный запрос будет иметь вид:

Для заданного временного интервала получим результат:

Оборудование для заказов из Украины

Код заказа

Название

Страна/регион

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

Код оборудования

3

ПБОЮЛ "Фетисов"

Украина

05.02.2005

Сварочный аппарат

3. База данных «Расходы»

3.1. Схема базы данных «Расходы»

Создадим базу данных «Расходы» при помощи мастера стандартных баз данных Microsoft Access.

Будет создано 4 таблицы со следующими связями:

3.2. Сведения о затратах на культмероприятия

3.2.1. Постановка условий отбора

Из всех произведенных в определенный период затратах, отобрать те, которые были на культурные мероприятия.

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

При анализе результата информационной потребности, определим состав и структуру выходного сообщения S [Затраты на культурные мероприятия за период].

S[Отчеты о расходах.КодОтчетаОРасходах, Отчеты о расходах.КодСотрудника, Типы расходов.КатегорияРасходов, Отчеты о расходах.ДатаВыставленияСчета, Сведения о расходах.СуммаСтатьиРасходов]

Затраты на культурные мероприятия за период

Код отчета

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

Тип расходов

Дата

Сумма расходов

Реквизит «Тип расходов» является обязательным по условию задачи, а остальны

– дополнительными.

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

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

Выходное сообщение позволит сократить трудозатраты на выборку информации для анализа данных о затратах на культурные мероприятия.

Эти данные обновляются при планировании или завершении некоторого культурного мероприятия.

Так как эти данные могут одновременно потребоваться нескольким потребителям, то они размещаются на сервере сети.

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

В запросе участвуют поля из таблиц Типы расходов, Отчеты о расходах и Сведения о расходах.

Между таблицами установлены связи.

Таблица Сведения о расходах имеет простой ключ КодСведенийОРасходах и является главной, а таблицы Типы расходов и Отчеты о расходах являются подчиненными и имеют простые ключи КодТипаРасходов и КодОтчетаОРасходах соответственно.

3.2.6. Ручная обработка

Таблицы содержат следующие исходные данные:

Типы расходов

Код типа расходов

Тип расходов

Учетный номер

1

Оплата служащим

1

2

Оплата помещения

2

3

Оплата автотранспорта

3

4

Культурно-развлекательные мероприятия

4

Сведения о расходах

Код расходов

Код отчета

Код типа расходов

Сумма расходов

Описание расходов

Дата расходов

1

1

Оплата служащим

1 000,00р.

Оплата за ремонт

05.02.2005

2

2

Культурно-развлекательные мероприятия

500,00р.

Оплата за билеты

10.02.2005

3

3

Оплата автотранспорта

100,00р.

Оплата за автотранспорт

10.02.2005

4

4

Культурно-развлекательные мероприятия

2 550,00р.

Оплата за кафе

25.02.2005

Отчеты о расходах

Код отчета

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

Тип расходов

Название

Описание отчета

Дата

Задаток

Отдел оплаты

Оплачено

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

1 000,00р.

1

Да

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

500,00р.

1

Нет

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

100,00р.

1

Да

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

2 550,00р.

2

Нет

Результат выполнения реляционной операции произведения таблиц Типы расходов и Отчеты о расходах.

Код

Отчета

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

Тип

расходов

Название

Описание отчета

Дата

Код типа расходов

Тип расходов

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

1

Оплата служащим

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

1

Оплата служащим

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

1

Оплата служащим

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

1

Оплата служащим

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

2

Оплата помещения

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

2

Оплата помещения

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

2

Оплата помещения

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

2

Оплата помещения

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

3

Оплата транспорта

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

3

Оплата транспорта

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

3

Оплата транспорта

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

3

Оплата транспорта

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

4

Культурно-развлекательные мероприятия

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

4

Культурно-развлекательные мероприятия

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

4

Культурно-развлекательные мероприятия

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

4

Культурно-развлекательные мероприятия

Результат выполнения операции соединения – сцепление строк с совпадающими значениями полей Тип расходов и Код типа расходов.

Код

Отчета

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

Тип

расходов

Название

Описание отчета

Дата

Код типа расходов

Тип расходов

2

Волков, Николай

1

Оплата за билеты

Оплата за культпоход

10.02.2005

1

Оплата служащим

4

Ширшин, Вадим

1

Оплата за кафе

Затраты на кафе

25.02.2005

1

Оплата служащим

3

Пузов, Олег

2

Оплата за аренду

Аренда автотранспорта

10.02.2005

2

Оплата помещения

1

Петрова, Мария

4

Оплата за ремонт

Оплата за услуги

05.02.2005

4

Культурно-развлекательные мероприятия

Результат выполнения операции селекции – выбора строк с Типом расходов Культурно-развлекательные мероприятия.

Код

Отчета

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

Название

Описание отчета

Дата

Тип расходов

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

Теперь проведем сцепление полученных данных с таблицей Сведения о расходах.

Код

Отчета

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

Название

Описание отчета

Дата

Тип расходов

Код типа расходов

Сумма расходов

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

Оплата служащим

1000,00р.

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

Культурно-развлекательные мероприятия

500,00р.

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

Оплата служащим

100,00р.

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

Культурно-развлекательные мероприятия

2550,00р.

Результат выполнения операции селекции – выбора строк с Типом расходов Культурно-развлекательные мероприятия.

Код

Отчета

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

Название

Описание отчета

Дата

Тип расходов

Сумма расходов

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

500,00р.

1

Петрова, Мария

Оплата за ремонт

Оплата за услуги

05.02.2005

Культурно-развлекательные мероприятия

2550,00р.

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

Код

Отчета

Дата

Тип расходов

Сумма расходов

1

05.02.2005

Культурно-развлекательные мероприятия

500,00р.

1

05.02.2005

Культурно-развлекательные мероприятия

2550,00р.

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

SELECT Отчеты о расходах.*, Типы расходов.*, Сведения  о расходах.* FROM Отчеты о расхода, Типы расходов, Сведения о расходах

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

SELECT [Отчеты о расходах].КодОтчетаОРасходах, [Отчеты о расходах].КодСотрудника, [Типы расходов].КатегорияРасходов, [Отчеты о расходах].ДатаВыставленияСчета, [Сведения о расходах].СуммаСтатьиРасходов

FROM [Отчеты о расходах] INNER JOIN ([Типы расходов] RIGHT JOIN [Сведения о расходах] ON [Типы расходов].КодТипаРасходов = [Сведения о расходах].КодТипаРасходов) ON [Отчеты о расходах].КодОтчетаОРасходах = [Сведения о расходах].КодОтчетаОРасходах

WHERE ((([Типы расходов].КатегорияРасходов)="Культурно-развлекательные мероприятия") AND (([Отчеты о расходах].ДатаВыставленияСчета) Between [Введите начальную дату] And [Введите конечную дату:]));

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

SELECT DISTINCT [Отчеты о расходах].КодОтчетаОРасходах, [Отчеты о расходах].КодСотрудника, [Типы расходов].КатегорияРасходов, [Отчеты о расходах].ДатаВыставленияСчета, [Сведения о расходах].СуммаСтатьиРасходов

FROM [Отчеты о расходах] INNER JOIN ([Типы расходов] RIGHT JOIN [Сведения о расходах] ON [Типы расходов].КодТипаРасходов = [Сведения о расходах].КодТипаРасходов) ON [Отчеты о расходах].КодОтчетаОРасходах = [Сведения о расходах].КодОтчетаОРасходах

WHERE ((([Типы расходов].КатегорияРасходов)="Культурно-развлекательные мероприятия") AND (([Отчеты о расходах].ДатаВыставленияСчета) Between [Введите начальную дату] And [Введите конечную дату:]));

3.2.7. Формирование и отладка запроса

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

SELECT DISTINCTROW [Отчеты о расходах].КодОтчетаОРасходах, [Отчеты о расходах].КодСотрудника, [Типы расходов].КатегорияРасходов, [Отчеты о расходах].ДатаВыставленияСчета, [Сведения о расходах].СуммаСтатьиРасходов

FROM [Отчеты о расходах] INNER JOIN ([Типы расходов] RIGHT JOIN [Сведения о расходах] ON [Типы расходов].КодТипаРасходов = [Сведения о расходах].КодТипаРасходов) ON [Отчеты о расходах].КодОтчетаОРасходах = [Сведения о расходах].КодОтчетаОРасходах

WHERE ((([Типы расходов].КатегорияРасходов)="Культурно-развлекательные мероприятия") AND (([Отчеты о расходах].ДатаВыставленияСчета) Between [Введите начальную дату] And [Введите конечную дату:]));

3.2.8. Подготовка запроса в режиме Конструктора

Создадим простой запрос. В бланк запроса добавим поля КодОтчетаОРасходах, КодСотрудника и ДатаВыставленияСчета из таблицы Отчеты о расходах, поле КатегорияРасходов из таблицы Типы расходов, а также поле СуммаСтатьиРасходов из таблицы Сведения о расходах.

Зададим условия отбора для поля КатегорияРасходов – «Культурно-развлекательные мероприятия», которое позволит отобрать записи с данной категорией расходов.

Для поля ДатаВыставленияСчета введем условие отбора Between [Введите начальную дату] And [Введите конечную дату:], которое позволит отобрать данные о счетах за период между вводимой начальной и конечной датами.

В режиме Конструктора этот запрос будет иметь вид:

При запуске запрос будет запрашивать начальную и конечную дату период, о котором нужно получить сведения:

При выполнении запроса для заданного периода получим:

Затраты на культурные мероприятия за период

Код отчета

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

Тип расходов

Дата

Сумма расходов

2

Волков, Николай

Культурно-развлекательные мероприятия

10.02.2005

500,00р.

4

Ширшин, Вадим

Культурно-развлекательные мероприятия

25.02.2005

2 550,00р.

4. База данных «Бумаги»

4.1. Схема базы данных

Создадим 7 таблиц, между которыми установим следующие связи:

Все созданные связи будут иметь тип «Один-ко-многим».

4.2. Покупки, продажи и денежные средства агентов

4.2.1. Постановка условий

. Сравнить данные о продажах, покупках и денежных средствах агентов (в абсолютных и относительных показателях). Кто из агентов активнее использует средства?

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

Проанализировав результаты информационной потребности, определим состав и структуру требуемого сообщения S [Покупка, продажа и денежные средства агентов].

S (Агенты.НаимАг, Агенты.СуммаДен, ЗаказыНаПродажу.ЦенаЗаявкиПр, ЗаявкиНаПокупки.ЦенаЗаявкиПок)

НаимАг

ЦенаЗаявкиПр

ЦенаЗаявкиПок

СуммаДен

Реквизит «НаимАг» является обязательным по условию задачи, остальные – дополнительные.

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

Определим состав полей и таблиц, используемых в запросе, опираясь на Схему данных.

В запросе участвуют поля из таблиц Агенты, ЗаказыНаПродажу и ЗаявкиНаПокупки.

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

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

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

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

В этом запросе используются поля из таблицы Агенты, ЗаказыНаПродажу и ЗаявкиНаПокупки.

Между таблицами имеются связи типа «один-ко-многим».

Таблица Агенты имеет простой ключ КодАг и является главной. Таблицы ЗаказыНаПродажу и ЗаявкиНаПокупки являются подчиненными и имеют простые ключи КодЗаявкиПр и КодЗаявкиПок соответственно.

4.2.6. Ручная обработка

Представим исходные данные в таблицах:

Агенты

КодАг

НаимАг

СуммаДен

Комментарий

1

ООО "Кит"

15 000,00р.

2

ОАО "Нона"

2 500,00р.

3

НПО "Альтернатва"

10 500,00р.

4

ФГУП "Энергия"

45 525,00р.

ЗаказыНаПродажу

КодЗаявкиПр

КодАг

КодБум

ОбъемЗаявкиПрНач

ОбъемЗаявкиПрТек

ЦенаЗаявкиПр

ДатаЗаявкиПр

1

3

2

5

6

8 000,00р.

03.02.2005

2

4

1

4

2

5 500,00р.

05.02.2005

3

1

1

10

8

7 700,00р.

10.02.2005

4

1

2

4

2

3 500,00р.

12.02.2005

ЗаявкиНаПокупки

КодЗаявкиПок

КодАг

КодБум

КодЗаявкиПр

ОбъемЗаявкиПок

ЦенаЗаявкиПок

ПризнакПок

ДатаЗаякиПок

1

1

1

025-68

4

2 660,00р.

Куплено

02.02.2005

2

4

2

Ж98

7

4 750,00р.

Куплено

05.02.2005

Результат выполнения реляционной операции произведения таблиц Агенты и ЗаявкиНаПродажу.

КодАг

НаимАг

СуммаДен

КодАг

КодБум

ОбъемЗаявкиПрНач

ОбъемЗаявкиПрТек

1

ООО "Кит"

15 000,00р.

3

2

5

6

2

ОАО "Нона"

2 500,00р.

3

2

5

6

3

НПО "Альтернатва"

10 500,00р.

3

2

5

6

4

ФГУП "Энергия"

45 525,00р.

3

2

5

6

1

ООО "Кит"

15 000,00р.

4

1

4

2

2

ОАО "Нона"

2 500,00р.

4

1

4

2

3

НПО "Альтернатва"

10 500,00р.

4

1

4

2

4

ФГУП "Энергия"

45 525,00р.

4

1

4

2

1

ООО "Кит"

15 000,00р.

1

1

10

8

2

ОАО "Нона"

2 500,00р.

1

1

10

8

3

НПО "Альтернатва"

10 500,00р.

1

1

10

8

4

ФГУП "Энергия"

45 525,00р.

1

1

10

8

1

ООО "Кит"

15 000,00р.

1

2

4

2

2

ОАО "Нона"

2 500,00р.

1

2

4

2

3

НПО "Альтернатва"

10 500,00р.

1

2

4

2

4

ФГУП "Энергия"

45 525,00р.

1

2

4

2

Результат выполнения реляционной операции произведения таблиц Агенты, ЗаявкиНаПродажу и ЗаявкиНаПокупки.

КодАг

НаимАг

СуммаДен

КодАг

КодБум

ОбъемЗаявки

ПрНач

Объем

ЗаявкиПрТек

КодАг

КодБум

Объем

ЗаявкиПок

1

ООО "Кит"

15 000,00р.

3

2

5

6

1

1

4

1

ООО "Кит"

15 000,00р.

3

2

5

6

4

2

7

2

ОАО "Нона"

2 500,00р.

3

2

5

6

1

1

4

2

ОАО "Нона"

2 500,00р.

3

2

5

6

4

2

7

3

НПО "Альтернатва"

10 500,00р.

3

2

5

6

1

1

4

3

НПО "Альтернатва"

10 500,00р.

3

2

5

6

4

2

7

4

ФГУП "Энергия"

45 525,00р.

3

2

5

6

1

1

4

4

ФГУП "Энергия"

45 525,00р.

3

2

5

6

4

2

7

1

ООО "Кит"

15 000,00р.

4

1

4

2

1

1

4

1

ООО "Кит"

15 000,00р.

4

1

4

2

4

2

7

2

ОАО "Нона"

2 500,00р.

4

1

4

2

1

1

4

2

ОАО "Нона"

2 500,00р.

4

1

4

2

4

2

7

3

НПО "Альтернатва"

10 500,00р.

4

1

4

2

1

1

4

3

НПО "Альтернатва"

10 500,00р.

4

1

4

2

4

2

7

4

ФГУП "Энергия"

45 525,00р.

4

1

4

2

1

1

4

4

ФГУП "Энергия"

45 525,00р.

4

1

4

2

4

2

7

1

ООО "Кит"

15 000,00р.

1

1

10

8

1

1

4

1

ООО "Кит"

15 000,00р.

1

1

10

8

4

2

7

2

ОАО "Нона"

2 500,00р.

1

1

10

8

1

1

4

2

ОАО "Нона"

2 500,00р.

1

1

10

8

4

2

7

3

НПО "Альтернатва"

10 500,00р.

1

1

10

8

1

1

4

3

НПО "Альтернатва"

10 500,00р.

1

1

10

8

4

2

7

4

ФГУП "Энергия"

45 525,00р.

1

1

10

8

1

1

4

4

ФГУП "Энергия"

45 525,00р.

1

1

10

8

4

2

7

1

ООО "Кит"

15 000,00р.

1

2

4

2

1

1

4

1

ООО "Кит"

15 000,00р.

1

2

4

2

4

2

7

2

ОАО "Нона"

2 500,00р.

1

2

4

2

1

1

4

2

ОАО "Нона"

2 500,00р.

1

2

4

2

4

2

7

3

НПО "Альтернатва"

10 500,00р.

1

2

4

2

1

1

4

3

НПО "Альтернатва"

10 500,00р.

1

2

4

2

4

2

7

4

ФГУП "Энергия"

45 525,00р.

1

2

4

2

1

1

4

4

ФГУП "Энергия"

45 525,00р.

1

2

4

2

4

2

7

Результат выполнения операции соединения – сцепление строк с совпадающими значениями полей КодАг:

КодАг

НаимАг

СуммаДен

КодАг

КодБум

ОбъемЗаявки

ПрНач

Объем

ЗаявкиПрТек

КодАг

КодБум

Объем

ЗаявкиПок

4

ФГУП "Энергия"

45 525,00р.

4

1

4

2

4

2

7

1

ООО "Кит"

15 000,00р.

1

1

10

8

1

1

4

1

ООО "Кит"

15 000,00р.

1

2

4

2

1

1

4

Результат выполнения операции соединения – сцепление строк с совпадающими полями КодБум.

КодАг

НаимАг

СуммаДен

КодАг

КодБум

ОбъемЗаявки

ПрНач

Объем

ЗаявкиПрТек

КодАг

КодБум

Объем

ЗаявкиПок

4

ФГУП "Энергия"

45 525,00р.

4

1

4

2

4

2

7

1

ООО "Кит"

15 000,00р.

1

1

10

8

1

1

4

1

ООО "Кит"

15 000,00р.

1

2

4

2

1

1

4

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

КодАг

НаимАг

СуммаДен

КодБум

ОбъемЗаявки

ПрНач

Объем

ЗаявкиПрТек

КодБум

Объем

ЗаявкиПок

4

ФГУП "Энергия"

45 525,00р.

1

4

2

2

7

1

ООО "Кит"

15 000,00р.

1

10

8

1

4

1

ООО "Кит"

15 000,00р.

2

4

2

1

4

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

SELECT Агенты.*, ЗаявкиНаПродажу.* ЗаявкиНаПокупки

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

SELECT Агенты.*, ЗаказыНаПродажу.*, ЗаявкиНаПокупки.* FROM Агенты

INNER JOIN ЗаказыНаПродажу ON Агенты.КодАг = ЗаказыНаПродажу.КодАг) INNER JOIN ЗаявкиНаПокупки ON Агенты.КодАг = ЗаявкиНаПокупки.КодАг;

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

SELECT Агенты.НаимАг, ЗаказыНаПродажу.ЦенаЗаявкиПр, ЗаявкиНаПокупки.ЦенаЗаявкиПок, Агенты.СуммаДен

FROM (Агенты INNER JOIN ЗаказыНаПродажу ON Агенты.КодАг = ЗаказыНаПродажу.КодАг) INNER JOIN ЗаявкиНаПокупки ON Агенты.КодАг = ЗаявкиНаПокупки.КодАг;

4.2.7. Формирование и отладка запроса

Так как между таблицами есть связи «один-ко-многим», для исключения повторяющихся строк, надо использовать инструкцию:

SELECT DISTINCTROW Агенты.НаимАг, ЗаказыНаПродажу.ЦенаЗаявкиПр, ЗаявкиНаПокупки.ЦенаЗаявкиПок, Агенты.СуммаДен

FROM (Агенты INNER JOIN ЗаказыНаПродажу ON Агенты.КодАг = ЗаказыНаПродажу.КодАг) INNER JOIN ЗаявкиНаПокупки ON Агенты.КодАг = ЗаявкиНаПокупки.КодАг;

4.2.8. Подготовка запроса в Конструкторе

Для получения таких данных потребуется создать перекрестный запрос.

Сначала создадим простой запрос[3], который будет содержать все необходимые поля из отдельных таблиц.

Добавим в бланк запроса поле НаимАг из таблицы Агенты, поле ЦенаЗаявкиПр из таблицы ЗаказыНаПродажу и поле ЦенаЗаявкиПок из таблицы ЗаявкиНаПокупки.

Созданный простой запрос в режиме Конструктора будет иметь вид:

Этот запрос выдаст следующий результат:

СредстваАгентов

НаимАг

ЦенаЗаявкиПр

ЦенаЗаявкиПок

СуммаДен

ООО "Кит"

7 700,00р.

2 660,00р.

15 000,00р.

ООО "Кит"

3 500,00р.

2 660,00р.

15 000,00р.

ФГУП "Энергия"

5 500,00р.

4 750,00р.

45 525,00р.

5. Используемая литература

1.     Мамаев Е.В. Microsoft SQL Server 2000. СПБ.: БХВ-Петербург, 2004. – 1280 с.: ил.

2.     Харитонова И., Михеева В. Microsoft Access 2000. : БХВ-Петербург, 2001. – 1080 с.: ил.

3.     Леонтьев В.П.  Новейшая энциклопедия персонального компьютера 2003. М.: ОЛМА-ПРЕСС, 2003. -  920 с.: ил.

4.     Грофф Дж., Вайнберг П. Энциклопедия SQL. 3-е издание. СПб, издательство «Питер», 2003 – 896 с.

5.     Когаловский М.Р. Энциклопедия технологий баз данных. Издательство М., «Финансы и статистика», 2002 – 800 с.


[1] Харитонова И., Михеева В. Microsoft Access 2000. БХВ-Петербург, 2001, стр. 323

[2] Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2003. М.: ОЛМА-ПРЕСС, 2003, стр. 589

[3] Харитонова И., Михеева В. Microsoft Access 2000. БХВ-Петербург, 2001, стр. 544