Организация баз данных
Достоинства иерархической модели
Сравнение моделей баз данных
Рассматривая преимущества и недостатки известных моделей данных, следует отметить ряд несомненных достоинств реляционного подхода:
§ Простота. В реляционной модели всего одна информационная конструкция, которая формализует табличное представление данных, привычное для пользователей-экономистов.
§ Теоретическое обоснование. Наличие теоретически обоснованных методов нормализации отношений и проверки ацикличности структуры позволяет получать базы данных с заданными характеристиками.
§ Независимость данных. Когда необходимо изменить структуру реляционной БД, это, как правило, приводит к минимальным изменениям в прикладных программах.
Недостатки реляционной модели данных:
§ Низкая скорость при выполнении операции соединения.
§ Большой расход памяти для представления реляционной БД.
§ Простота. Хотя модель использует три информационные конструкции, иерархический принцип соподчиненности понятий является естественным для многих экономических задач (например, организация статистической отчетности).
§ Минимальный расход памяти. Для задач, допускающих реализацию с помощью любой из трех моделей данных, иерархическая модель позволяет получить представление с минимально требуемой памятью.
Недостатки иерархической модели:
§ Неуниверсальность. Многие важные варианты взаимосвязи данных невозможно реализовать средствами иерархической модели, или реализация связана с повышением избыточности в базе данных.
§ Допустимость только навигационного принципа доступа к данным.
§ Доступ к данным производится только через корневое отношение.
Преимущества сетевой модели данных:
§ Универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.
§ Возможность доступа к данным через значения нескольких отношений (например, через любые основные отношения).
Недостатков сетевой модели данных:
§ Сложность, т.е. обилие понятий, вариантов их взаимосвязей и особенностей реализации.
§ Допустимость только навигационного принципа доступа к данным.
По технологии обработки данных базы данных подразделяются на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК. Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных.
Централизованные БД наиболее распространены в настоящее время. Как правило, централизованные БД реализованы в виде одной из следующих архитектур ИС: файл-сервер и клиент-сервер.
Архитектура "файл-сервер"
Такая архитектура предполагает выделение одного из компьютеров сети в качестве главного (рис. 4.22), который называется файловым сервером (файл-сервер). На сервере хранятся совместно используемые файлы и централизованная БД. Емкость дисковой памяти такого сервера больше, чем на обычном компьютере. Файловый сервер используется при этом только как хранилище, а собственно обработка осуществляется на компьютере пользователя. Все другие компьютеры сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. В сети может быть несколько файловых серверов в зависимости от объема решаемых задач.
Архитектура "клиент-сервер"
В концепции клиент-сервер подразумевается, что, помимо хранения централизованной базы данных, главный компьютер (сервер базы данных) должен обеспечивать выполнение основного объема обработки данных.
Программные системы архитектуры "клиент-сервер" состоят из двух частей: ПО сервера и ПО пользователя-клиента. Работа этих систем организуется следующим образом. Программы-клиенты выполняются на компьютере пользователя и формируют запрос, посылаемый к программе-серверу, которая работает на компьютере общего доступа. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Основная обработка данных производится мощным сервером, а на компьютер пользователя посылаются только результаты выполнения запроса. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL. Сервер баз данных используется в мощных СУБД, таких как Microsoft SQL Server, Oracle и др., работающих с распределенными БД.
В настоящее время архитектура клиент-сервер получила признание и широкое распространение как способ организации приложений для рабочих групп и информационных систем корпоративного уровня. Подобная организация работы повышает эффективность выполнения приложений за счет использования возможностей сервера БД, разгрузки сети и обеспечения контроля целостности данных.