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

Информационное обеспечение(лекции)

.pdf
Скачиваний:
77
Добавлен:
27.03.2016
Размер:
2.19 Mб
Скачать

обслуживание запросов пользователей. Исходя из этого, целесообразно проанализировать типы и виды предъявляемых к БД запросов. Результаты такого анализа представлены на рисунке 1.9.

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

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

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

Рисунок 1.9 - Категории пользователей БД Пользователи-задачи обращаются к базе данных с регламентированными

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

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

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

31

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

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

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

1.5.2 Администратор базы данных

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

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

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

решение вопросов, связанных с расширением БД в связи с изменением границ предметной области;

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

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

обеспечение заданной производительности БД, чтобы обработка запросов выполнялась за приемлемое время;

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

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

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

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

32

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

1.5.3 Разделение функций администрирования

В некоторых очень сложных предметных областях функции администрирования автоматизированной информационной системы могут быть распределены между администратором данных (АД) и администратором

базы данных (АБД).

Специфика обязанностей АД и АБД на этапах жизненного цикла автоматизированной информационной системы представлена в таблице 1.2.

Рисунок 1.10 – Состав группы АБД

Таблица 1.2 – Обязанности АД и АБД на этапах жизненного цикла АИС

Этап

Основная роль

Вспомогательная

роль

 

 

Планирование разработки базы данных

АД

АБД

Определение требований к системе

АД

АБД

Сбор и анализ требований пользователей

АД

АБД

Концептуальное проектирование базы

АД

АБД

данных

 

 

 

 

 

Выбор целевой СУБД

АБД

АД

Логическое проектирование базы данных

АБД

АД

 

 

 

 

Разработка приложений

АБД

АД

Физическое проектирование базы данных

АБД

АД

 

 

 

 

Создание прототипов

АБД

АД

Реализация

АБД

АД

Конвертирование и первичная загрузка

АБД

АД

данных

 

 

33

Тестирование

АБД

АД

 

 

 

Эксплуатация и сопровождение

АБД

АД

При таком делении функций администрирования к задачам администрирования данных относятся следующие.

Разработка стратегии построения информационной системы.

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

Разработка корпоративной модели данных.

Определение требований организации к используемым данным.

Определение стандартов сбора данных и выбор формата их представления.

Оценка объемов данных и вероятности их роста.

Определение способов и интенсивности использования данных.

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

Концептуальное проектирование базы данных.

Взаимодействие с АБД и разработчиками приложений.

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

Постоянная модернизация используемых информационных систем

итехнологий.

Обеспечение полноты всей требуемой документации.

Поддержка словаря данных.

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

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

Оценка и выбор целевой СУБД.

Логическое и физическое проектирование базы данных.

Реализация физического проекта базы данных в среде целевой

СУБД.

Определение требований защиты и поддержки целостности данных.

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

Разработка стратегии тестирования.

Обучение пользователей.

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

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

Регулярное резервное копирование.

Разработка требуемых механизмов и процедур восстановления.

34

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

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

Результаты сравнительного анализа задач администрирования данных и администрирования базы данных представлены в таблице 1.3, из которой видно, что работа АД является в большей степени управленческой, а работа АБД - технической.

Таблица 1.3 –

Сравнительный анализ задач администрирования

Администрирование данных

Администрирование базы данных

Участвует

в

 

стратегическом

Оценивает новые СУБД

 

планировании

 

 

информационной

 

 

 

системы организации

 

 

 

Определяет долгосрочные цели

Выполняет планы достижения целей

Применяет стандарты, политики и

Применяет стандарты, политики и

процедуры

 

 

 

процедуры

 

 

Определяет требования к данным

Реализует требования к данным

Выполняет

 

 

концептуальное

Выполняет логическое и физическое

проектирование базы данных

проектирование базы данных

Разрабатывает

 

и

сопровождает

Реализует

физический

проект базы

корпоративную модель данных

данных

 

 

Координирует разработку системы

Выполняет

текущий

контроль и

 

 

 

 

управление базой данных

Управленческая направленность

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

Работа не зависит от типа целевой

Работа зависит от типа целевой

СУБД

 

 

 

СУБД

 

 

1.6. Средства администрирования баз данных

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

К основным из таких средств администрирования можно отнести:

1)язык определения данных;

2)язык манипулирования данными;

3)словарь данных (системный каталог).

Вкратце остановимся на назначении перечисленных средств.

Для работы с данными в СУБД предусмотрен внутренний язык,

состоящий из двух частей: языка определения данных (Data Definition Language

- DDL) и языка манипулирования данными (Data Manipulation Language - DML).

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

35

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

Язык определения данных (ЯОД, DDL) - формальный закон,

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

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

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

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

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

Язык манипулирования данными (ЯМД, DML) - совокупность языковых средств для организации доступа к данным в некоторой модели данных и в соответствующих ей СУБД.

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

К основным операциям манипулирования данными относятся:

вставка в БД новых сведений;

модификация сведений, хранимых в БД;

извлечение сведений, содержащихся в БД;

удаление сведений из БД.

ЯМД отличаются базовыми конструкциями манипулирования данными. Отличают два их типа:

а) процедурные ЯМД; б) непроцедурные (декларативные) ЯМД.

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

36

чтобы получить результат. При этом предполагается знание пользователем деталей внутренней организации структур данных в БД.

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

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

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

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

1.11).

В словаре данных (системном каталоге) интегрированы метаданные - данные об объектах базы данных, позволяющие упростить способ доступа к ним и управление ими. Перед доступом к реальным данным СУБД обращается к системному каталогу.

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

имена, типы и размеры элементов данных;

имена связей;

накладываемые на данные ограничения поддержки целостности;

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

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

статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

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

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

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

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

37

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

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

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

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

Меры обеспечения безопасности могут быть дополнительно

усилены.

Появляются новые возможности организации поддержки целостности данных.

Может выполняться аудит сохраняемой информации.

СТРУКТУРА СЛОВАРЯ ДАННЫХ

1. БАЗА ДАННЫХ – полное название базы и имя файла

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

А. ОБЛАСТЬ ДАННЫХ - название группы, к которой принадлежат таблицы

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

1. ТАБЛИЦАтаблицы, входящие в область данных а) ДОСТУП - права пользователей на доступ к таблице б) ЗАПИСЬ - общее определение элементов данных

(1)ПЕРВИЧНЫЙ КЛЮЧ - поле (поля) первичного ключа (а) ИНДЕКС - описание индекса первичного ключа

(2)ВНЕШНИЕ КЛЮЧИ - внешние ключевые поля

(а) ИНДЕКС - индексы внешних ключей

Рисунок 1.11 - Примерная структура словаря данных

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

38

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

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

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

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

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

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

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

типы и размеры элементов данных;

ограничения, установленные для каждого из элементов данных. Термин «словарь данных» часто используется для программного

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

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

39

2ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

2.1Жизненный цикл информационной системы

Рассмотрение вопросов проектирования эффективных баз данных

целесообразно начать с обзора жизненного цикла автоматизированных информационных систем.

Типичная автоматизированная информационная система включает следующие компоненты.

База данных.

Программное обеспечение базы данных.

Прикладное программное обеспечение.

Аппаратное обеспечение, в том числе устройства хранения.

Персонал, использующий и разрабатывающий систему.

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

Жизненный цикл любой сложной системы и, безусловно, ИС, основанной на базе данных, обычно состоит из нескольких этапов:

1)планирование;

2)сбор и анализ требований к системе;

3)проектирование системы (в том числе проектирование базы

данных);

4)создание прототипа;

5)реализация;

6)тестирование;

7)преобразование;

8)сопровождение.

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

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

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

Планирование разработки базы данных

Планирование самого эффективного способа реализации этапов жизненного цикла системы.

40