Йерархични бази от данни
от Уикипедия, свободната енциклопедия
Йерархичен модел на данните. Структурата на данните се дефинира в термините: елемент на данните, агрегат, запис, групово отношение, база от данни. При йерархичната структура, един подчинен запис може да участва само в едно отношение от вида 1:1 или 1:М. За графичното изобразяване на йерархичната структурата също е удобно да се използват диаграми на Бахман. Най-съществена разлика между йерархичния модел и мрежовия е в това, че йерархичният модел на данните може да има само дървовидна структура (фиг. 1.5.2). Дърво се нарича съвкупност от коренов запис и множеството от подчинените му записи от други типове. Броят на дърветата в базата от данни се определя от броя на кореновите записи.
В йерархичния модел груповите отношения не се именуват, тъй като те се определят от единсвена двойка записи. Собственикът се нарича още изходен запис. Членовете на груповото отношение са подчинени записи. До всеки запис от базата съществува само един път от кореновия запис (нарича се йерархичен път). За подреждане на подчинените записи най-често се използва сортиране по нарастване на стойностите на ключовата данна. Кореновият запис задължително трябва да съдържа ключова данна (за кратност: ключ) с уникални стойности. Ключовете на подчинените записи трябва да бъдат с уникални стойности само в екземплярите на груповото отношения. Всеки запис се идентифицира с верижен ключ – съвкупност от всички записи, от кореновия запис до конкретен запис, по йерархичния път. Всяка мрежова структура може да бъде представена със средствата на йерархичния модел, като след преобразуване на мрежата тя се представя чрез няколко дървовидни структури. За груповите отношения в йерархичния модел на данните се осигурява автоматичен режим на включване и фиксирано членство. Това означава, че за поместване на кой да е некоренов запис в базата трябва да съществува негов изходен запис. Подчиненият запис твърдо се фиксира към изходния и не може да съществува в базата без него. При премахване на изходен запис автоматично (каскадно) се премахват и всички негови подчинени записи. И в йерархичния модел основна единица за обработка е записът. Операциите над записите са: - запомняне, - извличане, - актуализиране, - премахване. При запомняне, в базата от данни се помества нов запис. За кореновия запис задължително се формира ключ. Системата не допуска запомняне на два екземпляра на коренов запис с еднакви ключове. За успешно запомняне на запис, в базата трябва да има негов изходен запис. При актуализация се изменят стойностите на данните в предварително извлечен запис. Ключовите данни на записите не подлежат на обновяване. Операцията извличане на запис има няколко модификации в йерархичния модел на данните. Коренов запис може да бъде извлечен според стойността на ключа му. Освен това се допуска последователно преглеждане на кореновите записи. Всяка обработка на базата започва само с екземпляр на кореновия запис. За операцията извличане се допуска задаване на филтърни условия за извличането. Например, извличането на данни за студенти може да се ограничи само до посочена студентска група. В йерархичния модел няма операция преход към собственика на груповото отношение. Тя не е и необходима. Структурата на базата от данни е дървовидна, така че некоренов запис може да бъде подчинен само на един изходен запис (собственик), а за достъп до този некоренов запис е неизбежно преминаването през изюходния му запис. Системата съхранява информация за преминатите записи по йерархичния път. Следователно, операцията извличане на собственика на групово отношение губи смисъла си при йерархичния модел на данните. ОБОБЩЕНИЕ на йерархичния модел:
1. Записите с данни са организирани в дървовидни структури. 2. Основна единица на обработката в йерархичния модел на данните е ЗАПИСЪТ. 3. Обработката може да бъде започната само с коренов запис, а достъпът до некореновите записи се осигурява по йерархичния път до всеки от тях. Движението през груповите отношения е само надолу – от изходния към подчинените му записи. 4. От извлечен запис са възможни преходи само към подчинените му записи.