Информационные системы, использующие
До сих пор мы обсуждали информационные системы, использующие базы данных, и их возможности лишь в общих терминах. Теперь пришло время более внимательно взглянуть на то, из чего состоит такая система. Информационная система - это нечто большее, чем просто данные или данные в сочетании с программным обеспечением базы данных. Полная информационная система, использующая базы данных, состоит из четырех компонентов: оборудования, программного обеспечения, данных и людей.
Оборудование
Оборудование (или «железо») - это набор физических устройств, на которых существует база данных. Оно состоит из одного или нескольких компьютеров, дисководов, мониторов, принтеров, магнитофонов, соединительных кабелей и других вспомогательных и соединительных устройств.
Рис. 1.15. Три возможные конфигурации оборудования для информационных систем
Для обработки данных в базах данных могут использоваться универсальные вычислительные машины, мини-компьютеры или персональные компьютеры. В нашем предыдущем примере фирма IPD начинала с мини-компьютера, затем они перешли на универсальную вычислительную машину. Универсальные ЭВМ и мини-компьютеры традиционно используются в качестве основы для поддержания доступа многих пользователей к общей базе данных. Персональные компьютеры часто используются для баз данных, с которыми работает один пользователь. Они, однако, могут быть соединены в сеть по принципу клиент/сервер, обеспечивая доступ нескольких пользователей к общей базе данных, хранимой на дисках и управляемой сервером. Сервером может служить более мощный настольный компьютер, мини-компьютер или универсальная ЭВМ. На рис. 1.15 представлены различные конфигурации устройств.
Основным способом хранения баз данных является хранение на дисках, что существенно, поскольку к ним возможен произвольный доступ, без которого работать с базой данных невозможно. Настольные компьютеры, мониторы и принтеры используются для ввода и извлечения информации из базы данных.
Ленты являются недорогим средством быстрого создания резервных копий данных, хранящихся на дисках.
Успешная работа информационных систем, использующих базы данных, сильно зависит от совершенства технологии устройств. Для поддержания и управления огромным количеством данных, хранящихся в базе данных, требуется очень большой объем оперативной памяти и дисков. Кроме того, в системе с большим числом пользователей для того, чтобы за приемлемое время извлекать нужную им информацию, необходимо быстро выполнять огромное количество обращений к данным, для чего требуется высокое быстродействие компьютеров, сетей и периферийных устройств. К счастью, за годы развития баз данных мощность компьютерного оборудования сильно выросла, а стоимость значительно снизилась. Благодаря этому стало возможным широкое распространение информационных систем, использующих базы данных.
Программное обеспечение
Информационная система, использующая базу данных, включает в себя два вида программного обеспечения:
q Программное обеспечение общего назначения для поддержания базы данных, обычно называемое системой управления базой данных (СУБД).
q Прикладное программное обеспечение, которое использует средства СУБД для выполнения конкретных деловых задач, таких как выставление счетов или анализ продаж.
Прикладное программное обеспечение обычно создается сотрудниками компании для решения конкретных задач компании. Оно может быть написано на стандартном языке программирования типа Кобола или Си или же на языке (обычно называемом языком четвертого поколения), входящем в комплект системы управления базой данных. Прикладные программы используют средства СУБД для обращения к данным и их обработки, создавая отчеты или документы, необходимые для работы компании.
Система управления базой данных (СУБД) - это системное программное обеспечение, аналогичное операционной системе или компилятору, обслуживающее конечных пользователей, программистов и т.д.
Как следует из названия, СУБД предназначена для того, чтобы обеспечивать управление базой данных. Обычно СУБД выполняет следующие функции:
q Централизованное определение и контроль данных, известное под названием словарь/каталог данных.
q Защита данных и обеспечение их целостности.
q Одновременный доступ к данным для нескольких пользователей.
q Ориентированные на пользователя возможности запросов, обработки и извлечения данных.
q Ориентированные на программиста возможности создания прикладных систем.
Словарь/каталог данных. Подсистема словаря/каталога данных следит за определениями всех элементов данных базы, включая элементарные группы данных (поля), структуры данных на уровне групп и записей, файлы или реляционные таблицы. Эту информацию поддерживает не только словарь данных, но именно он отслеживает отношения, существующие между различными группами данных. Кроме того, он поддерживает индексы, служащие для быстрого обращения к данным. Он также отслеживает установки формата вывода данных, которые могут использоваться различными прикладными программами.
Словарь данных можно рассматривать как часть самой базы данных. Тогда база данных будет самоописываемой, поскольку она содержит информацию, описывающую ее собственную структуру. Информация в словаре данных называется метаданными, то есть «данными о данных». Метаданные доступны для запросов и манипуляций, как и любые другие данные базы.
Метаданные - данные в словаре данных, описывающие базу данных.
Механизмы защиты и поддержания целостности данных. База данных - это ценный ресурс, нуждающийся в защите. СУБД защищает базу данных, не предоставляя несанкционированного доступа к ней. Полномочия пользователей могут быть различны с точки зрения того, к каким данным им разрешено обращаться, и имеют ли они право обновлять данные. Такой доступ контролируется системой паролей и представлениями данных, то есть описаниями ограниченных частей базы данных, как показано на рис. 1.16.
Целостность и непротиворечивость базы данных обеспечивается ограничениями на значения элементов данных, а также путем создания СУБД резервных копий, делающих возможным восстановление данных. Описания ограничений на значения элементов данных хранятся в словаре данных. Резервные копии и восстановление поддерживаются программами, которые автоматически фиксируют внесенные в базу данных изменения и обеспечивают возможность восстановления текущего состояния базы данных в случае сбоя в системе.
Рис. 1.16. Пользовательские представления данных
в базе данных
Представление данных - описание ограниченной части базы данных.
Одновременный доступ к данным для нескольких пользователей. Одна из главных функций СУБД состоит в поддержании доступа, извлечения и обновления данных базы. СУБД обеспечивает физические механизмы, позволяющие многим пользователям быстро и эффективно обращаться к большому количеству связанных данных. Это распространяется и на удаленных пользователей, которые обращаются к базе данных через систему телекоммуникаций. Средства СУБД обеспечивают взаимодействие с телекоммуникационными системами, адекватно обрабатывая запросы и выдавая результаты.
Централизованное хранение данных в базе является причиной высокой вероятности того, что двум или более пользователям потребуется одновременный доступ к одним и тем же данным. Если СУБД это позволяет, то два пользователя наверняка повлияют на работу друг друга и могут испортить ее. Таким образом, важно, чтобы СУБД не допускала такой ситуации, когда один пользователь обращается к данным, а другой в то же время вносит в них изменения. Для этого в СУБД используются сложные блокирующие механизмы, защищающие данные, которые в текущий момент обновляются пользователем, и в то же время обеспечивающие одновременный доступ к данным и приемлемое время реакции системы для других пользователей.
Ориентированные на пользователя запросы и отчеты. Одна из наиболее ценных черт СУБД - это ориентированные на пользователя средства работы с данными.
Простые языки запросов предоставляют пользователям возможность формулировать запросы и получать одноразовые отчеты прямо из базы данных. Это избавляет программистов компании от необходимости формулировать эти запросы или писать специальные прикладные программы.
С языками запросов связаны генераторы отчетов. Часто язык запросов содержит средства оформления результатов запроса в виде отчета. Сам сформулированный запрос зачастую можно сохранить и использовать в дальнейшем для составления регулярных отчетов. В этом случае язык запросов можно рассматривать как генератор отчетов. Кроме того, к системе могут прилагаться генераторы отчетов, обладающие более широкими возможностями, чем встроенные в язык запросов.
Средства создания прикладных программ. Кроме того, что СУБД упрощает пользователю обращение к базе данных за информацией, она часто серьезно помогает и разработчикам прикладных программ. Стандартными являются такие средства, как окна, меню и генераторы отчетов, генераторы приложений, компиляторы, а также средства описания данных и выборок. Что более важно, современные информационные системы, использующие базы данных, укомплектованы языками, значительно более мощными, чем традиционные, что сильно повышает эффективность самого процесса программирования.
Данные
Очевидно, что ни одна база данных не может существовать без данных, основных фактов, на которых базируется вся информация, необходимая в работе компании. Однако следует заметить, что данные, из которых состоит база данных, должны быть тщательно и логично организованы. Необходимо проанализировать бизнес-функции, установить и точно определить элементы данных и отношения между ними, а определения аккуратно внести в словарь данных. После этого в соответствии с определенной структурой в базу можно вносить данные. Гармонично организованная база данных может стать мощным источником обеспечения организации своевременной информацией.
Люди
В случае IPD мы видели два типа людей, работающих с базой данных.
Сьюзан Броудбент и Дик Гринберг - пользователи, то есть люди, которым информация базы данных требуется для выполнения их прямых служебных обязанностей, которые лежат в несколько иной области. Сэнфорд Мэллон и Корделия Молини - обслуживающий персонал, то есть люди, чьими прямыми обязанностями является создание и поддержание информационной системы и соответствующего прикладного программного обеспечения, необходимого пользователям. Приведем примеры людей, входящих в эти две категории:
1. Пользователи: руководители, менеджеры, конторские служащие.
2. Обслуживающий персонал: администраторы базы данных, аналитики, программисты, системные разработчики, менеджеры информационных систем.
Пользователи - люди, которым требуется информация базы данных для выполнения прямых служебных обязанностей.
Обслуживающий персонал - люди, ответственные за работу информационной системы, использующей базы данных, и соответствующего прикладного программного обеспечения.
Процедура - письменные инструкции, описывающие шаги, необходимые для выполнения в системе определенной задачи.
Процедуры, которые люди используют для выполнения своих задач в системе, являются важным аспектом. В действительности ни одна система не автоматизирует полностью работу пользователя. Приходится разрабатывать инструкции, обеспечивающие бесперебойное взаимодействие между пользователями системы и самой системой. Примером такой процедуры может служить аудиторский контроль, посредством которого пользователи проверяют, соответствует ли общая сумма, помещенная в банк в определенный день, общей сумме полученных в этот день наличных денег, отраженной в системе. Обычно в системе есть множество подобных процедур, и зачастую успешная работа системы зависит от того, насколько хорошо процедуры увязаны с функциями самой системы.
Отношения между четырьмя компонентами системы
На рис. 1.17 в сжатом виде представлены отношения между четырьмя компонентами системы. Обслуживающий персонал (аналитики и разработчики базы данных), советуясь с пользователями, определяет необходимые данные и создает структуру базы данных, отвечающую потребностям пользователей.
Затем структура базы данных сообщается СУБД через словарь данных. Пользователи вводят в систему данные, следуя определенным процедурам. Хранение введенных данных обеспечивается оборудованием, таким как диски или ленты. Прикладные программы, обслуживающие доступ к базе данных, разрабатываются программистами, а пользователи запускают их на компьютерах. Эти программы пишутся на командном языке СУБД, и в них используется информация, содержащаяся в словаре данных. Эти программы выдают информацию, которая может использоваться менеджерами и руководством компании при принятии решений. Прикладные программы также могут печатать счета и другие документы для клиентов фирмы. Таким образом, мы видим, что в удачно разработанной и функционирующей системе все четыре компонента - оборудование, программное обеспечение, данные и люди - взаимодействуют, образуя единую систему, выполняющую нужные организации задачи.
Рис. 1.17. Четыре компонента информационной системы,
использующей базы данных: оборудование, программное обеспечение, данные и люди