Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технология проектирования и администрирования баз данных и систем данных-Конспект

.pdf
Скачиваний:
57
Добавлен:
20.03.2016
Размер:
4.52 Mб
Скачать

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

3.1.2. Словарь данных и система управления базами данных

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

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

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

Оба типа словарей данных, интегрированный и независимый, имеют свои преимущества и недостатки.

Преимущества интегрированной системы словаря данных:

отсутствует дублирование описаний данных в СУБД и словаре данных. Это сокращает вероятность появления ошибок в результате отказов при обновлении дублированной информации;

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

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

Преимущества независимого словаря данных:

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

описания всех данных могут вводиться постепенно, в то время как

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

3.1.3. Интерфейсы

Проанализируем интерфейсы словаря данных в системе с единственной СУБД (рис. 3.1).

Рис 3.1

Существуют два типа интерфейсов:

1)с людьми, вовлеченными в систему АБД, системными программистами, прикладными программистами, руководителями, конечными пользователями и ревизорами;

2)с программными средствами: СУБД, компиляторами, операционной системой и генераторами отчетов.

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

Отчеты могут отражать следующие аспекты:

элементы данных и объекты;

взаимосвязи элементов данных и объектов;

ответственность пользователей за правильность данных;

частотные характеристики использования и текстуальные описания

элементов данных;

правила разграничения доступа;

отчеты ревизии;

регламентированные сводные отчеты;

отчеты, подготовленные имеющимися у пользователя средствами;

отчеты, содержащие таблицы соответствия;

отчеты об изменениях;

отчеты об ошибках.

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

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

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

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

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

3.1.4. Идеальный словарь данных. Требования и организация

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

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

Логическая модель. По логической модели базы данных в словаре данных должна храниться следующая информация о группировании элементов данных с указанием ключевых элементов (возможно, выделяемые группы будут подмножествами групп, специфицированных в концептуальной модели), об используемой модели данных, о взаимосвязях групп данных в рамках применяемой модели, о внешних моделях, поддерживаемых логической моделью (различные логические пути доступа к данным), о логических транзакциях, программах и модулях. Кроме того, должны храниться сведения о связях между логическими транзакциями, программами и модулями, а также таблицы соответствия между транзакциями, программами и модулями, с одной стороны, и подразделениями и функциями, которые они обслуживают, – с другой. Для программ и транзакций необходимо специфицировать язык программирования и тип (пакетная, используемая в режиме телеобработки и т.д.).

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

Идеальный словарь данных должен быть неотъемлемой составной частью всей системы обработки данных. За ввод данных в словарь ответственность несет АБД. Поскольку словарь данных является центральным звеном системы, необходимо постоянно поддерживать его копию, которая может использоваться для восстановления словаря после возникновения отказа всей системы и в случае непреднамеренного разрушения его рабочей версии. За сохранность словаря данных как жизненно важной части системы с базой данных полностью отвечает администрация базы данных.

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

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

перечни элементов в алфавитном или любом другом порядке;

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

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

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

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

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

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

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

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

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

Генерация исходного текста программ. С помощью хранящейся в словаре

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

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

Идеальный словарь данных должен:

1)поддерживать концептуальную, логическую, внутреннюю и внешние модели;

2)быть интегрирован с СУБД;

3)поддерживать различные версии хранимых описаний (тестовые, рабочие);

4)обеспечивать эффективный обмен информацией с СУБД (в идеальном случае привязка внешних и внутренней моделей должна происходить во время выполнения программ, при этом словарь данных использует рабочие версии описаний и осуществляет динамическое построение описания базы данных и программ);

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

3.2.Стратегия реализации словаря данных

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

икогда следует начать внедрение словаря данных на предприятии.

3.2.1.Экономическая целесообразность

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

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

Стоимость некоторого объекта или проекта может быть измерена в терминах требуемых ресурсов. Затраты чаще всего имеют стоимостное выражение: затраты на приобретение системы, на ее обслуживание, на оборудование, на создание и ведение базы данных словаря и т. д. Гораздо сложнее оценить ожидаемый эффект. Его можно рассматривать как следствие некоторых мероприятий, способствующих сохранению или увеличению благосостояния отдельного лица или предприятия. Он может быть выражен в терминах экономии, снижения себестоимости, улучшения характеристик, выявления новых возможностей. При проведении анализа экономической целесообразности необходимо учитывать все вероятные последствия рассматриваемого проекта как положительные, так и отрицательные.

Затраты.

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

Создание базы данных словаря. Это сопряжено с наибольшими затратами. Их размеры зависят от следующих факторов:

1)числа элементов данных, которые необходимо выявить, а затем ввести в

словарь данных их определения, вместе с текстовыми описаниями и атрибутами;

2)числа и сложности взаимосвязей с объектами и прикладными программами, которые необходимо выявить и документировать.

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

Ведение базы данных словаря. Хотя затраты на ведение базы данных словаря составляют лишь часть затрат на ее первоначальное создание, следует

все же рассмотреть их структуру в динамике. Стоимость ведения базы данных словаря в худшем случае будет равна затратам на ее ведение в отсутствие системы словаря данных.

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

Рассмотрим теперь выгоды, которые может принести введение словаря данных.

Выгоды.

Выгоды меняются в зависимости от характера предметной области. Экономия за счет введения словаря данных будет тем выше, чем больше число используемых в системе с базой данных элементов данных и их взаимосвязей. Очевидно, что наличие словаря данных в динамичной системе, т. е. в системе, отличающейся относительно большим числом изменений, даст больший эффект, чем в полностью статичной. Динамичная система не предполагает непрерывного изменения структуры данных. В этом случае реализация базы данных оказалась бы бессмысленной. Никакую базу данных нельзя периодически реструктурировать без соответствующих затрат Целесообразность применения словаря данных здесь, по-видимому, возрастает с увеличением степени совместного использования данных и программ.

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

Косвенные выгоды. Наличие словаря данных обеспечивает ряд дополнительных преимуществ, которые трудно оценить в денежном выражении:

1)упрощается обращение к базе данных (подобно тому, как упрощается просмотр книги, если в ней есть предметный указатель);

2)появляется возможность накапливать более полную информацию о данных и лучше ее систематизировать;

3)в условиях централизации становится проще определять стандарты присвоения имен, описаний, использования данных и т п.;

4)с помощью таблиц соответствия быстрее реализуются изменения базы данных;

5)расширяются возможности регистрации доступа к данным;

6)упрощается контроль доступа к данным, так как информация о базе данных и ее использовании хранится централизованно.

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

3.2.2. Условия применения

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

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

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

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

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

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

существующих прикладных программ. Однако при разработке новых прикладных систем эта работа выполняется впервые, и документирование новых приложений неизбежно.

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

Необходимо прежде всего определить назначение словаря данных. Чрезвычайно важно заручиться согласием администрации предприятия, иначе весь проект информационной системы может оказаться под угрозой. Затем группой разработчиков должны быть исследованы следующие характеристики имеющихся систем словарей данных: простота использования, простота внесения изменений, сопровождение поставщиком, мощность, расширяемость функций и стоимость. Эта группа должна также сопоставить специфические потребности предметной области и возможности, предоставляемые рассматриваемыми системами. Необходимо разработать стратегию и план сбора данных и начать обучение сотрудников. Сбор и анализ информации и будет первым этапом в создании словаря данных.

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

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

3.2.3. Рекомендации по определению данных

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

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

Групповой элемент данных – совокупность логически взаимосвязанных