Базы данных. 11

Министерство образования РФ

СПбГЭТУ «ЛЭТИ»


Кафедра МОЭВМ

 

 

 

 

 

 

 

 

 

 

 

Пояснительная записка  к индивидуальному заданию 

по дисциплине

"Базы данных"

 

 

Вариант 9

 

 

 

 

 

 

 

 

Преподаватель:       Лукина О.С.

 

Студент гр. 3342:       Митягин С.А.

 

 

 

 

 

 

 

 

 

 

2006

1. Задание

 

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

Каждый водитель характеризуется  паспортными данными, классом, стажем работы и окладом,  причем оклад зависит от класса и стажа работы. Маршрут автобуса характеризуется номером маршрута, названием начального и конечного пункта движения, временем начала и конца движения,  интервалом движения и протяженностью в минутах (время движения от кольца до кольца). Характеристиками  автобуса  являются: номер государственной регистрации автобуса, его тип и вместимость, причем вместимость автобуса зависит  от  его  типа. Каждый водитель закреплен за отдельным автобусом и работает на  определенном маршруте, но в случае поломки своего автобуса или болезни другого водителя может пересесть на другую машину. В базе должен храниться график работы водителей. Необходимо  предусмотреть  возможность корректировки БД в случаях поступления на работу нового водителя,  списания старого автобуса, введения нового маршрута или изменения старого и т.п.

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

  • Список водителей, работающих на определенном маршруте с указанием графика их работы?
  • Какие автобусы обслуживают данный маршрут?
  • Какие маршруты начинаются или заканчиваются в пункте с заданным названием?
  • Когда начинается и заканчивается движение  автобусов  на каждом маршруте?
  • Какова протяженность определенного маршрута?
  • Какова общая протяженность маршрутов, обслуживаемых автопарком?
  • Какие автобусы не вышли на линию, и по какой причине (неисправность, отсутствие водителя)?
  • Сколько водителей каждого класса работает в автопарке?
  • Водитель с самым большим стажем работы?
  • Необходимо предусмотреть возможность выдачи справки о маршруте (протяженность, время и интервал движения, конечные пункты, кто обслуживает) и отчета по автопарку, сгруппированного по типам автобусов, с указанием маршрутов, обслуживаемых автобусами каждого типа. Для маршрутов должны быть указаны все характеристики, включая списки автобусов и водителей, обслуживающих каждый маршрут. Отчет должен содержать сведения о суммарной протяженности обслуживаемых маршрутов, о количестве имеющихся в автопарке автобусов каждого типа, о количестве водителей, их среднем возрасте и стаже.

 

 

 

 

 

 

2. Проектирование 

2.1. Сущности:

 

Водители (Паспортные данные, класс, стаж, оклад)

Маршрут(№маршрута, название начального пункта, название конечного пункта, время начала движения, время конца движения, интервал, протяженность)

Автобус (№гос регистрации, тип, вместимость)

 

Раскрываем термин «Паспортные  данные»:

 

Водители (Серия_номер паспорта, ФИО, Дата рождения, прописка, класс, стаж, оклад)

 

Графическое изображение сущностей  и связей между ними приведено на рис. 1.

 


 

 

 

Водят

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1

 

2.2. Построение отношений

 

Для связи третьего порядка Водят  генерируются отношения по правилу №9.

 

2.2.1. Получаем отношения:

 

Водители (№паспорта, ФИО, Дата рождения, прописка, класс, стаж, оклад)

Маршрут(№маршрута, название начального пункта, название конечного пункта, время начала движения, время конца движения, интервал, протяженность)

Автобус (№гос регистрации, тип, вместимость)

Водят(№паспорта,  №маршрута, №гос регистрации, дата)

 

 

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

 

Поломки(№гос регистрации, дата_поломки)

 

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

 

Оклад(Класс, Базовая_ставка)

 

2.2.2. Проверяем отношения на избыточность:

 

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

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

Отношение Маршрут не является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.

Отношение Автобус не является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.

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

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

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

 

Таким образом, избыточных отношений  нет.

 

2.2.3. Функциональные зависимости:

 

Отношение Водители находится в НФБК, так как атрибут №паспорта однозначно определяет остальные атрибуты отношения. Остальные же атрибуты могут повторяться. Таким образом, атрибут №паспорта является детерминантом отношения.

№паспорта à ФИО, Дата_рождения, Прописка, Класс, Стаж, оклад

 

Отношение Маршруты находится в НФБК, так как атрибут №маршрута однозначно определяет остальные атрибуты отношения. Остальные же атрибуты могут повторяться. Таким образом, атрибут №маршрута является детерминантом отношения.

№маршрута à назв_нач_пункта, назв_кон_пункта, время_нач_движ, время_кон_движ, интервал, протяженность

 

Отношение Автобусы не находится в НФБК, так как атрибут №гос_регистрации

однозначно определяет остальные  атрибуты отношения, и является детерминантом, но атрибут Тип однозначно определяет атрибут Вместимость. Таким образом,пользуемся методом декомпозиции. Выполним проекцию на эту функциональную зависимость:

№гос_регистрации à Тип, Вместимость

Тип à Вместимость

 

Отношение Водят находится в НФБК, так как атрибуты №паспорта ,  №маршрута, №гос регистрации однозначно определяют остальные атрибуты отношения. Остальные же атрибуты могут повторяться.

№паспорта ,  №маршрута, №гос регистрации à дата

 

Отношение Поломки находится в НФБК, так как атрибут №гос регистрации однозначно определяет дату поломки, которая может меняться. Таким образом, атрибут №гос регистрации является детерминантом отношения.

№гос регистрации à дата_поломки

 

Отношение Оклад находится в НФБК, так как атрибут Стаж однозначно определяет величину денежного начисления, которая может меняться. Таким образом, атрибут Стаж является детерминантом отношения.

Стаж à денежное начисление

 

Графическое изображение поученных отношений изображено на рис. 2:

 


 

 

 


 

Сломался

 

 

Водят


 

 


Является

       Имеет начисление

 


 

 

 

 

 

 

 

 

 

Рис. 2

 

Как было доказано выше избыточных отношений  нет.

Рассмотрим функциональные зависимости  новых отношений:

 

Отношение Автобусы находится в НФБК, так как атрибут №гос_регистрации однозначно определяет тип автобуса, который может повторяться. Таким образом, атрибут №гос_регистрации является детерминантом отношения.

№ гос_регистрации à тип

 

 

Отношение Тип_автобуса находится в НФБК, так как атрибут Тип однозначно определяет вместимость автобуса. Таким образом, атрибут Тип является детерминантом отношения.

Тип à вместимость

 

Таким образом, все указанные отношения  находятся в НФБК.

 

2.2.4. Структура базы данных


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3

 

3. Структура  таблиц

Таблица “Оклад”

Содержит данные о денежной ставке за класс.

Поле

Тип данных

Комментарий

Klass

Текстовый

Название класса – ключ

Обязательное поле

Размер 10

Oklad

Числовой

Величина начисления

Целое

Обязательное поле


 

 

 

 

 

Таблица “Водители”

Содержит данные о водителях  в парке.

Поле

Тип данных

Комментарий

Pasp

Текстовый

Серия + номер паспорта – ключ

Обязательное поле

Размер 11

Условие на значение:

Like "???? ??????"

FIO

Текстовый

Фамилия и инициалы

Обязательное поле

Размер 50

Условие на значение:

Like "* ?.?."

staj

Числовой

Стаж (лет)

Не обязательное поле

Целое

Условие на значение

>0

klas

Текстовый

Класс водителя – вторичный ключ

Обязательное поле

Размер 1

Условие на значение:

(="A") Or (="B") Or (="C")

oklad

Числовой

Рассчитанная величина оклада

Обязательное поле

Целое

Условие на значение:

>0

data_roj

Дата/время

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

Adres

Текстовый

Место проживания, прописка

Не обязательное поле

Размер 200


Связь по ключу klas с таблицей “Оклад” предусматривает обеспечение ссылочной целостности и каскадное обновление.

 

Таблица “Автобусы”

Содержит данные об автобусах в парке.

Поле

Тип данных

Комментарий

avtob

Текстовый

Номер автобуса –ключ

Обязательное поле

Размер 6

Type

Текстовый

Тип автобуса – вторичный ключ

Обязательное поле

Размер 50


 

Связь по ключу Type с таблицей “Тип_вместимость” предусматривает обеспечение ссылочной целостности.

 

Таблица “ Тип_вместимость ”

Содержит данные о вместимости  автобусов определенного типа.

Поле

Тип данных

Комментарий

Type

Текстовый

Тип автобуса – ключ

Обязательное поле

Размер 50

Vmestim

Числовой

Вместимость

Обязательное поле

Целое

Условие на значение

>0


 

Таблица “ Поломки ”

Содержит данные о поломках автобусов  и дат поломок.

Поле

Тип данных

Комментарий

id_Pol

Счетчик

Искусственный ключ

avtob

Текстовый

Номер автобуса

Обязательное поле

Размер 6

date

Дата/время

Дата поломки


 

Связь по ключу avtob с таблицей “Автобусы” предусматривает обеспечение ссылочной целостности.

 

Таблица “ Маршруты”

Содержит данные о маршрутах, обслуживаемых  автопарком.

Поле

Тип данных

Комментарий

marshr

Числовой

Номер маршрута – ключ

Обязательное поле

Целое

Условие на значение

>0

Nach_punkt

Текстовый

Название начального пункта

Обязательное поле

Размер 50

Konechn_punkt

Текстовый

Название конечного пункта

Обязательное поле

Размер 50

Nach_dvij

Дата/время

Время начала движения

Kon_vrema

Дата/время

Время окончания движения

Interval

Числовой

Интервал движения (в мин)

Обязательное поле

Целое

Условие на значение

>0

Protaj

Числовой

Протяженность (в мин) Обязательное поле

Целое

Условие на значение

>0


 

Таблица “Водят”

Содержит данные, какой водитель на каком автобусе какой маршрут и какое время обслуживал.

Поле

Тип данных

Комментарий

id_vod

Счетчик

Искусственный ключ

Pasp

Текстовый

Серия + номер паспорта – вторичный  ключ

Не обязательное поле

Размер 11

avtob

Текстовый

Номер автобуса - вторичный ключ

обязательное поле

Размер 6

marshr

Числовой

Номер маршрута - вторичный ключ

обязательное поле

Целое

Условие на значение

>0

date

Дата/время

Дата


 

Связь по ключу Pasp с таблицей “Водители” предусматривает обеспечение ссылочной целостности.

Связь по ключу avtob с таблицей “Автобусы” предусматривает обеспечение ссылочной целостности.

Связь по ключу marshr с таблицей “Маршруты” предусматривает обеспечение ссылочной целостности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Содержание  таблиц

Приведено содержание таблиц на момент отладки базы.

 

Паспорт

Фамилия И.О.

стаж

класс

оклад

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

Адрес

3000 034582

Иванов А.В.

5

B

15000

09.04.1979

пр. Богатырский  дом 100 кв20

3000 121034

Белов А.С.

7

B

17000

09.04.1983

ул. Дыбенко  дом 12 кв 12

3000 123034

Иванов И.И.

9

A

29000

10.02.1970

ул. Камышовая  дом 35 к 1 кв 292

3000 452114

Белов С.А.

10

A

30000

29.10.1985

пр. Авиаконструкторов  дом 15 кв 4

3000 542421

Старов П.В.

7

B

17000

08.09.1985

пр. Богатырский  дом 55 к 3 кв 103

3000 762234

Еремеев О.П.

5

C

10000

30.11.1980

ул. Ильюшина дом 22 кв 3

3000 906823

Титов П.М.

10

B

20000

17.04.1984

пр. Испытателей  дом 11 кв 45

3021 123345

Галич Н.О.

10

B

20000

08.08.1983

пр. Богатырский  дом 67 к 2 кв 333

3021 134553

Жданов М.Ю.

10

B

20000

09.01.1983

ул. Камышовая  дом 22 кв 107

3021 234945

Петров О.Н.

7

B

17000

05.12.1980

пр. Авиаконструкторов  дом 212 кв 561

3021 343421

Нестеров П.М.

4

B

14000

15.11.1985

пр. Богатырский  дом 232 кв 12

3021 347520

Белов И.С.

10

B

20000

19.11.1985

пр. Испытателей  дом 5 кв 23

3021 438954

Егоров Л.Д.

4

B

14000

01.01.1973

ул. Гакелевская  дом 55 кв 6

3021 452213

Иванов С.Г.

4

B

14000

05.01.1983

пр. Маршала-Новикова 23

3021 485621

Кузнецов Н.А.

8

C

13000

17.09.1973

пр. Сизова дом 44 кв 12

3021 509210

Кузнецов В.Н.

10

A

30000

30.03.1975

пр. Мориса-Тереза дом 115 кв 69

4000 421131

Петров А.И.

5

C

10000

23.09.1981

пр. Сизова дом 59 кв 111

4000 455202

Зайцев О.С.

10

B

20000

05.03.1981

ул. Долгоозерная дом 1 кв 1

4000 455220

Бабушкин Р.Ю.

10

A

30000

05.03.1978

ул. Яхтенная дом 15 кв 2

4000 509123

Нагорный Д.И.

7

B

17000

09.12.1982

ул. Камышовая  дом 11 кв 501

4000 576933

Сидоров С.А.

3

C

8000

06.07.1981

ул. Байконурская дом 43 кв 3

4000 673921

Швондер А.С.

9

A

29000

09.12.1979

пр. Яхтенная дом 15 кв 77

4000 678423

Быков П.А.

10

B

20000

06.09.1982

ул. Гакелевская дом 76 кв 55

4000 789842

Сидоров С.Л.

4

B

14000

09.12.1980

ул. Камышовая  дом 104 кв 5




Таблица “Водители”

 

Таблица “Автобусы”

Номер автобуса

Тип

а004вп

Лиаз 05гв

а007пп

Экарус (гармошка)

а070пр

Экарус 95гв

в007рп

Экарус (гармошка)

в909ао

Лиаз 90гв

н006оо

Лиаз 90гв

о009пр

Лиаз (гармошка)

п004пп

Лиаз 05гв

п009оо

Лиаз (гармошка)

р005рр

Лиаз (гармошка)

р007аа

Экарус (гармошка)

с050ар

Лиаз 05гв


 

Таблица “Маршруты”

Номер

Начальный пункт

Конечный пункт

Начало движения

Окончание движения

Интервал

Протяженность

1

м. Старая деревня

ул. Камышовая

00.01.1900

00.01.1900

15

110

2

пр. Сизова

м. Пионерская

00.01.1900

00.01.1900

25

180

3

м. Плошадь мужества

м. Пионерская

00.01.1900

00.01.1900

15

100

4

пр. Испытателей

ул. Камышовая

00.01.1900

00.01.1900

20

60

5

пр. Авиаконструкторов

Ланское шоссе

00.01.1900

00.01.1900

20

120


 

Таблица “Водят”

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

Номер автобуса

маршрут

дата

3021 234945

а007пп

1

23.05.2006

4000 576933

в007рп

1

22.05.2006

3021 438954

в007рп

1

23.05.2006

3000 034582

н006оо

2

22.05.2006

4000 455202

н006оо

2

23.05.2006

4000 455220

а004вп

2

22.05.2006

3021 509210

а004вп

2

23.05.2006

3000 121034

п004пп

2

22.05.2006

3021 347520

п004пп

2

23.05.2006

3021 485621

р007аа

3

22.05.2006

3021 343421

р007аа

3

23.05.2006

4000 678423

п009оо

3

22.05.2006

4000 673921

п009оо

3

23.05.2006

3000 452114

в909ао

4

22.05.2006

3021 452213

в909ао

4

23.05.2006

4000 789842

а070пр

4

22.05.2006

4000 509123

а070пр

4

23.05.2006

3021 123345

р005рр

5

22.05.2006

3000 906823

р005рр

5

23.05.2006

3000 762234

о009пр

5

22.05.2006

4000 421131

о009пр

5

23.05.2006

3000 542421

с050ар

5

22.05.2006

3021 134553

с050ар

5

23.05.2006

3000 123034

а007пп

1

24.05.2006

3021 438954

в007рп

1

24.05.2006

3000 034582

н006оо

2

24.05.2006

3021 509210

а004вп

2

24.05.2006

3000 121034

п004пп

2

24.05.2006

3021 343421

р007аа

3

24.05.2006

4000 678423

п009оо

3

24.05.2006

3000 452114

в909ао

4

24.05.2006

3021 123345

р005рр

5

24.05.2006

4000 421131

о009пр

5

24.05.2006

3021 134553

с050ар

5

24.05.2006


 

 

 

 

 

Таблица “Тип_вместимость”

Тип

Вместимость (чел)

Лиаз (гармошка)

250

Лиаз 05гв

150

Лиаз 90гв

130

Экарус (гармошка)

200

Экарус 95гв

150


 

Таблица “Поломки”

               id

Номер автобуса

дата поломки

1

п009оо

25.05.2006

2

а070пр

25.05.2006


 

Таблица “Оклад”

Класс

Оклад

A

20000

B

10000

C

5000


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Реализация  интерфейса

5.1. Иерархия экранных форм:



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2. Экранные формы

 

Форма “Главная”

 

Главный интерфейс базы.

Источник данных: нет

Элементы формы:

Рисунки, событие onClick.

Стрелка1 – открытие формы Маршруты

Стрелка2– открытие формы Автобусы

Стрелка3 – открытие формы Водители

Стрелка4 – открытие формы НеВышли

Стрелка5 – открытие отчета поПарку

Стрелка6 – открытие формы График работы

“Выход” – выход.

 

При открытии выполняется команда  Развернуть.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Форма “Маршруты”

 

 

Выводит данные о маршрутах.

Источник данных: таблица Маршруты

Элементы:

Поля, куда выводятся основные характеристики маршрута.

Кнопки листания.

Кнопка поиска.

Кнопка29 – открыть форму “МаршВод”

Кнопка27 – открыть форму “СписокАвтоб” либо “СписокАвтобВсех”

Кнопка40 – открыть форму “МаршПоиск”

Кнопка48 – открыть отчет “Справка”

Кнопка добавления -Кнопка45– открывает форму “МаршВводНов”

Кнопка удаления - Кнопка47 – открывает форму “МаршрутыУдалПодт” на подтверждение удаления. И вызывает запрос МаршУдал.

 

Форма “МаршВод”

Список водителей на данном маршруте.

Источник записей: запрос МаршВод.

 

Элементы:

Подчиненная форма МАршВодПод. Источник записей: Запрос МАршВодПод.

Поле связи – pasp

 

Форма “СписокАвтоб” или “СписокАвтобВсех”

Вывод списка автобусов на данном маршруте.

Источник записей: запрос СписАвтоб для “СписокАвтоб”

Или запрос СписокАвтобВсех для  “СписокАвтобВсех”

 

Форма “МаршПоиск”

 

Поиск маршрутов  по названиям начального и конечного  путей.

Источник  данных: нет

Элементы:

Поле со списком 1, источник данных

SELECT МаршНачПункт.nach FROM МаршНачПункт;

Поле со списком 2, источник данных

SELECT МаршКонПункт.konech FROM МаршКонПункт;

 

Кнопка3 – применить фильтр к подчиненной форме.

 

Форма “МаршВводНов”

Ввод данных о новом маршруте.

Источник записей: нет

Элементы:

Поле со списком 1. Источник записей:

SELECT МаршНачПункт.nach FROM МаршНачПункт;

Поле со списком 2. Источник записей:

SELECT МаршКонПункт.konech FROM МаршКонПункт;

 

Кнопка Ввести – запрос МаршВводНов

 

 

 

 

Форма “Автобусы”

Выводит список автобусов, возможность  добавления, удаления автобуса.

Источник данных: таблица Автобусы

Элементы:

Подчиненная форма Автобусы1 источник записей – таблица Автобусы

Поле связи: нет

Поле со списком 1 источник данных:

SELECT DISTINCT АвтобТип.type FROM АвтобТип;

Кнопка на запрос ДобавНовАвтоб.

 

Кнопка на вызов запроса на удаление АвтобУдал

 

Форма “Водители”

Выводит данные о водителях. Выбор принятия на работу нового или увольнение.

Источник данных: таблица Водители

Элементы:

Кнопка Общий график на открытие запроса ГрафикЛин_перекрестный

Подчиненная форма ПоКлассам

Источник записей: запрос ПоКлассам

Поле связи: нет

Подчиненная форма МахСтаж

Источник записей: запрос МахСтаж

Поле связи: нет

Кнопка Уволит водителя – запрос ВодтелиУволн

Кнопка Принять водителя – открыть  форму “АнкетаВод”

 

Форма “АнкетаВод”

Вводит данные по принятию нового водителя.

Источник данных: нет

Элементы:

Поле со списком. Источник строк: "A";"B";"C"

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

 

Форма “НеВышли”

Выводит данные о не вышедших на маршрут  автобусах, и причине.

Источник данных: запрос НеВышли

 

Форма “График работы”

Выводит графики работ водителей  и автобусов, возможность заполнения расписания.

Источник данных: нет

Элементы:

Подчиненный запрос: форма: подчиненная форма ГрафикЛин_перекрестный

    запрос: ГрафикЛин_перекрестный

поле связи: нет

Подчиненный запрос: форма: подчиненная форма ГрафикАвтоб_лин_перекрестный

    запрос: ГрафикАвтоб_лин_перекрестный

поле связи: нет

 

Поле со списком “Паспорт”. Источник данных:

SELECT СвободныеВодители.pasp FROM СвободныеВодители;

Поле со списком “Номер автобуса”. Источник данных:

SELECT СвободныеАвтоб.avtob FROM СвободныеАвтоб;

Поле со списком “Номер автобуса”. Источник данных:

SELECT Маршруты.marshr FROM Маршруты;

Кнопка Ввести – на вызов запроса  ВводСтрокиГрафика

 

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

Запрос “АвтобУдал”

Удаление записи из таблицы Автобусы.

 

DELETE *

FROM Автобусы

WHERE avtob=Forms!Автобусы!avtobud;

Результат: удалена запись

Forms!Автобусы!avtobud

type


 

Запрос “АнкетаВодЗагр”

Добавляет запись в промежуточную  таблицу ВодителиЗагр

 

INSERT INTO ВодителиЗагр ( Pasp, FIO, staj, klas, data_roj, Adres )

VALUES (Forms!АнкетаВод!pasp, Forms!АнкетаВод!fio, Forms!АнкетаВод!staj, Forms!АнкетаВод!klas, Forms!АнкетаВод!date, Forms!АнкетаВод!Adres);

 

Результат:

Forms!АнкетаВод!pasp

Forms!АнкетаВод!fio

Forms!АнкетаВод!staj

Forms!АнкетаВод!klas

Forms!АнкетаВод!date

Forms!АнкетаВод!Adres


 

 

Запрос “ АнкетаВод”

Добавляет запись в таблицу Водители

 

INSERT INTO Водители

SELECT ВодителиЗагр.Pasp AS Pasp, ВодителиЗагр.FIO AS FIO, ВодителиЗагр.staj AS staj, ВодителиЗагр.klas AS klas, Оклад.Oklad AS Oklad, ВодителиЗагр.data_roj AS data_roj, ВодителиЗагр.Adres AS Adres

FROM ВодителиЗагр, Оклад

WHERE (ВодителиЗагр.klas=Оклад.klass) and

             (ВодителиЗагр.Pasp not in (SELECT Pasp FROM Водители));

 

Результат:

ВодителиЗагр.Pasp

ВодителиЗагр.FIO

ВодителиЗагр.staj

ВодителиЗагр.klas

Оклад.Oklad

ВодителиЗагр.data_roj

ВодителиЗагр.Adres


 

Запрос “ВводСтрокиГрафика”

Добавляет запись в таблицу Водят

 

INSERT INTO Водят ( Pasp, avtob, marshr, [date] )

SELECT Forms![График работы]!pasp, Forms![График работы]!avtob, Forms![График работы]!marshr, Forms![График работы]!date;

 

Результат:

Forms![График работы]!pasp

Forms![График работы]!avtob

Forms![График работы]!marshr

Forms![График работы]!date