Тема №14

14 ОБЩИЕ СВЕДЕНИЯ О БАЗАХ ДАННЫХ.

ИЕРАРХИЧЕСКАЯ И СЕТЕВАЯ МОДЕЛИ ДАННЫХ

14.1 Понятие базы данных

Базу данных в общем смысле можно определить как определенным образом организованную совокупность данных. В этом смысле к базам данных можно причислить и справочник, и словарь, и энциклопедию, и телефонную книгу, и сборник кулинарных рецептов.

Концепцию баз данных разработала американская компания IBM в 1970 г. Разработчик концепции Джеймс Мартин дал следующее определение базы данных.

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

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

Атрибут — это информационное отображение свойства объекта. Например, объект «книга» характеризуется атрибутами: «наименование», ♦ авторы», «количество страниц», «тираж», «цена» и др.

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

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

В базе данных информация хранится централизованно. Многие могут иметь возможность доступа, просмотра и изменения данных — все в одно и то же время, пользуясь при этом самой последней версией информации. Централизованное хранение позволяет легче изменять данные, согласовывать их, экономить дисковое пространство.

Организация данных в базах дает возможность поиска, анализа и отображения данных.

База данных представляет собой новый подход к организации данных по сравнению с файловой организацией, который позволяет осуществлять обращение к данным без знания физического расположения их в памяти компьютера, вследствие чего доступ к данным и их обработка более просты. Разработка прикладных программ, использующих базу данных, становится проще, быстрее, дешевле. В этом главные преимущества базы данных над файловой организацией данных.

14.2 Приложения базы данных

Приложениями базы данных являются:

• Запросы. Запрос — это требование пользователя на отбор данных из базы и/или на выполнение определенных действий;

• Формы. Формы используются для разных целей. Наиболее часто они применяются для ввода, просмотра и редактирования данных;

• Отчеты. Отчет — это представление информации из базы данных в виде, удобном для ее восприятия и анализа пользователем;

• Web-страницы, предназначенные для публикации базы данных и сети Интернет;

• Прикладные программы. Прикладная программа — это программа, работающая с базой данных и написанная на языке программирования, встроенном в систему управления базами данных (СУБД).

СУБД – программная система, управляющая данными, входящими в состав базы данных.

14.3 Компоненты базы данных

База данных состоит из четырех основных элементов:

• данных пользователей;

• метаданных. СУБД производит описание структуры базы данных. Это описание носит название метаданных. Метаданные еще определяют как данные о данных. Чаще всего они хранятся в форме таблиц, называемых системными;

• данных, призванных улучшить производительность и доступность базы данных. Эти данные состоят главным образом из индексов;

• метаданных приложений. Это описания структуры и формата пользовательских запросов, форм, отчетов и других приложений, выполненные СУБД.

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

14.4 Модели данных

14.4.1 Трехуровневая модель организации баз данных

В настоящее время используется трехуровневая модель организации баз данных, предложенная в 1975 г. комитетом по стандартизации ANSI (American National Standards Institute) (рисунок 14.1). Одна и та же база данных имеет различные уровни описания.

Внешний уровень — это представление о базе данных отдельных пользователей и прикладных программ. Каждый пользователь, каждая прикладная программа видят и обрабатывают только те данные предметной области, которые им необходимы. Например, прикладная программа, используемая отделом кадров, обрабатывает сведения о сотрудниках, их адресе, стаже работы и не оперирует данными о заработной плате.

На концептуальном уровне база данных представляется обобщенно — объединяются данные, используемые различными пользователями и прикладными программами. Концептуальный уровень фактически определяет обобщенную модель предметной области и не содержит никаких сведений о методах хранения данных.

Внутренний уровень поддерживает представление базы данных в памяти компьютера.

Рисунок 14.1 – Трехуровневая модель организации баз данных

Первоначально исследования в области баз данных были направлены на разработку способов структуризации данных, получивших название «модели данных».

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

Классическими являются иерархическая, сетевая и реляционная модели данных. Кроме того, при разработке баз данных в последнее время активно используются такие модели, как пост-реляционная, объектно-ориентированная, объектно-реляционная и многомерная модели.

14.4.2 Иерархическая модель

В иерархической модели связи между данными можно представить с помощью дерева. На рисунке 14.2 показан пример организации данных по иерархической модели. Данные в такой модели расположены на разных иерархических уровнях и называются сегментами. Самый высокий сегмент имеет название «корневой». Сегменты, расположенные на более низком уровне, называются сегментами-потомками; на более высоком уровне — сегментами-предками. Каждый сегмент может иметь только одного предка на более высоком уровне и одного или несколько потомков на более низком уровне. Доступ к определенному сегменту осуществляется по цепочке — от сегмента-предка к сегменту-потомку, начиная слева.

Рисунок 14.2 – Пример организации данных по иерархической модели

В качестве примера приведем иерархическую модель данных базы, предназначенной для анализа выполнения проектов. В этой базе в качестве сегментов выступают сегменты ЗАКАЗЧИК, ПРОЕКТ, ИСПОЛНИТЕЛЬ.

Указанная модель представлена на рисунке 14.3.

Рисунок 14.3 - Иерархическая модель базы данных, предназначенная для анализа выполнения проектов

Иерархическая модель используется для представления организационных структур, по своей природе являющихся иерархическими (например, крупных предприятий, воинских подразделений), или сложных механизмов, состоящих из более простых узлов, которые, в свою очередь, можно подвергнуть декомпозиции. Организовать более сложные связи в такой модели невозможно. Например, если исполнителю необходимо участвовать в нескольких проектах, то потребуется создание дополнительной базы данных.

Недостатком иерархической модели является ее громоздкость для обработки данных со сложными логическими связями. К достоинствам данной модели относится эффективное использование памяти компьютера при хранении данных.

14.4.3 Сетевая модель

Сетевая модель является развитием иерархической модели. В отличие от иерархической в сетевой модели потомок может иметь любое количество предков. Сегменты, которые в сетевой модели называются наборами записей, связываются между собой по принципу не только «сверху вниз», но и «по горизонтали» с помощью наборов связей. На рисунке 14.4 приведен пример организации данных по сетевой модели.

Рисунок 14.4 – Пример организации данных по сетевой модели

На рисунке 14.5 представлена сетевая модель базы данных для анализа выполнения проектов.

Для связи записей ПРОЕКТ и ИСПОЛНИТЕЛЬ вводится запись ИСПОЛНИТЕЛЬ_ПРОЕКТ. Доступ к данным осуществляется не только «сверху вниз», но и по горизонтальным наборам связей.

К достоинствам сетевой модели данных относятся возможность образования произвольных связей и быстрый доступ к данным. Недостатками сетевой модели являются сложность ее понимания для обычного пользователя и большие объемы памяти компьютера на хранение данных.

Рисунок 14.5. – Сетевая модель базы данных для анализа выполнения проектов