Оптимизация запросов к базе данных в информационной системе учета работы автотранспорта средствами реляционной алгебры
Формирование запросов в информационной базе путевых листов в системах учета работы автотранспорта. Обработка путевых листов для учета расхода автозапчастей при ремонте, начисление износа транспортного средства по норме и пробегу, учет взаиморасчетов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.07.2013 |
Размер файла | 17,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оптимизация запросов к базе данных в информационной системе учета работы автотранспорта средствами реляционной алгебры
А.В. Нагоев,
Н.П. Орлянская
В информационных системах учета работы автотранспорта особое внимание уделяется различным выборкам, реализованным путем запросов из файла путевых листов. Именно благодаря созданным запросам производится: ежемесячная обработка путевых листов автомобильного транспорта для учета расхода автозапчастей при ремонте автотранспорта; начисление износа транспортного средства по норме и пробегу, учета взаиморасчетов с клиентами.
Выборка по запросу предшествует формированию статистической отчетности о деятельности автопредприятия: по пробегу автомобилей, по расходу горючего, по сумме начисленной зарплаты водителям по путевым листам. В теории баз данных описывается технология организации запроса к базе данных. Она предусматривает перестановку операций в пределах запроса, идентификацию общих подвыражений и однократном их выполнении, на трансляции и оптимизации запроса относительно фрагментов. запрос обработка путевой лист
Вместе с тем нельзя не отметить, что в действующих информационных системах запросы в большинстве случаев выполняются в "лоб". Современные средства конфигурирования, проектирования экономических систем дают пользователю в руки инструментарий создания запроса. Формулировка запроса выполняется из соображений удовлетворения пользовательских потребностей, но в них не применяются возможности реляционной аналитики для оптимизации этой операции.
Если обозначить:
А - имя некоторого неключевого атрибута;
V - одно из его значений;
e - соответствующее значение по первичного ключу;
@ - один из знаков сравнения =; #; <>; <=;>=;
Когда величины V или E найдены, они обозначаются знаком "?".
Можно выделить три класса запросов:
1. Нахождение значения атрибута по известному ключу: А=(e)=?.
2. Нахождение записи с заданным значением неключевого атрибута A(?)@v.
Условия этого типа запросов могут комбинироваться с помощью логических связок "не" "и" "или".
3. Перечислить значения данного атрибута для каждой записи A(?)=?.
Обозначим Т - имена атрибутов входа запроса;
t - значение атрибута;
Q - множество атрибутов на выходе запроса.
Входом запроса называется множество имен атрибутов, для которых заданы условия вида A(?)@a; оболочкой запроса называется множество имен атрибутов, упоминаемых в формулировке запроса. Тогда запрос для информационной технологии учета работы автотранспорта можно записать в виде:
Выбрать Q?, где T@t.
Для оптимизации запроса к реляционной базе данных используются следующие преобразования [1, 2]:
· объединение операций выборки по нескольким условиям в одну операцию с составным условием;
· если операция проекции применяется к результату выполнения пересечения, вычитания, или натурального соединения двух отношений, то она может быть предварительно применена к каждому исходному отношению;
· если операция выборки применяется к результату выполнения пересечения, объединения, вычитания или натурального соединения двух отношений, то она может быть предварительно применима к каждому исходному отношению.
Применим описанную выше технологию для базы данных путевых листов информационной системы учета работы автотранспорта.
Пусть необходимо определить реквизиты клиентов (реквизит Клиент. Организация), которые произвели конкретную группу перевозок. Условно обозначим: Группа в таблице Путевой Лист за определенный период (Дата), которые разместим в таблице Перевозки. Из построенной ранее инфологической модели Информационной системы учета работы автотранспорта видно, что эти две таблицы взаимосвязаны по ключевому полю Код (Код клиента).
Реализацию этого запроса к базе данных с помощью оператора реляционной алгебры можно записать различными способами:
1 способ:
((Путевой ЛистКод Клиент Реквизит) (Путевой Лист Перевозки=Группа))Дата=Реквизит;
где - операция полусоединения;
- операция объединения.
Оптимизируем запрос с учетом двух отношений эквивалентности:
1. Каскадность унарных операций позволяет разбить запрос на части, выполняемые последовательно. Унарные операции - это селекция и проекция, уменьшающие размеры отношения по горизонтали и вертикали R:
[A1@C1 аnd A2@C2](R [A1@C1]) [A2@C2].
2. Дистрибутивность унарных операций относительно бинарных позволяет распространить их на операнды бинарных операций:
(R*S) [A@C] (R [A@C]*S [A@C];
где R, S отношения,
А - атрибуты,
C - операнды,
@ - оператор сравнения.
Известно, [1,2] более раннее применение операций редукции приводит к оптимальному выполнению запроса, его выражение можно записать:
2 способ:
(((ПутевойЛистПеревозки=Группа)(ПутевойЛист Дата=Дата)) (ПутевойЛист Код Клиент Реквизит)=Реквизит.
Разделим запрос на две части (подзапросы), пусть:
Q1=ПутевойЛист Поездки=Группа;
Q2=ПутевойЛист Дата=Дата;
Q3=ПутевойЛист Код Клиент Реквизит.
Тогда выражение, обозначенное как 1 способ предлагает выполнение запроса снизу вверх, т.е.
Q3;
Q2;
Q1.
Действительно порядок выполнения операций в выражении запроса слева направо, что соответствует обходу дерева "снизу вверх". Этот способ не является наилучшим с точки зрения затрат на обработку на местах, те выполнения операций в узлах и передачи данных. В этом случае надо передавать атрибут Клиент Реквизит при выполнении 2 кратных операций полисоединения. Метод сверху вниз соответствует "2 способу" И соответствует выполнению запроса "сверху вниз":
Q1;
Q2;
Q3.
Оба способа приведут к требуемому результату. Однако способ сверху вниз более экономичен, Как с точки зрения времени выполнения, так и объема перемещаемых данных. Это объясняется тем, что мы начинаем с редукции (т.е. селекции), а затем можем использовать полисоединение, для которого можно передавать только значение соединяемых атрибутов.
Произведено распределение селекции относительно естественного соединения и последовательное выполнение проекции на нужные компоненты, а затем распределение их. Проекция начинается теперь сверху, и должна выполняться над атрибутом соединения из соответствующего соотношения, а также над выходным атрибутом Реквизит.
Примечание
1. Мишенин А.И. Теория экономических информационных систем: Учебник. - 4-е изд., доп. и пераб. - М.: Финансы и статистика, 1999. - 240 с.: ил.
2. Цикритзис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1985. - 320 с.
3. Орлянская Н.П. Информационная технология бухгалтерского учета. Диссертация на соискание ученой степени канд. техн. наук. - Краснодар, 2001. - 169 с.
Размещено на Allbest.ru
Подобные документы
Анализ входной и выходной информации на предприятии. Осуществление функционального и информационного моделирования базы данных, создание ее структуры. Программная реализация системы автоматизации учета работы автотранспорта. Оценка трудоемкости проекта.
дипломная работа [1,2 M], добавлен 09.07.2012Разработка системы хранения и обработки данных, интерфейса. Использование технологии Xamarin.Forms для организации заполнения путевых листов. Выбор операционной системы, языка и среды программирования. Аппаратная интеграция информационной системы.
дипломная работа [1,7 M], добавлен 09.07.2017Разработка программы для ведения учета автомобилей организации, норм расхода топлива, путевых листов; расчета расхода топлива по каждому автомобилю и виду топлива. Определение вычислительной системы, необходимой для создания программного продукта.
дипломная работа [4,8 M], добавлен 29.05.2013Система управления базами данных задач и составляющих их процессов предприятия. Требования к информационной системе. Состав запросов к базе данных. Связи и отношения между информационными объектами. Алгоритмы работы и архитектура информационной системы.
курсовая работа [727,5 K], добавлен 02.02.2014Оптимизация программы "диспетчер-кодировщик" в блоке предварительной обработки запросов. Определение характера и интенсивности информационного потока, поступающего на вход блока выполнения запросов. Построение детерминированных и стохастических моделей.
курсовая работа [592,7 K], добавлен 30.03.2011Декомпозиция диаграммы и обработка путевых листов. Подсистема учета оказанных транспортных услуг, работы водителей, затрат, ремонтов и сервисного обслуживания. Проектирование автоматизированного рабочего места диспетчера, разработка интерфейса программы.
дипломная работа [4,6 M], добавлен 20.01.2013Разработка подсистемы автоматизированного учета автозапчастей ООО "Авто-Ресурс" на базе MS SQL Server 2008. Ввод и вывод информации, поиск данных, распечатка сведений о комплектующих, учет автозапчастей и клиентов. Программное и техническое обеспечение.
дипломная работа [2,2 M], добавлен 22.06.2011Оптимизация работы административного отдела художественной школы путем автоматизации учета оплаты за обучение и учета успеваемости учеников. Создание запросов, макросов и отчетов. Описание даталогической модели на SQL. Проведение нормализации таблиц.
дипломная работа [2,8 M], добавлен 19.09.2014Разработка программного продукта "ИС Автотранспорт". Автоматизация функционирования автопарка и временного склада товаров, учета заявок клиентов и заполнения путевых листов. Реляционная модель базы данных. Описание функционирования программного продукта.
дипломная работа [1,8 M], добавлен 14.03.2017Программные средства для реализации базы данных и серверной части информационной системы "Учета технического обслуживания станков" средствами СУБД Microsoft SQL Server 2008. Разработка триггеров для поддержки сложных ограничений целостности в базе данных.
курсовая работа [768,3 K], добавлен 01.02.2013