Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast_1.doc
Скачиваний:
63
Добавлен:
10.11.2018
Размер:
6.45 Mб
Скачать

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

Общие понятия

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

В статье 1 Федерального закона «О правовой охране программ для электрон­ных вычислительных машин и баз данных» дается следующее определение этого понятия: «База данных - это объективная форма представления и организации совокупности данных (например, статей, расчетов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».

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

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

262

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

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

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

Основными функциями БД и СУБД являются:

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

  • хранение данных и их защита;

  • изменение (обновление, добавление и удаление) хранимых данных;

  • формирование запросов с использованием специальных языковых средств;

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

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

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

Рис.5.7. Схема взаимодействия пользователя с базами данных

Эффективность функционирования ИС существенно за­висит от ее структу­ры (архитектуры), в том числе и от сис­темы организации хранения и скоро­сти использования данных.

263

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

Одной из наиболее сложных проблем распределенной БД является ее обнов­ление (модификация) и пополнение, поскольку для модификации ее отдельно­го блока данных (в отличие от централизованной БД) потребуется проведение этой операции одновременно на нескольких ЭВМ.

В большинстве реальных ЛВС имеются несколько БД, включающих централь­ную (общую) базу или банк данных (ЦБД ) и персональные БД ( ПБД ). При этом ЦБД размещается на сервере, а ПБД - на рабочих станциях (рис. 5.8.). Использование в ЛВС такой структуры БД наиболее эффективно, поскольку разные пользовате­ли могут работать с разными программными средствами и решают разные задачи. Наличие ПБД не исключает воз­можности обраще­ния с запросами к ЦБД, а оконча­тельные результа­ты работы поль­зователя могут пе­ресылаться в ЦБД, после чего стано­вятся доступны

ДРУГИМ 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].

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]