- •Романов в.В.
- •1.2. Типы моделей данных
- •1.3.2. Формализация отношений
- •2.2. Логические связи в рбд
- •4. Работа с данными при помощи запросов
- •4.1. Средства описания запросов
- •4.2 Условия отбора данных
- •А) бланк запроса;
- •4.4. Итоговые запросы
- •А) бланк запроса (вариант 1)
- •Б) бланк запроса (вариант 2)
- •А) схема связей
- •Б) таблица запроса
- •4.6. Запрос с параметром
- •5. Основные этапы разработки рбд
- •6.4. Анализ данных. Определение структуры данных.
- •6.5. Схема базы данных
- •Р ис. 20. Схема базы данных "Транс-2000" (жирным шрифтом выделены первичные ключи)
- •6.6.2. "Расчет затрат на горючее за отчетный период".
- •Содержание
6.5. Схема базы данных
Подготовленные рабочие бланки объектов являются основой для создания схемы базы данных. Для установления логической связи между объектами, в таблицах предусмотрены поля, являющиеся первичными или вторичными ключами (определение приведено в разделе 2.2). Так, например, объект "Автопарк" содержит вторичный ключ (поле "Марка") для ссылки на первичный ключ объекта "Марки_АТ" (поле "Код_М_АТ”). Схема базы данных рассматриваемого примера приведена на рис. 20. Наименование таблиц БД в определенной степени указывает на состав и назначение данных хранимых в этих таблицах. Однако, некоторые из таблиц, требуют пояснения.
Таблица “Класс_Водителей” введена в схему для учета изменения классности водителей, что вызвано повышением их квалификации, а классность влияет на тариф оплаты труда. Изменение во времени тарифов оплаты, устанавливаемых для определенного класса, регистрируется в таблице “Тариф_ОТ”. Так как цены на горючее также меняются во времени, в БД выделена таблица “ЦЕНА_ГСМ”.
Большая часть имен атрибутов таблиц БД рассматриваемого примера имеет схематичный характер. Расшифровка имен и краткое описание назначения атрибутов приведено в приложении.
6.6. Разработка системы запросов
Ограниченный объем методического пособия не позволяет полностью привести описание системы запросов реализующих сформулированные выше задачи. Поэтому, проектирование запросов рассматривается на примере решения двух задач "Расчет выполненных объемов работ за период (ткм)" и "Расчет затрат на горючее за отчетный период".
6.6.1. Задача "Расчет выполненных объемов работ за период"
Для решения данной задачи, на первом этапе, необходимо выбрать из базы данные по рейсам, выполненным за некоторый отчетный период. В схему запроса включаются сведения о номере рейса, дате рейса, водителе, выполнявшем рейс, и рассчитывается объем работы, выполненный за один рейс (запрос “Объем по рейсам за период”, рис. 21).
На втором этапе, данные о рейсах выполненных каждым водителем группируются, и вычисляется суммарный объем выполненной
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Класс_Водителей |
Классность |
|
|
|
|
Водители |
1 М |
Код_Кл_Вод |
1 |
Классность |
1 |
Тариф_ОТ |
|
КодВ |
|
КодВ |
|
|
|
КодТ |
|
Ф_И_О |
|
Класс |
|
|
|
Классность |
|
ДатаПР |
|
ДатаПКл |
М |
|
М |
Дата_Т |
|
ДатаРЖ |
|
|
|
|
|
Тариф_ОТ |
|
Стаж |
|
|
|
Перевозки |
|
|
|
|
|
|
|
№рейса |
|
Пункт_О_Н |
|
|
|
|
|
Дата |
М |
Код_ПО_ПН |
|
Марки_АТ |
|
|
|
ПунктО |
|
Наим_ПО_ПН |
|
Код_М_АТ |
1 |
Автопарк |
|
ПунктН |
|
|
|
Марка_АТ |
|
КодАТ |
|
РСТ |
М |
Заказчик |
|
НР_ГСМ |
|
Марка |
|
Водитель |
1 |
КодЗ |
|
НР_АМОРТ |
М |
НГР |
|
А_Тр |
|
Фирма |
|
Вид_ГСМ |
М |
ДатаРег |
|
ВЕС |
М |
Город |
|
|
|
Акт_ПР |
|
Заказчик |
|
Улица |
|
ЦЕНА_ГСМ |
|
Баланс_СТ |
|
|
|
Дом_Ком |
|
Код_Цгсм |
М |
|
|
|
|
Директор |
|
ВидГСМ |
|
Вид_ГСМ |
|
|
|
ИНН |
|
Дата_Ц |
1 |
ВидГСМ |
|
|
|
Р_Сч_З |
|
ЦЕНА_ГСМ |
|
ГСМ |
|
|
|
Банк_З |
