Назначение и области применения систем с базами данных. Файловые системы обработки данных, страница 5

Обычно каждое «автоматизированное» подразделение предприятия обслуживалось специальной группой программистов, которые создавали и сопровождали программы. В каждом подразделении организации функционировала своя ФСОД, и эти системы никак не взаимодействовали (см. рис.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. Если обнаружен конец файла, то распечатать счета и закончить, иначе