Обычно каждое «автоматизированное» подразделение предприятия обслуживалось специальной группой программистов, которые создавали и сопровождали программы. В каждом подразделении организации функционировала своя ФСОД, и эти системы никак не взаимодействовали (см. рис.2).
В тело каждой такой программы включались определения файлов внешней памяти, содержащих используемые данные. Для доступа к данным использовались средства операционной системы. Т.е., программы ФСОД создавались под конкретную ОС и конкретную конфигурацию оборудования.
Такая организация обработки данных предприятия имеет ряд существенных недостатков. Обсудим их.
Разделение и изоляция данных. Каждый файл ФСОД содержит записи о каких-то объектах одного типа. Например, ПП отдела продаж используют файлы ПРОДУКЦИЯ, ЗАКАЗЧИК, ЗАКАЗ. Записи могут иметь, например, такие форматы:
ТОВАР
Артикул |
Наименование |
Ед. измерения |
Цена единицы |
…… |
ЗАКАЗЧИК
Код заказчика |
Фамилия И.О. |
Адрес |
Телефон |
…… |
ЗАКАЗ
Код заказчика |
Артикул |
Дата заказа |
Кол-во ед. |
…… |
В реальной жизни объекты, представленные в этих записях, связаны. Например, конкретный ЗАКАЗ сделан конкретным ЗАКАЗЧИКом. В конкретный ЗАКАЗ включён конкретный ТОВАР и т.п. В файлах эти связи отражаются путём включения в состав записей полей, имеющих смысл ссылок, как это сделано в нашем примере. Здесь поле ЗАКАЗ.Код заказчика ссылается на поле ЗАКАЗЧИК.Код заказчика.
ЗАКАЗЧИК
Код заказчика |
Фамилия И.О. |
Адрес |
Телефон |
…… |
И12 |
Иванов В.Л. |
Лыткина, 15, кв. 231 |
41-21-39 |
|
З1 |
Зуев М.П. |
Усова, 37, кв. 14ё |
54-29-13 |
|
А79 |
Анискин К.Т |
Кирова, 18, кв. 2 |
||
…… |
…… |
…… |
…… |
ЗАКАЗ
Код заказчика |
Артикул |
Дата заказа |
Кол-во ед. |
…… |
И12 |
Х/234.45 |
12.03.03 |
3 |
|
З1 |
Ш/159.36 |
12.03.03 |
1 |
|
З1 |
Ш/159.36 |
10.03.03 |
2 |
|
И12 |
Ш/159.36 |
12.03.03 |
10 |
|
А79 |
В/325.14 |
07.03.03 |
||
И12 |
Ш/159.36 |
05.03.03 |
10 |
Теперь если мы хотим получить все сведения о заказах, сделанных заказчиком Ивановым В.Л., то нужно прочитать все записи файла ЗАКАЗ, имеющие значение ‘И12’ в поле ЗАКАЗ.Код заказчика. Если нам нужен адрес заказчика, сделавшего подчёркнутый заказ, то нужно прочитать значение поля ЗАКАЗ.Код заказчика в этой записи, найти в файле ЗАКАЗЧИК запись с таким же значением поля ЗАКАЗЧИК.Код заказчика и прочитать из неё значение адреса.
Однако этот смысл известен лишь прикладной программе. Поэтому для того, чтобы выполнить совместную обработку записей, прикладная программа должна открыть все нужные файлы и собственными средствами выполнить их синхронную обработку.
Например, если нужно для каждого заказчика подсчитать сумму заказов за месяц и выписать счёт, то ПП должна открыть файлы ЗАКАЗ и ЗАКАЗЧИК, и произвести следующие действия.
0. Выбрать все записи файла ЗАКАЗ, относящиеся к расчётному месяцу, и сохранить их в рабочем файле ЗАКАЗ_М.
1. Установить указатель на первую запись файла ЗАКАЗЧИК и считать значение кода заказчика.
2. Выбрать все записи файла ЗАКАЗ_М, содержащие текущее значение кода заказчика и подсчитать суммарную стоимость его заказов.
3. Сохранить в рабочем файле СЧЁТ результат шага 2 вместе с данными из текущей записи файла ЗАКАЗЧИК.
4. Переместить указатель в файле ЗАКАЗЧИК на следующую запись.
5. Если обнаружен конец файла, то распечатать счета и закончить, иначе
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.