Базы данных

Независимость программ и данных


Важнейшим шагом в управлении сложностью является четкое разделение программ и данных. Ранее программы обработки данных содержали в явном виде физическое форматирование данных, т.е. программа зависела от формата данных, и любое изменение этого формата требовало соответствующего изменения программного обеспечения. Ошибки ч программном обеспечении, связанные с наступлением 2000 года, были прямым следствием подобной жесткой связи программ и данных. Можно существенно уменьшить стоимость и сложность сопровождения программ и данных в результате их четкого разделения.

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

Запросы приложений баз данных получают доступ к данным, основываясь на их логической структуре. Система базы данных трансформирует логическую структуру в физическое представление (т.е. система базы данных интерпретирует запросы, извлекает данные, преобразует их в стандартный формат и передает данные приложению). Прикладная программа загружает данные в свои переменные, не имея никакого представления о том, как эти данные хранились. Физическую организацию хранения данных можно изменить, не внося изменения в приложение.

Еще одним аспектом независимости данных и программ является возможность иметь различные модели или представления данных для разных пользователей. Разработчики систем баз данных работают с концептуальной моделью для пользователей системы. В этой модели основное внимание уделяется информационному содержимому, а физическое и логическое представления не определяются. Логическая модель данных используется для определения базы данных; она должна согласовываться с концептуальной моделью. Удовлетворение требований к производительности работы с данными зависит от физической модели данных. Каждая из этих моделей имеет свое назначение, в соответствии с которым и используется.

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

Комментарии закрыты