Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по БД.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

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

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

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

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

Для установления независимости программ от данных в некото­рых системах описание данных размещают совместно с файлом дан­ных (рис. 2.7, б). По такому принципу организован весьма распро­страненный формат файла данных (dbf-формат), происходящий от систем dBase – Clipper – Foxbase – FoxPro, а затем принятый и рядом других систем. В этом случае в начале файла создается заголо­вок, содержащий описание полей записи файла (имя, тип, длина данного, код информации и пр.), и таким образом, описание дан­ных файла в программе не нужно.

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

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

Рис. 2.7. Варианты размещения данных и их описания: а — в прикладной про­грамме; б — в файле данных; в — отдельным набором данных (словарь данных)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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