Йерархична база данни

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Йерархичните бази данни са един от типовете бази данни, при който данните се съхраняват в предварително определена йерархия, т.е. в дървовидна структура от данни.

Една релация от базата данни се представя във вид на таблица, в която всеки ред представлява отделен запис от таблицата и отговаря на един екземпляр на класа, а всяка колона е отделен атрибут на класа. Отделните таблици се свързват помежду си в отношение от вида "едно към много" (1:N), т.е. "родител / наследник", и в частност в отношение "едно към едно" (1:1). При отношение от вида 1:N един запис от първата таблица може да се свърже с много записи от втората таблица, но един запис от втората таблица може да се свърже само с един запис от първата. Връзката между таблиците се реализира посредством указател или чрез физическата подредба на записите в паметта, а достъпът до данните се осъществява, като се започва от корена и се обхожда дървото надолу до откриване на търсените данни.

Предимство на този йерархичния модел се състои в бързия достъп до данните, силно опростен на логическо ниво. На физическо ниво обаче това предимство се отразява в съхраняването на голямо количество излишна (многократно повтаряща се) информация, което е недостатък на модела. По подразбиране йерархичната база данни се проектира еднократно в началото и не се предполага структурата ѝ да се променя по време на изпълнение.

Една идея напред в развитието на йерархичния модел на база данни представлява мрежовият модел на бази данни, позволяващ отношения от вида "много към много".

Източници[редактиране | edit source]

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Hierarchical model“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.