Файл: Развитие технологий обработки данных.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.03.2024

Просмотров: 87

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Развитие основных понятий представления данных

Самый простой процесс связанный с вычислительным процессом представляется переходом входных данных по определенному алгоритму в выходные. Это можно представить как входные данные при обработке в определенной программе превращаются в выходные или результат решения вычислительной задачи.

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

Первый класс – вычислительные задачи. Определяется простым представлением данным и сложным многооперационным алгоритмом вычислений.

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

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

Простейший пример вычисления по формуле выглядит так:

B=A2+5A,

где A и B – определенные числа, которые являются элементами данных или элементарными единицами данных.

Занимаясь вопросом программирования алгоритм решения этой задачи представляет некоторый процесс (алгоритм) программирования приведенной формулы, при этом используется простейший вид данных – простая переменная (А и В представляются в программе простыми переменными). При этом простая переменная в системах программирования характеризуется определенным типом ее значений, которые должны выбираться при реализации процессов программировании в соответствующих языках. В таком простейшем случае все ровно необходимо, и даже обязательно, произвести правильный выбор типа переменных. Этот выбор может зависеть как от возможность так и от невозможность решения конкретных прикладных задач (например, для выбора конкретных данных не хватит отведенных для этого разрядов).

Давайте рассмотрим другой (более сложный) пример:

Z=C1+C2+...+CN.

В данном случае если мы используем только простые переменные решить эту задачу не представляется возможным. Это связано с тем в этом примере обрабатываются не отдельные числа, а их последовательность. И программируя данную последовательность принято использовать такой вид данных как массив. Массив это совокупность элементов, с каждым из которых связан упорядоченный набор целых чисел, называемых индексами. Все элементы должны иметь одинаковый тип их значений, который и будет называться типом массива. В этом случае числа C1, C2,...., CN представляются в программе массивом C(1), C(2),…., C(N).


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

Языки программирования, которые использовались ранее подразумевали решения научно-технических вычислительных задач. В тех языках (АЛГОЛ, ФОРТРАН) использовались только вышеуказанные виды данных, а именно простые переменные и массивы. Для решения научно-технических вычислительных задач этого было вполне достаточно.

      С момента зарождения информационных задач компьютерная техника активно используется для решения представленного выше класса ливать базу данных, структурировать ее данные и задавать ограничения для хранимых данных в базе;

«невычислительных задач». Это связано с обработкой различного рода документов информационного и статистического характера. Эти данные, появившиеся в конце 60-х годов можно рассмотреть на примере упрощенных задач обработки данных.

Рассмотрим первую задачу – задача начисление заработной платы.

Для рассмотрения примера введем некоторые ограничения:

начисление заработная плата сотруднику производится на основе его оклада;

налоги и вычеты не будем учитывать.

Представим карточку сотрудника. Назовем ее карточкой НАЧИСЛЕНИЯ. Данная карточка представлена ниже.

Фамилия, имя, отчество

Оклад

Количество отработанных дней в месяц

Начисленная сумма

FIО

О

Кo

S

Для каждого работника начисленная сумма за определенный месяц рассчитывается по следующей формуле:

S=КoО/Кr,

где Кr – количество рабочих дней в данном месяце.

Эта карточка имеет конкретные значения для каждого сотрудника. Как представлено ниже.

Петров Степан Федорович

1800

24

1800

Как видно из приведенной выше таблицы, значения имеют смысл только в непосредственном взаимодействии друг с другом. Если взять отдельное число из этой таблицы. Например 1800. Что это за число? Как можно только этому числу дать характеристику? Смысл этого числа трудно понять так как оно теряет содержательный смысл. И сразу понятно что использовать простые переменные в данном случае нельзя. Если внимательно посмотреть на таблицу то понятно становится что и массив так же использовать нельзя, потому что этот набор значений, определенных для конкретного сотрудника, имеет разные типы. Типы встречаются в данном случае и символьные и числовые. Можно сделать вывод, что существует ситуация когда для представления соответствующей карточки понятий «простая переменная» и «массив» недостаточно.



Для описания такой ситуации, когда понятий простая переменная и массив недостаточно в предметной области «невычислительных» задач вводится ряд новых понятий. Представим их.

Элемент данных (поле) – наименьшая единица поименованных данных.

Для описания данного примера элементами данных являются – FIО, О, Кo, S.

Для описания карточки сотрудника используется такое понятие как «Логическая запись».

Логическая запись это поименованная совокупность элементов данных (полей).

Экземпляр логической записи это текущее значение элементов записи.

Для представления всего набора карточек сотрудников используется такое понятие как «Логический файл».

Логический файл это поименованная совокупность всех экземпляров записей заданного типа.

Пример логического файла НАЧИСЛЕНИЕ:



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

Например в алгоритмическом языке Паскаль есть такой оператор RECORD – запись. Он вводится как сложная переменная с несколькими компонентами, которые могут иметь разные типы. Кроме того, непосредственный доступ к компонентам записи (полям) осуществляется при этом не по индексу, а по имени. При программировании первой задачи - задачи начисления заработной платы на алгоритмическом языке Паскаль логическая запись НАЧИСЛЕНИЕ представляется видом данных RECORD. А логический файл, то есть набор экземпляров логических записей сотрудников представлен «физическим» файлом, формируемым средствами и алгоритмического языка Паскаль и непосредственно операционной системой.



Важная специфика таких распространенных в современном делопроизводстве, бухгалтерии «невычислительных» задач характерна тем, что очень большие объемы данных, просто громадное количество сотрудников и огромное количество изделий, гигантские размеры номенклатуры производимой и заказываемой продукции и так далее. Эти данные, даже приведенные в задаче начисления заработной платы сотрудника используются в информационных системах, как правило много раз. Заработная плата начисляется постоянно каждый месяц, продукция производится ежедневно, заказы по выбранное номенклатуре производятся еженедельно. Соответственно и основное требование для «невычислительных» задач – данные
должны храниться продолжительное время, для чего всегда должна использоваться внешняя память.

В связи с этим решение первой представленной задачи состоит из двух этапов.

 

1. Ввод ИД (исходных данных) и занесение ИД во внешнюю память.



2. Чтение исходных данных из внешней памяти, расчет начисленных сумм и вывод на печать.



Вашему вниманию были представленные программы, которые решают поставленную выше задачу при определенных сделанных ограничениях. При этом как видно из программы необходимые для этого данные хранятся в файле MyFile.fsf, предназначенном только для решения конкретной задачи, а именно начисления заработной платы сотрудникам. Надо отметить, что в этом случае описание данных включено в прикладную программу. При изменении формата записей файла необходимо изменение прикладной программы. Таким образом, программная система, решающая поставленную задачу, определяет свои собственные данные и управляет ими. Такие программные системы называются файловыми системами.

Вторая задача. Кадровый учет сотрудников.

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



Данная задача при решении включает в себя несколько этапов:

Ввод исходных данных и занесение информации во внешнюю память.

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



В рассматриваемом случае задача учета кадрового учета сотрудников (задача №2) может решаться в независимости от решения задачи начисления заработной платы (задача №1).

Рассмотри третью задачу – учет экономии фонда оплаты труда (ФОТ) в связи с временной не трудоспособностью сотрудников (количество дней по больничному листу).

Обрабатываются информационные данные, представленные записями в карточке, которая называется ЭКОНОМИЯ ФОТ.



.

Программа решения задачи учета экономии фонда оплаты труда аналогична уже рассмотренной программе решения задачи начисления заработной платы.


Как мы уже говорили все три задачи могут функционировать в одной организации. Причем могут функционировать независимо друг от друга. Но тут необходимо учесть тот факт, что ряд данных каждой из задач используются ими одновременно. Это типичный случай для организации, который имеет принципиальный эксплуатационный недостаток, такой как дублирование информации.

Рассмотрим возможность избавится от такого недостатка, что и решается обязательно в современных технологиях баз данных. Если взять все три карточки, рассмотренные выше, то можно заметить, что поля FIО, О – повторяются в задачах. Соответственно для этих карточек нужно место в памяти устройства и это приводит к существенной ненужной загруженности памяти. Когда мы вносим изменения в карточку, например изменяем фамилию, в этом случае приходится изменять по сути одно и тоже значение многократно, в зависимости от количества задач решаемых в организации и количества карточек имеющих значение FIО. Это приводит с существенному увеличению машинного времени. В этом случае еще существует опасность не учета изменения в одном из нескольких файлов.

Устранение этого недостатка является основной задачей базы данных, как программного обеспечения. И сделать это возможно интеграцией соответствующих учетных записей в одну, то есть создать единую базу для множества задач организации. В данном конкретном примере мы объединим данные и создадим единую информационную базу для трех перечисленных задач. Конечно это только в качестве примера, потому что в реальном мире количество задач решаемых в организации гораздо больше. Для начала попробуем просто убрать все дублирующие поля. При этом получится следующее.



Мы можем убедиться что в этом случае дублирование данных полностью устранено. Запоминающее устройство вздохнуло с облегчением – расход минимален. То недостаток, который мы обозначили – ликвидирован. Теперь вернемся к программе и посмотрим на те задачи которые там присутствуют. Очевидно, что время необходимое для решения задачи прямо пропорционально тому объему информации, которое необходимо считать из внешней памяти. В нашем случае время затраченное на решение задачи в зависимости от выбранной длины полей и соответственно от множества перебираемых значений в полях может увеличится в 2–3 раза. Соответственно за отсутствие дублирования в нашем случае будет ухудшение быстродействия информационной системы, то есть увеличение времени решения задачи. В общем такое увеличение не всегда не допустимо. Но на примере конкретной задачи, учета экономии фонда оплаты труда мы видим, что в этом случае, за счет перебора полей в таблице время