3.3. Иерархические базы данных

Иерархическая база данных графически может быть представлена как перевернутое дерево, состоящее из объек­тов различных уровней. Верхний уровень (корень) занимает один объект, второй — объекты второго уровня и т. д.

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

Иерархическая база данных Папки Windows. Иерархи­ческой базой данных является каталог папок Windows (на­пример, гибкого диска). Ее можно увидеть, например, за­пустив файловый менеджер Total Commander, и введя команду [Вид-Дерево каталогов]. Верхний уровень занима­ет корневая папка диска А:. На втором уровне находятся папки Документы, Изображения и Школа, которые являются потомками корневой папки диска А:, а между собой являют­ся близнецами. В свою очередь, папка Изображения являет­ся предком по отношению к папке третьего уровня Фото. На­конец, файл Knacc.bmp является потомком папки Фото (рис. 3.1).

image185

Иерархическая база данных Системный реестр Windows. Иерархической базой данных является также сис­темный реестр Windows (рис. 3.2), в котором хранится вся информация, необходимая для нормального функциониро­вания компьютерной системы (данные о конфигурации ком­пьютера и установленных драйверах, сведения об установ­ленных программах, настройки графического интерфейса и ДР-)-

Содержание реестра автоматически обновляется при ус­тановке нового оборудования, инсталляции программ и т. д.

image187

Иерархическая базы данных «Доменная система имен». Еще одним примером иерархической базы данных является доменная система имен подключенных к Интернету ком­пьютеров. На верхнем уровне находится табличная база дан­ных, содержащая перечень доменов верхнего уровня (всего 269 домена), из которых 12 — административные, а осталь­ные 257 — географические. Наиболее многочисленным до­меном (данные на январь 2008 года) является администра­тивный домен net (около 190 миллионов серверов), а некоторых доменах (например, в географическом доме­не zr) до сих пор не зарегистрировано ни одного сервера.

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

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

image189

База данных «Доменная система имен» должна содер­жать записи обо всех компьютерах, подключенных к Интер­нету, т. е. более 500 миллионов записей. Размещение такой огромной базы данных на одном компьютере сделало бы по­иск информации очень медленным и неэффективным. Реше­ние этой проблемы было найдено путем размещения отдель­ных составных частей базы данных на различных DNS- серверах. Таким образом, иерархическая база данных «До­менная система имен» является распределенной базой дан­ных.

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

Сначала наш запрос, содержащий доменное имя сервера www.microsoft.com, будет оправлен на DNS-сервер нашего

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

В таблице второго уровня будет найден домен microsoft и запрос будет переадресован на DNS-сервер третьего уровня. В таблице третьего уровня будет найдена запись, соотве­тствующая доменному имени, содержавшемуся в запросе. Поиск информации в базе данных «Доменная система имен» будет завершен и начнется поиск компьютера в сети по его IP-адресу.

Контрольные вопросы

1.В чем заключаются характерные особенности иерархических баз данных?

2.Чем различаются между собой иерархические и распределенные базы данных?