Теория СУБД

ВИДЫ СТРУКТУР БАЗ

База данных (БД) — это электронное хранили­ще какой-либо инфор­мации, имеющее свою определенную, наибо­лее удобную и функциональную структуру. Для создания баз данных и работы с ними используют различные СУБД (системы управления базами данных). Базы данных различаются по своей структуре: дореляционные (на инвертированных списках, иерар­хические системы и сетевые СУБД), реляционные и постреляционные (например, объектные).

СИСТЕМЫ, ОСНОВАННЫЕ НА ИНВЕРТИРОВАННЫХ СПИСКАХ

К числу наиболее известных представителей можно отнести Datacom/DB от компании Applied Data Research, Inc. (ADR). Организация дос­тупа к данным, основанная на инвер­тированных списках, очень распрост­ранена и применяется практически во всех современных реляционных СУБД. С тем лишь отличием, что в этих системах пользователи не имеют непосредственного доступа к инвер­тированным спискам (то есть к индек­сам). Общие правила для ограниче­ния целостности отсутствуют, и все возлагается на плечи прикладной программы.

ИЕРАРХИЧЕСКИЕ СИСТЕМЫ

Типичным представителем иерар­хических систем является Information Management System (IMS) фирмы IBM. Первая версия этого продукта вышла в свет в 1968 году.

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

Для этой модели существуют некото­рые базовые правила. Никакая запись-потомок не может существовать без за­писи-предка. Согласись, ветка, висящая в воздухе без дерева, — это бред! И вет­ка не может расти от двух деревьев сразу, то есть запись-потомок может иметь только одного предка.

СЕТЕВЫЕ СУБД

Типичным представителем сете­вых СУБД является Integrated Database Management System (IDMS), созданная в компании Cullinet Software, Inc. Отличие таких СУБД от разработанных с помощью иерар­хического подхода кроется в осо­бенностях сетевой структуры дан­ных: потомок может иметь больше одного предка. РЕЛЯЦИОННАЯ МОДЕЛЬ ХРАНЕНИЯ ДАННЫХ

Вообще реляционная база данных представляет собой таблицу, в кото­рой в качестве столбцов выступают названия хранимых в ней данных.

Причем в каждом столбце может быть только один, свой тип данных, а каж­дая строка хранит эти самые данные. Между таблицами существуют раз­личные связи.

АРХИТЕКТУРЫ СУБД: ТЕХНОЛОГИЯ ЛОКАЛЬНЫХ (НАСТОЛЬНЫХ) БД

База данных хранится во внешней памяти компьютера, за которым рабо­тают один или несколько человек, или на выделенном сервере, доступ к которому осуществляется по сети.

clip_image005

Локальными или настольными назы­вают СУБД типа Access, Paradox и т.д. В них уже есть свой формат данных, который учитывает параллельное вы­полнение операций, возможность доступа к БД нескольких пользовате­лей и т.д. (в принципе, в клиент-сер­верных ОС БД тоже часто хранятся в файлах на диске, к которым идет дос­туп средствами ОС, за исключением гигантов типа Oracle, где есть своя файловая система). Делается это, ко нечно, менее эффективно, чем в кли­ент-серверных СУБД.

Недостатки становятся очевидными не сразу, а по мере увеличения коли­чества данных и числа пользовате­лей. Если снижается производитель­ность и случаются сбои, то знай, что с этими недостатками ты уже познако­мился. Объяснить это можно доволь­но просто: при выполнении какого-ли­бо запроса от клиента программе не­обходимо прочитать некоторую часть БД из памяти (вся база в память не считывается — это было бы слишком неэффективно), что-то там намутить (в зависимости от запроса) и потом снова записать в память. Представь, сколько данных идет по сети, если БД хранится на выделенном сервере! А если база весит 10 Гб?…

Реальными минусами настольных СУБД являются: неэффективное рас­ходование сетевого трафика и низкая эффективность при большом количе­стве пользователей.

Однако решение этой проблемы есть. Тебе на помощь придет одна из самых известных и распространенных сейчас технологий — "клиент-сервер".

АРХИТЕКТУРЫ СУБД: ТЕХНОЛОГИЯ "КЛИЕНТ-СЕРВЕР"

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

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