Базы данных. 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=Оклад.
(ВодителиЗагр.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 |

- Базы данных
- Базы данных
- Базы данных
- Базы данных
- Базы данных
- Базы данных
- Базы данных
- Базовые ценности и особенности поведения русских как этнической группы
- Базовые элементы управления вводом и выводом информации в IDE VB
- Базовые элементы эффективного менеджмента персонала
- Базовый план проекта предприятия
- Базовый технологический расчет трубчатой печи
- Базы данные о выпуске продукции на хлебокомбинате
- Базы данных