Программирование >>  Хронологические базы данных 

1 ... 4 5 6 [ 7 ] 8 9 10 ... 348


Возможность введения стандартизации

Благодаря централизованному управлению базой данных АБД (по указаниям администратора данных) может обеспечить соблюдение всех подходящих стандартов, регламентирующих представление данных в системе. Стандарты могут быть частными, корпоративными, ведомственными, промышленными, национальными и интернациональными. Стандартизация представления данных наиболее важна с точки зрения обмена и пересылки данных между системами. (Наибольшую актуальность этот вопрос приобретает в случае распределенных систем, речь о которых пойдет в главах 2 и 20.) Кроме того, стандарты именования и документирования данных важны как в отношении их совместного использования, так и в отношении их углубленного понимания.

Большинство перечисленных вь1ше преимуществ достаточно очевидно. Однако есть еще одно преимущество, которое необходимо добавить к этому списку и которое не столь очевидно (хотя косвенно и охватывает несколько преимуществ). Речь идет об обеспечении независимости данных. (Строго говоря, это, скорее, цель создания систем баз данных, а не обязательное их преимущество.) Концепция независимости настолько важна, что ей посвящен целый раздел, представленный ниже.

1.5. Независимость данных

Независимость данных может быть реализована на двух уровнях: физическом и логическом [1.3], [1.4]. Однако сейчас нас интересует только физическая независимость. Поэтому неуточненный термин независимость данных мы пока будем понимать лишь как физическую независимость данных, а логическую независимость данных рассмотрим позднее, в главах 2 и 3. Непосредственное отношение к этому вопросу имеет также глава 9.

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

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

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



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

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

1. Для разных приложений требуются разные представления одних и тех же данных. Например, предположим, что до перехода к интегрированной базе данных предприятие имело два приложения, А и В. Каждое из них работало с собственным файлом, содержащим поле баланс заказчика . Предположим также, что приложение А записывает значение этого поля в десятичном формате, а приложение В - в двоичном. Эти два файла все еще можно интегрировать, а существующую избыточность устранить, если в СУБД есть возможность выполнить все необходимые преобразования между форматом представления данных (формат представления может быть десятичным, двоичным или любым другим) и форматом, необходимым для приложения. Например, если принято решение сохранять значения поля в десятичном формате, каждое обращение к приложению В потребует преобразования значений в двоичный формат или из двоичного формата.

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

2. Администратор базы данных должен иметь неограниченные возможности изменять физическое представление или метод доступа к данным в случае изменения требований, причем без необходимости модифицировать существующие приложения. Например, к базе данных могут быть добавлены новые виды данных, на предприятии могут быть приняты новые стандарты, могут быть изменены приоритеты приложений (а следовательно, и связанные с ними требования к производительности), могут появиться новые типы запоминающих устройств и т.д. Если приложения зависят от данных, то перечисленные изменения потребуют внесения изменений в программы, а значит, дополнительных усилий программистов, которые можно было бы направить на создание новых приложений. До сих пор подобные проблемы не являются исключением. И сегодня случается, что значительная часть рабочего времени программистов (вспомните хотя бы проблему 2000-го года!) тратится на подобную работу, а это, конечно, бесполезная трата дефицитных и ценных ресурсов.

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



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

Начнем с определения трех новых терминов: хранимое поле, хранимая запись и хранимый файл (рис. 1.6).

Хранимая база данных

Прочие хранимые файлы

Файл PFILE, хранящий записи типа деталь -

Два экземпляра хранимой записи типа деталь

Номер Название Цвет Вес

детали

детали

детали

детали

Экземпляры хранимых полей

Bolt

Green

Номер Название Цвет Вес детали детали детали детали

Рис. 1.6. Хранимые поля, записи и файлы

Хранимое поле - это наименьшая единица хранимых данных. Типичная база данных содержит множество экземпляров (occurence или instance) каждого из нескольких описанных в ней типов или хранимых полей. Например, база данных, содержащая информацию о деталях, может включать тип хранимого поля с именем номер детали и для каждого описанного в базе данных вида детали (винта, шарнира, колпака и т.д.) будет существовать отдельный экземпляр этого хранимого поля.



1 ... 4 5 6 [ 7 ] 8 9 10 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика