Содержание

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

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

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

        года клиента GROSELLA-Restaurante.......................................... 3

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

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

2.1. Создание базы данных................................................................... 5

2.2. Заполнение таблиц.......................................................................... 6

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

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

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

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

3.2. Заполнение таблиц данными.......................................................... 9

3.3. Получение данных о культурно-развлекательных мероприятия

       за определенный период.............................................................. 10

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

4.1. Создание таблиц и связей между ними........................................ 12

4.2. Заполнение таблиц исходными данными.................................... 12

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

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

 

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

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

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

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

Создадим простой запрос при помощи Конструктора.

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

Зададим условия отбора. Для поля КодКлиента зададим Like “GROS*”, которое позволит отобрать всех клиентов с названиями, начинающимися на «GROS». А для поля ДатаИсполнения зададим условие Between #01.10.1997# And #31.10.1977#/, которые позволит отобрать заказы только с датой исполнения с 01.10.1997 по 31.10.1997.

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

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

Сотрудники работающие с GROSELLA-Restaurante

Клиент

Сотрудник

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

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

GROSELLA-Restaurante

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

24-11-1997

21-10-1997

На SQL этот запрос имеет следующую конструкцию[2]:

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

WHERE (((Заказы.КодКлиента) Like "GROS*") AND ((Заказы.ДатаИсполнения) Between #10/1/1997# And #10/31/1997#));

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

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

Зададим условие отбора “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

На SQL запрос записывается так:

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

WHERE (((Заказы.КодКлиента) Like "GROS*") AND ((Заказы.ДатаИсполнения) Between #10/1/1997# And #10/31/1997#));

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

2.1. Создание базы данных

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

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

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

2.2. Заполнение таблиц

В таблицы созданной базы данных введем исходные данные:

Оборудование

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

Название

Цена

Описание

1

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

1 250,00р.


2

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

750,00р.


3

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

920,00р.


4

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

5 240,00р.



Клиенты

Код клиента

Название

Имя

Фамилия

Адрес счета

Город

Регион

Индекс

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

Должность

Телефон

Факс

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

Чек

Нет

2

Наличные

Нет


Сотрудники

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

Имя

Фамилия

Должность

Внутренний

Рабочий телефон

Ставка

1

Евгений

Волков

Генеральный директор

5-25

543-987

5 000,00р.

2

Надежда

Беликова

Главный бухгалтер

4-25

548-900

3 520,00р.

3

Наталья

Власова

Зам. Главного бухгалтер

3-99

548-999

2 300,00р.

4

Александр

Гавриков

Рабочий



1 800,00р.


Сведения об организации

Код

Организации

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

Название

Адрес

Город

Регион

Индекс

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

Телефон

Факс

Условия оплаты

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

1

18,00%

Организация

Новосибирск, ул. Плахотного, 54

Новосибирск

НСО

630000

Россия

(3832) 11-11-11

(3832) 11-11-11

Наличными



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

Код заказа

Код клиента

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

Номер заказа

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

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

Модель

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

Описание

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

Дата выдачи

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

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

5 120,00р.

15.02.2005

2

Иванов И.И.

02.03.2005

Наличные

2

2

1 534,00р.

19.02.2005

3

Щукин Г.Г.

07.03.2005

Чек


Необходимые ресурсы

Код

Код заказа

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

Часы

Ставка

Примечания

1

1

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

8

1 500,00р.


2

3

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

3

750,00р.


3

2

Беликова, Надежда

5

5 000,00р.


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

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

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

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

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

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

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

Код заказа

Название

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

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

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

3

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

Украина

05.02.2005

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

На SQL запрос записывается так:

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

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

WHERE (((Клиенты.[Страна/регион])="Украина") AND (([Заказы на работы].ДатаПолучения) Between [Введите начальную дату:] And [Введите конечную дату:]));

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

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

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

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

3.2. Заполнение таблиц данными

Сотрудники

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

Номер паспорта

Табельный номер

Имя

Фамилия

Должность

Внутренний

Адрес

Город

Регион

Область

Индекс

1

52 00 125425

1

Николай

Волков

Директор

9-90

ул. Лосоностровская, 54

Москва

Россия

Московская

107150

3

25 78 125478

2

Мария

Петрова

Бухгалтер

5-45

ул. Ватутина

Подольск

Россия

Московская

142300

4

98 45 123476

3

Олег

Пузов

Инженер

6-46

пр-т Космонавтов

Королев

Россия

Московская

141070

5

15 08 963852

4

Вадим

Ширшин

Электрик

7-99

ул. Ногина

Ногинск

Россия

Московская

143652


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

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

Тип расходов

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

1

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

1

2

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

2

3

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

3

4

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

4


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

Код отчета

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

Тип расходов

Название

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

Дата

Задаток

Отдел оплаты

Оплачено

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

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

3.3. Получение данных о культурно-развлекательных мероприятия за определенный период

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

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

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

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

На SQL запрос имеет следующую запись:

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

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

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

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


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

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

Код отчета

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

Тип расходов

Дата

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

2

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

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

10.02.2005

500,00р.

4

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

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

25.02.2005

2 550,00р.

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

4.1. Создание таблиц и связей между ними

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

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

4.2. Заполнение таблиц исходными данными

Агенты

КодАг

НаимАг

СуммаДен

Комментарий

1

ООО "Кит"

15 000,00р.


2

ОАО "Нона"

2 500,00р.


3

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

10 500,00р.


4

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

45 525,00р.




Бумаги

КодБум

НаимБум

Номинал

СуммОбъем

ДатаЗп

ТипБум

1

Вексель

50 000,00р.

43 250,00р.

02.02.2005

Ценная

2

Кассовый чек

10 000,00р.

8 550,00р.

05.02.2005

Банковская


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

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

КодАг

КодБум

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

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

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

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

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

1

2

1

2

2

3

3

3

1

5

2

4

2

11

3


Сделки

Код

Сделки

Код

Бум

КодАг

Пр

КодАг

Пок

Объем

Сделки

Код

ЗаявкиПр

Код

ЗаявкиПок

Цена

Сделки

Дата

Сделки

Признак

Сд1

ПризнакСд2

2

2

4

2

100

17

988

2 500,00р.

08.02.2005



3

1

2

3

850

145У

100-В

1 350,00р.

18.02.2005



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

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

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

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

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

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

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

НаимАг

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

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

СуммаДен

ООО "Кит"

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р.

На SQL этот запрос записан так:

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

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

Теперь по только что созданному простому запросу создадим перектрестный запрос.

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

В качестве источника данных для  создаваемого перекрестного запроса выберем только что созданный простой запрос.

В качестве заголовков строк[5] выберем поле ЦенаЗаявкиПр и ЦенаЗаявкиПок. В качестве заголовков столбцов выберем поле НаимАг. А для поля СуммаДен зададим функцию Сумма.

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




СредстваАгентов_перекрестный

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

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

Итоговое значение СуммаДен

ООО "Кит"

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

3 500,00р.

2 660,00р.

15 000,00р.

15 000,00р.


5 500,00р.

4 750,00р.

45 525,00р.


45 525,00р.

7 700,00р.

2 660,00р.

15 000,00р.

15 000,00р.


На SQL этот перекрестный запрос реализуется так:

TRANSFORM Sum(СредстваАгентов.СуммаДен) AS [Sum-СуммаДен]

SELECT СредстваАгентов.ЦенаЗаявкиПр, СредстваАгентов.ЦенаЗаявкиПок, Sum(СредстваАгентов.СуммаДен) AS [Итоговое значение СуммаДен]

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

GROUP BY СредстваАгентов.ЦенаЗаявкиПр, СредстваАгентов.ЦенаЗаявкиПок

PIVOT СредстваАгентов.НаимАг;

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] Грофф Дж., Вайнберг П. Энциклопедия SQL 3-е издание. СПб, издательство «Питер», 2003, стр. 349

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

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

[5] Мамаев Е.В. Microsoft SQL Server 2000. СПб, БХВ-Петербург, 2001, стр. 692