1. Логическое и физическое описание данных. Избыточность, независимость данных.
ИЗБЫТОЧНОСТЬ
Большая часть дисковых или ленточных библиотек, которые существовали до использования средств управления базами данных, содержала большое количество повторяющейся информации. При запоминании многих элементов данных допускалась избыточность, так как на носители информации для различных целей записывались одни и те же данные и, кроме того, хранились различные варианты модификаций одних и тех же данных. База данных представляет возможность в значительной степени избавиться от такой избыточности.
Базу данных иногда определяют как неизбыточную совокупность элементов данных; однако в действительности для уменьшения времени доступа к данным или упрощения способов адресации во многих базах данных избыточность в незначительной степени присутствует. Некоторые записи повторяются для того, чтобы обеспечить возможность восстановления данных при их случайной потере. Чтобы база данных была неизбыточной и удовлетворяла другим требованиям, приходится идти на компромисс. В этом случае говорят об управляемой, или минимальной, избыточности или о том, что хорошо разработанная база данных свободна от излишней избыточности.
Неуправляемая избыточность имеет несколько недостатков.
· хранение нескольких копий данных приводит к дополнительным затратам.
· (что особенно серьезно) приходится выполнять многократные операции обновления для нескольких избыточных копий. Избыточность поэтому обходится значительно дороже в тех случаях, когда при обработке файлов обновляется большое количество информации или, что еще хуже, часто вводятся новые элементы или уничтожаются старые.
· вследствие того, что различные копии данных могут соответствовать различным стадиям обновления, информация, выдаваемая системой, может быть противоречивой.
Если не использовать базы данных, то при обработке большого количества информация появится так много избыточных данных, что фактически станет невозможным сохранять их все на одном и том же уровне обновления. Очень часто пользователи обнаруживают явные противоречия в данных и поэтому испытывают недоверие к полученной от ЭВМ информации. Невозможность хранения избыточных данных на одинаковом уровне обновления является основным препятствием в обработке данных с помощью ЭВМ.
О независимости данных часто говорят как об одном из основных свойств базы данных. Под этим подразумевается независимость данных и использующих их прикладных программ друг от друга в том смысле, что изменение одних не приводит к изменению других. В частности, прикладной программист изолирован от влияния изменений данных и их организации, а также от изменения характеристик физических устройств, на которых они хранятся. В действительности же полностью независимыми данные бывают так же редко, как и полностью неизбыточными. Как мы увидим ниже, независимость данных определяется с различных точек зрения. Сведения, которыми должен располагать программист для доступа к данным, различны для различных баз данных. Тем не менее, независимость данных — это одна из основных причин использования систем управления базами данных.
ЛОГИЧЕСКАЯ И ФИЗИЧЕСКАЯ НЕЗАВИСИМОСТЬ ДАННЫХ
По мере накопления опыта использования первых систем управления базами данных довольно скоро стало очевидным, что необходим дополнительный уровень независимости данных. Общая логическая структура данных, как правило, сложная, и по мере роста базы данных она неизбежно изменяется. Поэтому важно обеспечить возможность изменения общей логической структуры без изменения при этом использующих ее многочисленных прикладных программ. В некоторых системах изменение общей логической структуры данных составляет форму ее существования, т. е. эта структура находится в состоянии постоянного развития. Поэтому требуются два уровня независимости данных. Мы будем называть их логической и физической независимостью данных.
Логическая независимость данных означает, что общая логическая структура данных может быть изменена без изменения прикладных программ (изменение, конечно, не должно заключаться в удалении из базы данных таких элементов, которые используются прикладными программами).
Физическая независимость данных означает, что физическое расположение и организация данных могут изменяться, не вызывая при этом изменений ни общей логической структуры данных, ни прикладных программ.
На рис. 3.1 (этап 4) иллюстрируется идея логической и физической независимости данных. Большой прямоугольник в центре на рис. 3.1 (этап 4) представляет общую логическую структуру данных, иногда называемую глобальным логическим представлением данных. Это представление может сильно отличаться от физической структуры данных и от их представлений в конкретных прикладных программах. Программное обеспечение баз данных будет фактически получать представление данных прикладного программиста из общей логической структуры, а затем будет отображать общую логическую структуру в физическое представление данных.