Мрежови бази от данни
от Уикипедия, свободната енциклопедия
Мрежов модел на данните Мрежовият модел на данните е създаден от Ch. Bachmann, 1964 г. Моделът е развиван и усъвършенстван от групата DBTG CODASYL през периода 1965 -1975 г. В мрежовата структура на данните се поддържат двата типа записи: родителски и дъщерни (подчинени). Дефиниция: Мрежова е структура от данни, в която всеки дъщерен запис може да има неограничен брой родителски записи. Мрежовата организация на данните е съставена от: - елемент на данните; - агрегат на данните; - група (запис); - групово отношение (отношение между записи). Възможни групови отношения са: 1:1, 1:М, М:N; - база от данни. По дефиниция, в мрежовия модел на данните един и същ тип запис може да бъде член в няколко групови отношения. При графично изобразяване, груповите отношения се обозначават с дъгите на ориентиран граф, а типовете на записите са върховете в графа. Такова изобразяване се нарича диаграма на Бахман. Всеки тип групово отношение се характеризира със следните признаци: (1). Начин на подреждане на подчинените записи в отношението: - произволно подреждане - хронологично (FIFO) - обратно хронологично (LIFO) - сортирано (по ключ на подреждането. Мястото на всеки запис се определя от стойността на неговия ключ). (2). Режим на включване на подчинени записи в групово отношение: - автоматичен - ръчен (3). Клас на членство на подчинените записи в груповото отношение: - фиксирано - задължително - незадължително (4). Режим на изключване на записи от отношението: - просто изключване на подчинен запис с незадължително членство - изключване на подчинен запис от едно отношение и задължително включване към друго отношение - отстраняване на родителски запис с каскадно отстраняване на всички негови подчинени записи. Основна единица за обработка е записът. Обработката може да се започне със запис от всякакъв тип. Възможни са преходи от един тип запис към всеки негов родителски или подчинен запис. Пример 1.5.1. В записа за ЖИТЕЛ може да има повтарящ се агрегат с променлива дължина: Предишно_място_ на_работа. Един елемент или съвкупност от елементи на данните в записа може да се назначи за първичен ключ на този запис, ако стойностите на този елемент или съвкупност от елементи идентифицират еднозначно екземплярите на записа. Групово отношение се нарича връзката между записи от два типа. Записите от единия тип са собственици (притежатели, родителски записи) на отношението. Записите от другия тип са членове на отношението (или подчинени, дъщерни записи). Типът на груповото отношение се определя чрез името му и задава свойства, които са общи за всички екземпляри от дадения тип. Екземплярът на груповото отношение се представя от записа-собственик и от множеството (което може да бъде празно) на подчинените му записи - членове на груповото отношение). Един екземпляр на подчинен запис не може да участва в два екземпляра на групово отношение от един и същ тип. Eдин и същ тип запис може да бъде член в няколко групови отношения и едновременно да бъде собственик в други отношения. Когато се дефинира групово отношение, ориентацията е към един тип на записът-член. Такъв мрежов модел на данните допуска също и групови отношения, в които са дефинирани няколко типа записи-членове. В екземплярите на такова групово отношение могат произволно да се редуват подчинени записи от няколко типа.
ПРАВИЛО: В една група има толкова екземпляри, колкото са екземплярите на собственика на групата. С други думи, всеки екземпляр на собственик на отношение дефинира екземпляр на групата.
Дефиниция за прост мрежов модел: В един прост мрежов модел всички отношения са от вида 1: М (или 1:1) и поне един тип подчинен запис е член на повече от една група. Комплексните мрежи (M : N) могат да бъдат редуцирани до прости мрежи. Всеки тип групово отношение се характеризира със следните признаци: (1). Начин на подреждане на подчинените записи в отношението; (2). Режим на включване на подчинените записи в отношението; (3). Клас на членство на подчинените записи в груповото отношение; (4). Режим на изключване на записи от отношението. Начин на подреждане означава в каква последователност са записани подчинените записи в списък, съответстващ на записа-собственик. Допускат се следните начини на подреждане: (1). Произволен. (2). Хронологичен (в списъка записите се подреждат според реда на постъпването им, FIFO). (3). Обратно хронологичен (тип стек, LIFO). (4). Сортиран (тук се определя ключ на подреждането. Мястото на нов запис се определя от неговия ключ). Възможни са два режима на включване на подчинените записи в отношението: (1). Автоматичен (2). Ръчен При автоматично включване, щом един запис бъде поместен в базата от данни, той едновременно се включва в някое групово отношение. Тук записът-собственик трябва да бъде поместен в базата от данни преди записите-членове. При ръчно включване е възможно един запис да бъде поместен в базата от данни и за известно време може да не бъде включен в нито едно групово отношение. Има три класа на членство на подчинените записи в груповите отношения: (1). Фиксирано. (2). Задължително. (3). Незадължително. При фиксираното членство, подчиненият запис се прикрепва твърдо към записа-собственик. Такъв запис не може да съществува в базата без записа-собственик. Такъв подчинен запис се изключва от груповото отношение само с изключването му от базата от данни. Пример 1.5.2. Записът-собственик е ПОЕТ. Записът-член е ПОЕМА. При изключване на запис-собственик на групово отношение, от базата от данни се отстраняват и всички негови подчинени записи. Това се нарича каскадно изключване. Задължителното членство означава, че всеки подчинен запис, след като бъде включен в групово отношение, за напред ще бъде свързан с дадения запис-собственик. Допуска се превключване на подчинения запис към друг собственик, но е невъзможно съществуването му без собственик. Отстраняването на запис-собственик е възможно едва след отстраняване на подчинените му записи със задължително членство. Тези записи могат да бъдат изтрити или превключвани към друг запис-собственик, или към друг екземпляр на същото отношение. Незадължителното членство позволява да се изключи от груповото отношение подчинен запис, но този запис да се запази в базата от данни без да се превключва към друг собственик. При отстраняване на запис-собственик, неговите незадължителни членове се запазват в базата от данни и не участват в съответно групово отношение. По-късно те могат да бъдат отново включени в това групово отношение. Основната единица за обработка е записът. Обработката може да започне със запис от всякакъв тип. Операциите, които могат да бъдат извършвани над данните в мрежовия модел са: (1). ЗАПОМНЯНЕ. В базата се помества нов запис. Този запис автоматично се включва в груповите отношения, където се обявява за подчинен със съответния режим на включване. (2). ВКЛЮЧВАНЕ В ГРУПОВОТО ОТНОШЕНИЕ. Подчиненият запис се свързва със записа-собственик. Установява се връзка между подчинен запис и записа-собственик и на тази връзка се дава име. (3). ПРЕВКЛЮЧВАНЕ. Подчиненият се свързва със запис-собственик в същото групово отношение. Например, даден гражданин се превключва за лекуване в друга поликлиника. (4). ОБНОВЯВАНЕ (актуализация, update). Изменят се стойностите на елементите в съществуващите в базата записи. Например, изменение на телефонния номер на поликлиниката. Преди това действие съответният запис предварително трябва да бъде извлечен. (5). ИЗВЛИЧАНЕ. Например, извлича се запис, като последователно се преглеждат всички записи (например, за жителите на града). Това последователно преглеждане на цялата база се нарича СКАНИРАНЕ. Сканирането е неефективен метод за търсене и извличане на данни. Когато е възможно, следва да се прилагат по-ефективни методи. Например, записът може да бъде извлечен според стойността на първичния ключ. Тази възможност се осигурява за всеки тип запис, независимо от разположението му в базата от данни. Записите могат да бъдат извлечени и с използване на груповите отношения, в които те участват. Така, от собственика се преминава към записите-членове, а от запис-член се преминава към собственика на груповото отношение. (6). ОТСТРАНЯВАНЕ (премахване). От базата от данни се премахват ненужните записи. Ако премахнатият запис е собственик на груповото отношение, извършва се анализ на класа на членство на подчинените записи. Задължителните членове трябва предварително да се отвържат от този собственик, а фиксираните ще бъдат отстранени заедно с него. Записите с незадължително членство остават в базата от данни (може и без собственик). (7). ИЗКЛЮЧВАНЕ ОТ ГРУПОВОТО ОТНОШЕНИЕ. Прекъсва се връзката между запис-собственик и подчинен запис в груповото отношение, като и двата записа могат да се запазят в базата от данни. ОБОБЩЕНИЕ на мрежовия модел: 1. Основна единица на обработката в мрежовия модел на данните е ЗАПИСЪТ. 2. Обработката може да бъде започната със запис от всякакъв тип, независимо от местоположението му в базата от данни 3. От извлечен запис са възможни преходи както към подчинените му записи, така и към тези, на които той е подчинен.