Содержание
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