Учебнопрактическое пособие Владимир 2021
Скачать 7.94 Mb.
|
Глава 3. ИНФОРМАЦИОННЫЕ РЕСУРСЫ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ 3.1. Системы управления базами данных Информационная система (ИС), или автоматизированная ИС (АИС), представляет собой программно-аппаратную систему, предна- значенную для автоматизации целенаправленной деятельности ко- нечных пользователей, обеспечивающую, в соответствие с заложен- ной в нее логикой обработки, возможность получения, модификации и хранения информации. Общие понятия БД Системы, основанные на концепции баз данных, в наибольшей степени отвечают современным требованиям по построению инфор- мационных систем. Эта концепция предусматривает коллективное использование данных. Названная концепция отличается высоким универсализмом и пригодна для создания систем различных типов - от персональных до глобальных. База данных представляет собой идентифицированную, струк- турированную, коллективно используемую совокупность данных, связанных определенным образом и относящуюся к конкретной предметной области. Данное определение следует понимать следую- щим образом: «Идентифицированная» означает, что компоненты БД имеют свои имена и операции над ними оформляются путем указания их имен, а не адресов; «Структурированная» – данные имеют четкую структуру, т.е. информация хранится в формализованном виде в заранее уста- новленных форматах, определяющих вид данных (например, число- вые, текстовые), размерность и другие характеристики. Состав и свя- зи компонентов данных отражают свойства и отношения объектов управления. В базе данных может храниться и неформализованная 166 информация в виде обычного текста, изображений (например, фото- графий сотрудников); «Коллективное использование» предполагает централизо- ванное накопление и многоаспектное применение данных (при этом данные вводятся однократно, а используются при решении различных задач в интересах различных пользователей). Понятно, что для пер- сональных ИС не предусматривается применение данных различны- ми пользователями. В базе данных выделяют следующие категории данных: про- блемные (первичные) – описывающие предметную область и необхо- димые пользователям для решения их задач, и вторичные – обеспечи- вающие эффективное хранение и доступ к первичным данным. В состав БД могут входить следующие массивы данных: 1) основные – используемые при пополнении, корректировке, поиске, и контроле данных; 2) массивы для восстановления базы – страховые копии; 3) массивы словарей, используемые при контроле вводимых данных, их кодировании и декодировании; 4) массивы для учета и разграничения доступа – таблицы паро- лей, учетные журналы; 5) массивы статистических данных о работе базы и др. База данных может быть локальной (централизованной) или распределенной. Достоинствами баз данных являются: хорошая структуризация информации; поддержание ее целостности и непротиворечивости (це- лостность – это состояние БД, при котором все значения данных пра- вильны в том смысле, что отражают состояние реального мира и под- чиняются правилам взаимной непротиворечивости); небольшая избыточность представления в памяти компью- тера; снижения трудоемкости сбора и обновления данных (од- нократная подготовка и многократное применение данных для реше- ния различных задач различными должностными лицами). 167 В идеале любая единица данных может храниться в единствен- ном экземпляре, а некоторая разумная избыточность вводится для улучшения эксплуатационных характеристик информационной си- стемы. Информационные системы, построенные на основе баз данных, отличаются гибкостью, хорошей приспособленностью к наращива- нию выполняемых функций, позволяют оперировать разнородной информацией и не требуют высокой квалификации пользователей. Состав автоматизированной информационной системы В состав автоматизированной информационной системы (АИС) входят: технические средства; программное обеспечение; информационная база (ИБ) – совокупность показателей, документов, словарей, массивов информации, а также методов орга- низации их хранения и контроля, обеспечивающих решение задач в системе управления. Различают внемашинную ИБ – совокупность всех документиро- ванных данных и сообщений, используемых в системе, и внутрима- шинную ИБ - совокупность всех данных на машинных носителях, сгруппированных по определенному признаку. АИС, в состав которых входят внутримашинные ИБ, построен- ные на концепции баз данных, получили наименование банка данных. В составе таких АИС выделяют две принципиально важные компоненты: базы данных (БД) как совокупности формализованных данных; системы управления базой данных (СУБД) как самостоя- тельной системы, включающей основные процедуры информацион- ного обслуживания. Система управления базой данных предназначена для реализа- ции типовых процедур информационного обслуживания при созда- нии АИС и входе ее эксплуатации. СУБД работает под управление 168 ОС ЭВМ и расширяет ее возможности по управлению данными (по- дробная информация о СУБД приведена в разделе Системы управле- ния базами данных). Часто АИС рассматривают в узком смысле как совокупность БД и СУБД. Практически все современные информационные системы строятся на основе рассматриваемой концепции. Ее сущность состоит в интеграции данных и централизации управления ими для обеспече- ния многоаспектного использования. Этим обеспечивается необхо- димый уровень независимости между техническими, программными и информационными средствами систем, что позволяет адаптировать последние к текущим требованиям пользователей, а также совершен- ствовать в процессе эксплуатации. В общем случае АИС может включать несколько БД и соответ- ственно СУБД. Эксплуатацию учрежденческой или ведомственной АИС осу- ществляет администратор, в качестве которого выступает должност- ное лицо или группа лиц обслуживающего персонала. На админи- стратора возлагаются следующие задачи: разработка описания БД; формирование и настройке средств СУБД; поддержание целостности БД; выбор алгоритмов обращения к данным; анализ качества работы АИС; реорганизации БД и СУДБ при изменении условий или требований по эксплуатации, защите данных от несанкционированно- го доступа. Пользователями АИС являются должностные лица органов управления. Они обращаются с помощью запросов на поиск данных или их корректировку. Обычно каждый пользователь имеет доступ к определенной совокупности данных для совершения ограниченного набора действий. К АИС обращаются также и программы функцио- нальных задач. 169 Уровни представления данных Для реализации независимости данных от их описания и от ис- пользующих их программ используют многоуровневое представление данных. Многоуровневое представление данных предложено иссле- довательской группой в области баз данных ANSI/SPARC (American National Standards Institute / System Planning and Requirements Committee – Комитет по системному планированию и выработке тре- бований Американского национального института стандартов). Структурная основа этого представления включает три уровня (см. рис. 3.1), каждому из которых ставится в соответствие модель дан- ных. Описания моделей данных средствами СУБД получили название схем. В число уровней входят: Внешний – предназначенный для описания пользовательского представления базы данных. Используется при рассмотрении вопро- сов, связанных со смысловым содержанием информации независимо от способа ее представления в памяти ЭВМ. На этом уровне выделя- ют: объекты предметной области, сведения о которых накап- ливаются в АИС; основные характеристики объектов; связи между ними. Описание данных на внешнем уровне называется инфологиче- ской моделью. Концептуальный – логическое описание части реального мира, моделируемого базой данных. Это основа построения базы данных и является отображением инфологической модели на средства реализа- ции базы с помощью СУБД; Внутренний – служит для описания представления базы данных на машинных носителях. 170 Рис. 3.1 Уровни представления данных Обеспечение независимости структуры базы данных от храни- мой в ней информации основано на том, что разнообразные пользова- тельские представления в виде неоднородных моделей описываются множеством внешних схем. Концептуальная схема дает обобщенное описание пользовательских представлений и не зависит от принципов конкретной реализации базы данных. В свою очередь, структура базы данных определяются собственной внутренней схемой. Введение в рассмотрение трех уровней представления данных приводит к тому, что для обеспечения доступа к данным необходимо обеспечить три уровня отображения: 1) внешняя модель – концептуальная модель; 2) концептуальная модель – внутренняя модель; 3) внутренняя модель – физическая база данных. Первые два типа обеспечиваются СУБД, последний – средства- ми операционной системы компьютера. Отображение внешняя модель – концептуальная модель обеспе- чивает независимость прикладных программ от логической структу- ры, определяемой концептуальной моделью. Изменение этой струк- туры не требует модификации прикладных программ, меняется лишь отображение внешняя модель – концептуальная модель. 171 Отображение концептуальная модель – внутренняя модель обес- печивает независимость логической и физической структур базы дан- ных. Отображение внутренняя модель – физическая база данных обеспечивает независимость операций хранения и обработки данных от используемых технических средств. Модели данных. Реляционные базы данных. Модели данных разделяются на: сетевые; иерархические; реляционные; объектно-ориентированные; постреляционные; многомерные. В настоящее время наибольшее распространение получили ре- ляционные базы данных. Реляционные базы данных – базы данных, основанные на реляционной модели. Слово «реляционный» происхо- дит от английского «relation» (отношение). Для работы с реляцион- ными БД применяют реляционные СУБД. Теория реляционных баз данных была разработана доктором Коддом из компании IBM в 1970 году. В реляционных базах данных все данные представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении кото- рых расположены данные. Запросы к таким таблицам возвращают таблицы, которые сами могут становиться предметом дальнейших за- просов. Каждая база данных может включать несколько таблиц, кото- рые, как правило, связаны друг с другом, откуда и произошло назва- ние реляционные. Реляционной базы данных обладают следующими особенностя- ми: в одной таблице хранятся сведения об однотипных объек- тах, т.е. объектах обладающих одинаковым набором свойств. Объект 172 – компонент предметной области, информацию о котором следует хранить. Объект может быть реальным или абстрактным; каждый столбец таблицы соответствует одному простому свойству объекта. Набор значений одного столбца и совокупность правил, определяющих допустимость значений этого столбца, назы- вается доменом; каждая строка (кортеж) содержит сведения о конкретном объекте (экземпляре объекта); в заполненной таблице не допускается наличие одинако- вых по содержанию строк; таблицы и имена столбцов в пределах каждой таблицы должны быть уникальными; в каждой таблице следует назначить единственный ключ. Ключ может состоять из одного или нескольких столбцов. Ключ обеспечивает однозначную идентификацию любого объекта в табли- це (значение ключа не повторяется в таблице); в таблицах могут назначаться так называемые индексы. Индексы служат для ускорения поиска нужных сведений и для связы- вания таблиц. Индексы позволяют СУБД просматривать БД как бы упорядоченную по его значению. Например, пусть имеется БД або- нентов телефонной сети, и информация в ней упорядочена по ключу - номеру телефона. Поиск по фамилии требует полного просмотра та- кой базы; но если создать индекс по столбцам "Фамилия", "Имя", "Отчество", то такой индекс ускорит поиск сведений об абоненте по его фамилии, имени и отчеству. Индексы можно создавать по любому столбцу или совокупности столбцов. Таблица может содержать не- сколько индексов. Значения индексов могут повторяться; запросы к базе данных возвращают результат (выборку данных) в виде таблиц, которые тоже могут выступать как объект за- просов. Приведем теоретические основы реляционной модели данных. В реляционной модели данные представляются в виде совокуп- ности двумерных таблиц, называемых отношениями. Модель получи- ла название от англ. relation – отношение. 173 Для описания реляционных структур данных используются сле- дующие понятия. Атрибут – элементарная единица данных, значения которой за- носятся в одну из граф таблицы. Атрибуты, позволяющие однозначно выбирать отдельные кортежи, называются ключами отношения. Они содержат уникальные значения. Домен – множество значений, которые может принимать атри- бут. Кортеж – упорядоченный набор значений атрибутов, число ко- торых равно числу граф таблицы (по сути, это строка таблицы). Кор- теж содержит совокупность значений всех атрибутов отношения, ха- рактеризующую один и тот же объект предметной области. Отношение – двумерная таблица (рис. 3.2), представляющая набор однотипных кортежей и удовлетворяющая определенным тре- бованиям: атрибутами отношений могут быть только элементарные данные, взятые из некоторого фиксированного домена; в одном отношении все кортежи имеют одинаковую структуру, в то время как в различных отношениях могут быть раз- ные кортежи; в одном отношении не может быть двух одинаковых кор- тежей; 174 Рис. 3.2. Графическое представление отношения Упорядоченная совокупность имен атрибутов, входящих в от- ношение, с выделением среди них ключей называется логической структурой, или схемой отношения. Совокупность всех схем отноше- ний базы данных называется логической структурой, или схемой БД. В памяти ЭВМ каждое отношение представляется в виде файла. Такой файл состоит из последовательности записей, по одной на каж- дый кортеж отношения. При этом одинаковые записи исключаются. Это следует из требования о необходимости отсутствия в одном от- ношении двух одинаковых кортежей. Все записи должны быть одно- типны, т.е. у них должно быть одно и то же количество полей, поля разных записей должны следовать в строго определенном порядке и в соответствующих полях должна храниться информация одного и того же типа. Нетрудно провести соответствие между основными поняти- ями (табл. 12): 175 Таблица 12. Соответствие между основными понятиями теории баз данных Объект Таблица Отношение Файл Экземпляр строка кортеж запись Атрибут столбец атрибут поле Объекты предметной области находятся по отношению друг к другу в определенных отношениях (функциональных, подчиненно- сти, видовых и т.д.). Существенные отношения должны найти отра- жение в БД. В БД не указываются содержательные аспекты этих от- ношений, а находят отражение только наличие и формальный вид этих отношений: один к одному (1:1). Одному экземпляру объекта А соот- ветствует один экземпляр объекта Б или не соответствует ни один эк- земпляр объекта Б. Это соотношение симметрично. Примером может служить связь таких объектов как «муж» и «жена»; один ко многим (1:М или 1: ¥). Одному экземпляру Объек- та А соответствует любое количество (0, 1, 2, …) экземпляров объек- та Б, а любому экземпляру объекта Б соответствует один экземпляр объекта А. Примером может служить отношение объектов «учебная группа» и «студент»; многие к одному. По сути, этот тип связи эквивалентен предыдущему. Формально существуют связи типа многие ко многим, например между такими объектами «учебные группы» и «учебные дисципли- ны». В реляционных БД этот вид связи обычно не допускается. Если необходимо отобразить такое отношение объектов, то следует его преобразовать к совокупности связей типа один ко многим. Для этого требуется три таблицы: по одной для каждого объекта и третья - для хранения связей между ними (промежуточная таблица). В этой треть- ей таблице для ключа первой таблицы указываются значения ключа второй таблицы. 176 Связывание таблиц осуществляется на основе ключей и индек- сов: в исходной таблице в качестве основы для связи использу- ется ключ; в подчиненную таблицу для обеспечения связи включают те же поля, что и ключи в исходной таблице, но только объявляют их как индексы (значения этих полей в подчиненной таблице могут по- вторяться). Главными достоинствами реляционных БД являются: простота представления данных (табличная форма часто применяется должностными лицами для хранения информации); простота внесения изменений в базу данных; упрощение процедур разграничения доступа к данным в разных таблицах; простота физической реализации двумерных таблиц др. Системы управления базами данных Система управления базами данных (СУБД) – специализиро- ванная программа (чаще комплекс программ), предназначенная для манипулирования базой данных. Для создания и управления инфор- мационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транс- лятор. Таким образом, СУБД определяется как система программного обеспечения, которая позволяет: на стадии создания АИС – формировать описание БД, настраивать типовые средства на конкретные условия применения; на стадии эксплуатации – обрабатывать обращения к базе данных от прикладных программ и/или пользователей и поддержи- вать целостность базы (целостность – это состояние БД, при котором все значения данных правильны в том смысле, что отражают состоя- ние реального мира и подчиняются правилам взаимной непротиворе- чивости). СУБД обеспечивает связь между прикладными программа- 177 ми или пользователями и базой данных. Любой доступ к данным осуществляется через СУБД. Использование СУБД обеспечивает: минимизацию избыточности данных – в предельном слу- чае любые данные могут храниться в одном экземпляре; совместное использование данных многими пользователя- ми; независимость данных от программ; эффективность доступа к данным, как удовлетворение требований по своевременности, достоверности и др.; простоту работы с базой и т.д. Обычно на СУБД возлагается выполнение следующих функций: описание данных; манипулирование данными; заведение базы данных; выполнение запросов; выдача отчетов; сервис (поддержание целостности, справочные функции, восстановление базы). Подавляющее большинство СУБД для персональных компью- теров поддерживает реляционную модель данных. Набор систем, поддерживающих иерархическую, сетевую и другие модели, доволь- но ограничен. К средствам, предназначенным для разработки и ведения баз данных, относятся не только СУБД, но и разнообразные средства их окружения: компиляторы языков программирования СУБД; отладчики; средства разработки меню и экранных форм ввода-вывода данных; средства графического представления данных; интерфейсные средства для доступа к базе в рамках тради- ционных языков программирования и т.д. 178 Классификация СУБД: По типу поддерживаемых моделей данных: СУБД, поддержи- вающие иерархические, сетевые, реляционные и другие модели. По классу используемых аппаратных платформ: СУБД, ориен- тированные на работу в среде больших машин (mainframe) и СУБД и персональных компьютеров различной архитектуры (IBM PC, Apple Macintosh, Sun и т.д.). По типу вычислительных систем: СУБД для автономно исполь- зуемых компьютеров (DBase, FoxBase, Ребус), а также СУБД для ра- боты в глобальных и локальных сетях, так называемые системы управления распределенными базами данных (СУРБД) (MSt Access, Paradox, MSt SQL Server, Oracle, Informix). По степени промышленного освоения: стандартные, промыш- ленно эксплуатируемые типовые СУБД, и системы, в основе которых лежат уникальные разработки. По характеру создаваемых приложений: СУБД, используемые для разработки баз данных средней степени сложности и объема для предприятий малого и среднего бизнеса (MSt Access) и СУБД, пред- назначенные для построения крупных корпоративных баз данных вы- сокой степени сложности (MS SQL Server, которая принципиально позволяет поддерживать несколько сотен баз данных, каждая из кото- рых может удовлетворять информационные потребности десятков и сотен пользователей). В проектировании баз данных выделяются следующие этапы: анализ информационных потребностей; инфологическое моделирование; логическое проектирование; физическая реализация. Анализ информационных потребностей. На этом этапе разра- ботчик базы данных анализирует информацию в исследуемой пред- метной области и определяет, какие задачи будут решаться основны- ми пользователями – должностными лицами – с помощью базы дан- ных. В обязательном порядке на этом этапе определяется, с какими запросами пользователи будут обращаться к базе и какие выходные 179 документы (отчеты) они будут получать. При этом для запросов определяются перечень выдаваемой информации, условия поиска, ча- стота выполнения запроса, кто из должностных лиц его будет выпол- нять. Для отчетов дополнительно определяется форма документа, вы- водимого на печать. Полученные на этом этапе решения оформляют- ся в произвольном виде (обычно табличном). Инфологическое моделирование. Основной задачей этого этапа является разработка инфологической модели предметной области. Исходными данными для этого являются результаты, полученные на предыдущем этапе, а также знания о специфике предметной области. Инфологическая модель должна отображать объекты (сущности) предметной области, их учитываемые характеристики – атрибуты, а также взаимные связи между объектами и атрибутами. Инфологиче- ская модель представляется чаще всего в виде графической диаграм- мы. Кроме формирования инфологической модели, на данном этапе дается характеристика всех атрибутов, учитываемых в базе данных. Она предполагает указание принадлежности атрибута (к объекту или к связи), типа данных, к которому относятся значения атрибутов, их длины, области допустимых значений, ограничений целостности, вы- водимости из значений других атрибутов и ряд других характеристик. Результаты оформляются в табличном виде. Логическое проектирование. Исходными данными являются ре- зультаты, полученные на этапе инфологического моделирования. Ос- новным результатом этого этапа является логическая структура базы, называемая реляционной схемой базы данных. Проектирование реляционных схем является одним из самых сложных и ответственных этапов всего процесса проектирования. Одной из ключевых задач здесь является нормализация отношений, т.е. приведение схем отношений к требуемой нормальной форме. Для нормализации баз данных разработаны специальные методы. Кроме проектирования реляционной схемы, на этапе логическо- го проектирования осуществляется оценка качества будущей базы 180 данных по таким показателям, как ее предполагаемый объем и опера- тивность выполнения запросов. Физическая реализация. На этом этапе в среде выбранной СУБД формируются структуры файлов-таблиц, осуществляется их первона- чальное заведение, разрабатываются файлы-запросы и файлы-отчеты в соответствии с решениями, полученными на первом этапе. Таким образом, промежуточным результатом, полученным на этом этапе, является демонстрационный прототип (макет) базы данных, показы- вающий возможность (или невозможность) реализации всех предъяв- ляемых к ней требований. В случае, если макет удовлетворяет предъявляемым требовани- ям, база данных заполняется до полного объема и передается в опыт- ную эксплуатацию. В противном случае осуществляется возврат на один из предыдущих этапов с целью уточнения полученных на нем результатов. |