пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» Базы данных

Независимость программ от данных. Понятие и способ достижения.

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

Одним из путей достижения независимости является введение дополнительных уровней абстрагирования данных (принцип многоуровневости). В 1975 году Национальный институт стандартизации США (ANSI) начал работал над стандартом архитектуры баз данных. Стандартом эта работа так и не стала, но заложила основы построения архитектуры баз данных и до сих пор пользуется известностью как «Трехуровневая архитектура ANSI / SPARC». Основной идеей было выделение трех уровней – внутреннего, концептуального и внешнего. На каждом уровне используется свое представление данных, которое не зависит от представления данных на других уровнях.

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

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

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

В задачи СУБД входит выполнение преобразования данных из концептуального представления во внутреннее. Это выполняется при помощи отображения «концептуальный уровень - внутренний уровень». Это отображение также создается и поддерживается самой СУБД и, как правило, недоступно для прикладных программистов.

Больший интерес представляет вопрос обеспечения работы с данными для приложений. Каждое прикладное приложение требует для своей работы только части данных, хранящихся в базе данных. Причем, эта часть может быть иначе организована. И преобразование данных из концептуального представления во внешнее не может быть выполнено автоматически, подобно преобразованию из концептуального во внутреннее. [От СУБД здесь требуется предоставить возможности для создания «производных» структур данных, которые позволяют организовать данные по-другому, в соответствии с требованиями прикладного приложения. В современных СУБД эта задача решается при помощи так называемых представлений – специальных сущностей базы данных, которые «выглядят» как таблицы, но в реальности не хранят никаких данных, а преобразовывают данные из исходных таблиц к своей структуре. Но трудность состоит в том, что не все представления позволяют выполнять операции обновления данных, поэтому, создание внешнего представления может оказаться невозможным. ]

Прикладные приложения также должны преодолевать несовпадения типов данных, имеющихся в языках программирования, и типов данных БД. В каких-то случаях есть возможность встраивать инструкции на языке, поддерживаемом СУБД непосредственно в программный код. Но в большинстве случаев в состав библиотек, сопровождающих язык программирования, входят библиотеки, обеспечивающие работу с базами данных. Если говорить о платформе Windows, то на сегодня наиболее широко применяемыми являются библиотеки ADO (и их аналоги) и ADO.Net. В последних версиях Visual Studio.Net появились и возможности для создания запросов непосредственно в программном коде (технология LINQ), и организации доступа к данным в полностью объектно-ориентированном ключе (Entity Framework).

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


27.01.2014; 20:20
хиты: 163
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь