- •1.1. Информация и сигналы
- •1.2. Информационные технологии и системы
- •База знаний;
- •Механизм вывода;
- •Интерфейс и пользователь.
- •1.3. Передача и оценка информации
- •1.4. Алгоритмы
- •2.1. Цели создания, назначение и структура еаис
- •2.2. Этапы развития еаис
- •2.3. Ведомственная интегрированная телекоммуникационная сеть
- •3.1. Общие принципы и органы управления
- •3.2. Правовые основы применения электронных документов и информационных технологий в таможенном деле и торговле
- •Глава 1. Общие положения.
- •Глава 2. Условия использования электронной цифровой подписи. Глава 3. Удостоверяющие центры.
- •Глава 4. Особенности использования электронной цифровой подписи. Глава 5. Заключительные и переходные положения.
- •3.3. Основные направления развития
- •4.1. Назначение и классификация вычислительных сетей
- •4.2. Физическая передающая среда для связи компьютеров
- •4.3. Эталонная модель взаимодействия вычислительных систем
- •4.4. Устройства организации взаимодействия в вычислительных сетях
- •4.5. Принципы управления и доступа в вычислительных сетях
- •4.6. Глобальная сеть Интернет
- •4.7. Параметры рабочих станций и вычислительных сетей
- •4.8. Контроль и восстановление
- •4.9. Средства вычислительных сетей таможенных органов
- •5.1. Размещение и организация
- •5.2. Понятия базы данных и системы управления базами данных
- •5.3. Файловая модель
- •5.4. Иерархическая и сетевая модели представления данных
- •5.5. Реляционная модель данных
- •5.6. Системы управления базами данных
- •5.7. Классификация и кодирование
- •5.8. Базы данных еаис
- •5.9. Информационно-поисковые системы
- •Август 14.08.2007
- •Январь 27.01.2007
5.2. Понятия базы данных и системы управления базами данных
Общие понятия
Современные программы работают с большими массивами баз данных (БД), хранящимися на ЭВМ. Средствами их хранения и обслуживания являются базы данных, банки данных, а также системы управления базами данных (СУБД).
В статье 1 Федерального закона «О правовой охране программ для электронных вычислительных машин и баз данных» дается следующее определение этого понятия: «База данных - это объективная форма представления и организации совокупности данных (например, статей, расчетов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».
В свою очередь, несколько БД, взаимодействие которых осуществляется через единую СУБД, составляют банк данных.
Иными словами, БД обеспечивает хранение информации и представляет собой поименованную совокупность данных, организованных по определенным правилам.
262
Система управления базами данных (СУБД) представляет собой пакет прикладных программ и совокупность языковых средств, предназначенных для создания, сопровождения и использования БД, реализуя которые пользователь не вникает в особенности этого процесса.
Иными словами, если собственно БД представляют собой некоторую структуру, описывающую размещение в памяти и связи между данными, то СУБД -средства манипулирования данными. Фактически основное предназначение СУБД - предоставить пользователю возможность работать с БД, не вникая в детали ее компьютерной реализации.
Использование БД фактически невозможно без СУБД. Поэтому сегодня, говоря о БД или СУБД, подразумевают и данные, и средства работы с ними.
Основными функциями БД и СУБД являются:
-
структурирование и ввод данных, описывающих предметную область;
-
хранение данных и их защита;
-
изменение (обновление, добавление и удаление) хранимых данных;
-
формирование запросов с использованием специальных языковых средств;
-
поиск и отбор данных по запросам пользователей;
-
обработка данных и вывод результатов.
Рис.5.7. Схема взаимодействия пользователя с базами данных
Эффективность функционирования ИС существенно зависит от ее структуры (архитектуры), в том числе и от системы организации хранения и скорости использования данных.
263
На практике принято выделять централизованные и распределенные БД. Централизованная БД размещается только на одной ЭВМ. Распределенная БД предполагает размещение данных на нескольких ЭВМ, причем пользователь, работающий с ними, может не знать, что данные размещаются в нескольких местах (в том числе и в сети Интернет). Распределенные БД являются более надежными, поскольку при отказах одной из ЭВМ (одной БД) они продолжают функционировать. Кроме этого, в распределенных БД можно создавать и хранить резервные копии данных на нескольких ЭВМ. Наличие таких копий часто уменьшает время доступа к нужным данным.
Одной из наиболее сложных проблем распределенной БД является ее обновление (модификация) и пополнение, поскольку для модификации ее отдельного блока данных (в отличие от централизованной БД) потребуется проведение этой операции одновременно на нескольких ЭВМ.
ДРУГИМ PC ВЫЧИС- рис if g Организация работ с данными в вычислительной сети
лительной сети.
Если к БД имеют доступ множество пользователей, то возникает необходимость назначения администратора базы данных, отвечающего за правильность и своевременность модификации справочников и индексных файлов, поддержку работы БД, восстановления данных при нарушении их целостности, определения прав доступа отдельных пользователей и т.д.
Организация доступа к базам данных
Сетевое программное обеспечение предусматривает его одновременное использование многими пользователями.
Как правило, одним из ресурсов, к которому должен быть организован доступ, является БД вычислительной сети.
264
В настоящее время выделяют три основные концепции (технологии) доступа к данным на сервере и построения сетевого программного обеспечения.
При первой концепции пользователям предоставляются ресурсы некоторой общедоступной ЭВМ, называемой файловым сервером. Его основным ресурсом являются файлы, содержащие программные модули или данные.
Сетевая операционная система (ОС) устанавливается на файловом сервере, а на PC устанавливается только небольшая оболочка, обеспечивающая взаимодействие сервера с программами, обращающимися к его ресурсам.
Прикладные программы, необходимые пользователю, также могут храниться на сервере. Однако вся обработка данных, даже если они являются общим ресурсом и хранятся на сервере, производится на PC пользователя. Для работы с ними пользователь должен перенести с сервера все файлы, необходимые для обработки, и соответствующие программы на свою PC. Это происходит, например, если нужно выбрать несколько записей одного из файлов ЦБД на сервере. При файловой технологии (файл может содержать большое количество записей) по запросу пользователя на его PC будет скопирован весь файл, в котором надо найти несколько записей. В этой ситуации длительное время будет занят канал передачи данных, а к PC следует предъявлять повышенные требования по производительности. Кроме того, возникают также проблемы обновления ЦБД, если с этим файлом работают еще несколько PC. В частности, надо блокировать работу одних PC, если они должны использовать данные, измененные другими PC. Таким образом, вся тяжесть выполнения запросов к ЦБД и управления БД ложится на приложение пользователя.
При второй концепции клиент-сервер программы-клиенты выполняются на PC пользователя и посылают запросы к программе, установленной и работающей на сервере. При этом основная обработка данных выполняется мощным сервером, а на PC пользователя высылаются результаты выполнения запроса. В то же время пользователь может некоторые виды обработки выполнять и на своей ЭВМ. По такой технологии работают современные СУБД: Microsoft SQL Server, Oracle и др. Клиентскими программами обычно являются текстовые и табличные процессоры. В роли программ-серверов чаще всего выступают СУБД.
Иными словами, особенностью технологии клиент-сервер является то, что по запросу клиента сервер не просто выбирает необходимые клиенту файлы с данными, но производит с ними необходимые вычислительные операции и отправляет клиенту уже результат обработки. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; он лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю.
По сети передаются только нужные клиенту данные, а не весь файл, что снижает нагрузку на сеть, время ожидания результата запроса, повышает быстродействие и в целом производительность всей вычислительной сети.
При выполнении запросов сервером также существенно повышается степень безопасности данных, поскольку правила целостности данных ЛВС определяются в одном месте - на сервере. Это, в частности, позволяет исключить
265
одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность быстрого возвращения к предыдущим значениям при внесении в БД изменений, закончившихся аварийно.
При такой технологии сервер должен иметь быстродействие и производительность существенно выше, чем PC. Это требование только к одной ЭВМ сети, а в результате сокращается объем пересылаемых данных и сокращается время решения задач пользователя.
Третья концепция - технология Intranet - по сути является распространением идеологии организации и функционирования глобальной сети Интернет на корпоративные сети. Вычислительные сети, построенные на ее основе, имеют в своем составе множество серверов с информацией и распределенные компоненты представления информации пользователю (программы-навигаторы, или браузеры) и используют форматы документов, протоколы передачи данных и способы поиска информации, присущие Интернет.
Взаимодействие пользователя с ИС происходит с помощью программы, называемой браузером.
Внедряемая таможенной службой система электронного декларирования существенно повышает возможность использования элементов Интранет.
Классификация моделей баз данных
База данных (БД) содержит информацию, характеризующую некоторую предметную область и представленную в виде описаний реальных объектов (или процессов). Каждый объект определяется набором свойств, называемых атрибутами. Поэтому при разработке БД необходимо выбрать модель описания (представления) объектов предметной области и их взаимодействия.
Модель данных - это совокупность взаимосвязанных структур данных и операций над этими структурами.
Обычно выделяют три основных типа моделей: концептуальные, логические и физические.
На начальном этапе создания БД строится концептуальная модель, отражающая структуру информации предметной области. При этом надо учитывать объем данных, ограничения на время поиска, возможные варианты запросов и т.п. Затем определяется наиболее приемлемая логическая модель данных, после чего подбирается СУБД, поддерживающая эту логическую модель. В последующем пополнение и изменение БД, извлечение из нее необходимой информации ведутся с помощью СУБД.
Концептуальная модель представляет собой описание на понятийном уровне объекта, его свойств и взаимодействия с внешней средой. В специальной литературе эту модель иногда называют инфологической. Она разрабатывается в процессе изучения предметной области и запросов потенциальных потребителей создаваемой АИС и является основой для создания логических моделей. Концептуальная модель отображает предметную область без привязки к мето-
266
дам, техническим и программным средствам, используемым в дальнейшем при создании БД.
Главными элементами концептуальной модели являются объекты и отношения, информация о которых важна для пользователей создаваемой БД. Множество объектов (вещей) одного типа называют объектным множеством. Зачастую концептуальная модель представляет собой некоторую конструкцию, в которой элементами являются именно объектные множества. В концептуальной модели должны быть также отражены информационные потоки и взаимосвязь информационных элементов (отношения между парами элементов). Отношения показываются на рисунке модели линиями-связями. Если элементы модели представляют собой объектные множества, то каждое отношение также будет множеством, состоящим из отношений конкретных пар объектов-элементов из соответствующей пары объектных множеств.
Рассмотрим, например, вариант концептуальной модели БД с данными об участниках ВЭД, перемещающих товары через таможенную границу (рис. 5.9).
Участник ВЭД должен представить в таможню некоторую информацию о себе, зарегистрироваться в качестве лица, перемещающего товары через границу. В последующем эта информация используется при таможенном контроле.
На рисунке 5.9 показана концептуальная модель БД, которая должна содержать для каждого участника ВЭД сведения о его идентификационном таможенном номере (ИТН), рублевых и валютных счетах с указанием адреса банка, номера счета и кода валюты. Кроме того, среди участников должны быть выделены физические и юридические лица, для каждого из которых в БД необходимо иметь определенную информацию.
Некоторые специалисты в концептуальную модель включают описание не только представления и взаимодействия объектов, но и средств обеспечения безопасности или целостности и др.
267
Логическая и физическая модели используются для описания структур данных и программирования операций над ними.
В логической модели еще нет четкой привязки к внутренним форматам ЭВМ (машинному представлению данных в памяти ЭВМ). Однако в ней прописывается структура данных, иерархия между отдельными их структурными единицами, последовательность просмотра при поиске необходимой информации в БД. Иными словами, при разработке логической модели БД решаются вопросы отображения объектов предметной области в абстрактные объекты модели данных.
Для случая на рис. 5.9 логическую модель можно, например, представить в виде четырех таблиц, содержащих следующую информацию:
-
имена и адреса физических лиц;
-
имена и адреса юридических лиц;
-
имена и банковские реквизиты физических лиц;
-
имена и банковские реквизиты юридических лиц.
При этом, исходя из возможных запросов, надо определить, какую информацию будет представлять каждый столбец перечисленных таблиц.
В большинстве используемых сегодня БД пользователь, как правило, в своих запросах оперирует на уровне логической модели.
Физическая модель описывает представление и размещение данных непосредственно в памяти ЭВМ. При этом надо знать объем памяти, отводимой в ЭВМ для размещения каждого элемента данных, а также форматы представления чисел и т.п. Такая модель нужна программистам, которые разрабатывают СУБД или прикладные программы. Если логические модели можно считать достаточно стандартизованными, то физические модели различных БД обычно существенно различаются.
Понятия БД и СУБД стали использоваться, когда появились ЭВМ для создания ИС. Однако и до этого существовала проблема хранения и обработки больших массивов информации. При этом в качестве объекта хранения информации в большинстве случаев использовались бумажные носители. Одним из классических примеров хранилищ бумажных документов является библиотека. При большом числе документов возникает задача быстрого поиска нужных документов. Уже тогда был разработан ряд методов быстрого поиска документов и удобных для восприятия человеком форм представления информации. В частности, для ускорения поиска информация представлялась в виде упорядоченных списков или использовались классификаторы по темам. В библиотеках до сих пор существуют бумажные алфавитные указатели (списки). Зная фамилию автора, по ним можно быстро найти карточку, на которой указано место нахождения документа (книги). В ряде случаев использовались списки иерархической структуры. Например, для оформления заявки на патент надо знать подобные изобретения (аналоги). Для ускорения поиска аналогов все изобретения классифицируются сначала на классы по областям применения, а затем в каждой области дается более детальная градация. Поэтому, зная область применения предлагаемого патента и его характерные особенности, можно достаточно быстро провести поиск аналогов, не просматривая весь массив патентов.
268
Для компактного представления информации при бумажном документообороте часто используются таблицы.
Многие способы представления и методы обработки информации на бумажных носителях в той или иной форме реализованы и в моделях представления данных современных компьютерных ИС.
Логическая организация данных и используемые программные средства для работы с данными - взаимосвязанные составляющие. Каждая СУБД работает с определенной логической организацией данных. В свою очередь, выбранная модель логической организации данных в значительной мере определяет алгоритмы работы с ними.
Базы данных хранятся на внешних устройствах памяти, но при выполнении запросов данные или их часть переносятся в оперативную память, где с ними и производятся различные операции. Это связано с тем, что обращение к оперативной памяти требует меньшего времени, чем к внешней памяти.
В зависимости от реализуемой логической модели установления связей между совокупностью данных различают файловые, иерархические, сетевые, реляционные и объектно-ориентированные, объектно-реляционные и др. БД.
Ниже рассмотрены только первые четыре из вышеперечисленных моделей, особенности организации которых приведены в табл. 5.1.
Таблица 5.1
Характеристика способов организации данных
Модели организации данных |
Особенности доступа |
Файловая (с последовательным доступом к данным) |
Объекты описываются в форме записей. Записи просматриваются последовательно одна за другой. Записи считаются независимыми |
Файловая (с произвольным доступом к данным) |
Объекты описываются в форме записей. Поддерживается прямой доступ к заданной записи. Записи считаются независимыми |
Иерархическая |
Объекты описываются в форме записей. Предполагаются иерархические отношения между данными. Обеспечивается доступ к нескольким предкам одной записи. Для доступа используются указатели в записях |
Сетевая |
Объекты описываются в форме записей. Возможны иерархические и неиерархические отношения между записями. Для доступа используются указатели в записях |
Реляционная |
Данные представляются в форме таблиц. Поддерживаются произвольные логические отношения между таблицами. Для реализации запросов к данным используется реляционная алгебра |
Другие модели, в частности объектно-ориентированные, сегодня активно разрабатываются, однако их теория еще не сформировалась, нет и установившейся терминологии. Основной особенностью этих моделей является использо-
269
вание более естественных для человека языков описания данных и запросов. Так, в объектно-ориентированных моделях пользователь размещает в БД и оперирует объектом как цельной единицей данных, ему не надо представлять его в виде искусственной конструкции из записей или таблиц. Кроме того, особенностью этой модели является использование современных языков программирования и распределенных БД, фрагментация и параллельная обработка запросов и др. Однако для работы с объектно-ориентированными данными требуются существенно более сложные и дорогие СУБД.
Заметим, что форматы и языки описания документов, помещаемых в БД, также вносят ряд особенностей в реализацию СУБД. Например, активно разрабатываются СУБД, проектирование которых ведется с использованием расширяемого языка разметки XML (Extensible Markup Language) [22].
Однако до сих пор наиболее распространены реляционные БД, причем в своем развитии они приобретают некоторые свойства, присущие объектно-ориентированным БД. Так, объектно-реляционную модель можно рассматривать как некоторое развитие реляционной модели. При работе с БД, построенной на основе такой модели, пользователь оперирует объектами, но информация о них представлена в БД в форме таблиц. Например, пользователь может обращаться с объектами, как и в объектно-ориентированных БД, а СУБД сама преобразует данные об объекте в таблицы и обратно.