На первом этапе проектирования
базы данных необходимо собрать сведения о предметной области, в том числе
о назначении, способах использования и о структуре данных, а по мере развития
проекта осуществлять централизованное накопление информации о концептуальной,
логической, внутренней и внешних моделях данных. Словарь данных является
как раз тем средством, которое позволяет при проектировании, эксплуатации
и развитии базы данных поддерживать и контролировать информацию о данных.
При сборе информации о данных
следует установить правила присвоения имен элементам, добиться однозначного
толкования различными подразделениями назначения источников и соглашений
по присвоению имен, сформулировать приемлемые для всех пользователей описания
элементов данных и выявить синонимы. Этот процесс включает несколько итераций
и связан с необходимостью разрешения конфликтных ситуаций. Отдельные подразделения
подчас переоценивают свою роль на предприятии, что приводит при разработке
информационной системы к конфликтам. Разработчику в таких случаях придется
выступать в роли арбитра. Если вам не по душе слушать крики: «Судью на
мыло!», то для обеспечения эффективного сбора и накопления информации о
данных желательно, чтобы все, кто имеет отношение к базе данных, пользовались
автоматизированным словарем данных.
Словарь данных содержит информацию
об источниках, форматах и взаимосвязях между данными, их описания, сведения
о характере использования и распределении ответственности. Словарь данных
можно рассматривать как "Метабазу данных", в которой хранится информация
о базе данных.
Одно из главных назначений
словаря данных состоит в документировании данных. Так как база данных обслуживает
множество пользователей, крайне необходимо, чтобы они правильно понимали,
что представляют собой данные.
Накопление информации
в словаре данных целесообразно начинать уже с самой ранней стадии проектирования.
В процессе работы разработчики выясняют у пользователей, какой должна быть
система, какие данные будут входными, какого рода информацию они хотят
получить из системы, вводя имена элемента данных, например «номер счета»,
«остаток» или «процент» в банковской системе. При этом обе стороны должны
трактовать используемые термины однозначно, иначе может случиться так,
что разработанная система не будет удовлетворять требованиям пользователей.
Поэтому второе важное назначение словаря данных - обеспечить эффективное
взаимодействие между различными категориями разработчиков и пользователей.
Таким образом, два важнейших
назначения словаря данных состоят в централизованном ведении и управлении
данными как ресурсом на всех этапах проектирования, реализации и эксплуатации
системы, а также в обеспечении эффективного взаимодействия между всеми
участниками проекта.
В случае распределенной
базы данных вся она или ее отдельные части могут размещаться на удаленных
друг от друга вычислительных машинах, соединеных линиями связи. Одни рабочие
станции в сети могут обращаться только к локальной базе данных, а другие
- как к локальной, так и к внешним.
В этом случае в словарь
данных может быть введена информация обо всех местах физического хранения
данных, а также ограничения секретности, безопасности и доступа. С помощью
этой информации словарь данных может «решить», каким образом удовлетворить
запрос пользователя: обратиться к локальной базе
данных или, если пользователь обладает соответствующими полномочиями,
передать запрос на внешнюю ПЭВМ.
Неавтоматизированный словарь
данных не может обеспечить получение по-разному отсортированных списков
элементов данных, которыми пользуются разработчики. Один и тот же элемент
может неодинаково
использоваться в различных приложениях. На ранней стадии проектирования
выявляются далеко не все связи между данными. Впоследствии обнаруживается,
что данные применяются в разнообразных приложениях. Они могут встречаться,
например, во входных и выходных форматах, связанных между собой, и всякий
раз рассматриваются в различных контекстах. Чтобы учесть все возможные
ограничения, необходимо приложить значительные усилия. Процесс проектирования
же становится в таком случае трудно управляемым. Гораздо проще организовать
и управлять разработкой с помощью автоматизированного словаря данных.
Для успешного применения
словаря данных при разработке системы следует централизовать накопление
информации в этом едином источнике, из которого программисты смогут копировать
описания структур данных и включать их в свои программы на всех этапах
проектирования. В случае применения «ручного» или не интегрированного словаря
в нем время от времени может происходить нарушение непротиворечивости информации
по отношению к фактическому состоянию системы.
В идеальном случае интерфейс
между СУБД и словарем данных должен обеспечивать доступ системы словаря
к справочникам СУБД, в которых хранится информация о ее текущем состоянии.
Модификация типов данных может производиться только после того, как это
будет зарегистрировано в словаре данных. Обновление самих данных допускается
лишь после проверки их корректности средствами СУБД. Таким образом, словарь
данных, СУБД и база данных образуют замкнутый контур.
В идеале словарь данных
должен быть неотъемлемой составной частью всей системы обработки данных.
За ввод данных в словарь ответственность несет администратор БД. Поскольку
словарь данных является центральным звеном системы, необходимо постоянно
поддерживать его копию, которая может использоваться для восстановления
словаря после возникновения отказа всей системы или в случае непреднамеренного
разрушения его рабочей версии. За сохранность словаря данных как жизненно
важной части системы с базой
Данных полностью отвечает администрация базы данных.
Если словарь данных применяется
для разграничения доступа к базе данных, то доступ к нему надо также разграничить.
Следует строго ограничить круг лиц, которым разрешено модифицировать словарь
данных. В отношении хранимой в словаре информации должен быть реализован
режим секретности.
Словарь данных призван помогать
пользователю в выполнении следующих функций:
-
совместное использование данных с другими пользователями;
-
осуществление простого и эффективного управления элементами данных при
вводе в систему новых элементов или изменении описания существующих;
-
уменьшение избыточности и противоречивости данных;
-
определение степени влияния изменений в элементах данных на всю базу данных;
-
централизация управления элементами данных с целью упрощения проектирования
базы данных и ее расширения.