Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
804.09 Кб
Скачать

2.5.2. Описание и обработка файлов

 

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

По-видимому достаточно подробное описание структур данных и установление их связи с файлами было впервые сделано в языке программирования Cobol (Common Business Oriented Language). Эта проблема была решена следующим образом — файл (набор данных на внешнем носителе) рассматривается как совокупность записей одинаковой структуры, каждая из которых представляет собой набор (агрегат) разнородных данных (в более поздних языках программирования — РL/1, Pascal, С, за подобными объектами так и закрепилось название «структура — structure»).

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

Для установления независимости программ от данных в некоторых системах описание данных размещают совместно с файлом данных (рис. 2.7, б). По такому принципу организован весьма распространенный формат файла данных (с1Ы-формат), происходящий от систем dBase — Clipper — Foxbase — FoxPro, а затем принятый и рядом

 

 

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

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

Следующим шагом явилось полное отделение описаний от данных и программ и сосредоточение их в специальных файлах (таблицах) —словарях данных (рис. 2.7, в), которые относятся к базам данных и системам управления базами данных.

 

2.6. Особенности и компромиссы реализаций баз данных

 

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

Файлы обладают следующими свойствами:

• файл, как правило, представляет собой совокупность записей одного типа, доступ к которым определяется типом организации файла и осуществляется только средствами операционной системы;

• файл описывают и используют в прикладной программе, работающей с данными.

Базы данных имеют следующие особенности:

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

• база данных существует независимо от конкретной прикладной программы — база создается с целью интеграции данных, объединяющей данные многих приложений (но определенного назначения). База данных предназначена для совместного, многофункционального использования многими пользователями один раз введенных данных.

Надо отметить, что с точки зрения управления данными СУБД оперируют данными на содержательном уровне, хотя физические структуры, используемые для этих целей, могут и совпадать с аналогичными структурами, создаваемые ОС.

Коренное же отличие СУБД от файловых систем ОС состоит в том, что СУБД устанавливает связь между содержанием и адресом, а ОС — между именем и адресом данных.

В то же время эта граница постоянно подвергается «атакам» с обеих сторон. Например, ОС-360 с «индексным доступом к данным», IN-PICK, включающая язык поиска записей файлов по содержанию, UNIX, включающая команды сортировки, коррекции или объединения содержимого текстовых файлов, наподобие того, как это осуществляется с таблицами данных в СУБД. Тем не менее, следует признать это скорее исключением, чем правилом и в компетенцию ОС надо относить только связь «имя — адрес», оставляя другие зависимости на ответственность прикладных программ и оболочек СУБД и ГИПС (автоматизированные информационно-поисковые системы).

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

1. Каким образом сложные нелинейные структуры данных представить в виде линейных — наиболее соответствующих принципу последовательного представления (хранения) в машинной памяти?

2. Каким образом организовать данные, чтобы была возможность эффективного внесения, удаления и редактирования данных?

3. Как организовать данные, чтобы использование пространства памяти (плотность данных) было достаточно рациональным, а скорость доступа к записям данных высокой?

4. Каким образом организовать данные, чтобы поиск был эффективным и позволял отыскивать записи по нескольким ключам?

При этом, с точки зрения прагматики, создание базы данных это, по существу, попытка найти компромисс сразу по нескольким направлениям и сочетаниям нескольких взаимообратных факторов (с точки зрения их влияния на показатель общей эффективности системы), в том числе следующих:

1) эффективность — простота;

2) скорость выборки — стоимость (сложность) аппаратных средств;

3) скорость выборки — сложность процедур доступа;

4) плотность данных — время доступа и сложность процедур;

5) независимость данных — производительность;

6) гибкость средств поиска — избыточность данных;

7) гибкость поиска — скорость поиска;

8) сложность процедур доступа — простота обслуживания.