www.wikidata.de-de.nina.az
Das Netzwerkdatenbankmodell wurde von der Data Base Task Group DBTG des Programming Language Committee spater COBOL Committee der Conference on Data Systems Language CODASYL vorgeschlagen der Organisation die auch fur die Definition der Programmiersprache COBOL verantwortlich war Es ist auch unter den Namen CODASYL Datenbankmodell oder DBTG Datenbankmodell bekannt und entsprechend stark von Cobol beeinflusst Der fertige DBTG Bericht wurde 1971 etwa zur gleichen Zeit wie die ersten Veroffentlichungen uber das relationale Datenbankmodell vorgestellt Er enthielt Vorschlage fur drei verschiedene Datenbanksprachen Eine Schema Data Description Language Schema Datenbeschreibungssprache eine Subschema Data Description Language Subschema Datenbeschreibungssprache und eine Data Manipulation Language Datenmanipulationssprache Das Netzwerk Modell fordert keine strenge Hierarchie und kann deswegen auch m n Beziehungen abbilden d h ein Datensatz kann mehrere Vorganger haben Auch konnen mehrere Datensatze an oberster Stelle stehen Es existieren meist unterschiedliche Suchwege um zu einem bestimmten Datensatz zu kommen Man kann es als eine Verallgemeinerung des hierarchischen Datenbankmodells sehen Inhaltsverzeichnis 1 Datenbankaufbau 1 1 Datenbanksatze 1 2 Datenbankschlussel 1 3 Dataset 1 4 Datenmanipulation 2 Datenbeschreibungssprache 2 1 Die Record Klausel 2 2 Die Set Klausel 3 Datenmanipulationssprache 3 1 Die Anwendungsumgebung UWA 3 2 Currency Indikatoren aktuelle Zeiger 3 3 Record Templates Vorlagen fur Satzformate 3 4 Error Status Fehlerstatus 3 5 Datensatze lesen 3 6 Datensatze hinzufugen und verandern 4 Das Netzwerkdatenbankmodell heute 5 Siehe auch 6 WeblinksDatenbankaufbau Bearbeiten nbsp NetzwerkdatenbankmodellDatenbanksatze Bearbeiten Eine Netzwerkdatenbank besteht aus Datensatzen Record welche aus verschiedenen Feldern Data Item bestehen Ein Feld hat einen Namen und einen Wert Jeder Satz beschreibt eine Person ein Objekt oder ein Ereignis event Ein Netzwerk Datenbankmanagementsystem DBMS bearbeitet Datensatze Ein Satz oder genauer die Auspragung eines Satzes record occurrence kann als Ganzes in die Datenbank gespeichert STORE verandert MODIFY und wieder geloscht DELETE werden Ein CODASYL Datensatz hat in der Regel eine innere Struktur Felder konnen zu Gruppenfeldern zusammengefasst werden und Gruppenfelder konnen nicht nur aus Einzelfeldern sondern wiederum aus Gruppenfeldern bestehen Ein CODASYL Satz kann sogenannte Tabellen enthalten das sind mehrere Werte die unter einem Namen verwaltet werden Die Einzelwerte oder Elemente der Tabelle werden durch Subscripte adressiert z B Kunde Mayer Monatsumsatz 0 Es sind auch doppelte Feldnamen erlaubt sofern sie in unterschiedlichen Satzen sind Sie mussen dann qualifiziert angesprochen werden z B Kunde Name und Lieferant Name Satze einer Satzart record type die einen eindeutigen Namen haben muss haben die gleiche interne Struktur Eine Satzart ist also eine allgemeine Beschreibung vieler Datensatze sprich Auspragungen einer Satzart record occurrence Im Datenbankschema werden alle Satzarten definiert Datenbankschlussel Bearbeiten Satze innerhalb einer Datenbank konnen in allen Feldern gleiche Werte haben Dagegen ist der Datenbankschlussel Data Base Key DBK ein interner eindeutiger Schlussel der beim erstmaligen Speichern des Satzes in der Datenbank vergeben wird Dataset Bearbeiten Beziehungen zwischen Satzen werden durch eine spezielle Datenset oder einfach Set genannte Konstruktion bestimmt Im einfachsten Fall besteht jedes Set aus zwei verschiedenen Satzarten Ein Daten Set besteht aus genau einem Mitglied der ersten Satzart dem Owner des Daten Set Jedes Set kann keinen leeres Set Auftreten einen oder mehrere Satze der zweiten Satzart haben die Member des Daten Set Diese haben eine definierte Sortierfolge Die eindeutig benannte Set Art set type beschreibt alle Mitglieder der gleichen Beziehung Die beiden Strukturtypen die also das Netzwerkdatenbankmodell beschreiben sind die Satzart record type mehrere Satze einer Satzart nennt man record occurrence Set Art set type mehrere Auspragungen einer Set Art nennt man set occurrenceAlle Satzarten und alle Set Arten mussen im Datenbankschema beschrieben sein Das Schema einer Datenbank wird grafisch als Bachman Diagramm dargestellt in dem jede Satzart als Rechteck mit Satzart und Attributnamen und jede Set Art als Pfeil vom Owner zum Member dargestellt ist Datenmanipulation Bearbeiten Eine Datenmanipulationssprache besteht aus Updatefunktionen und aus Abfragefunktionen Zu den Update Funktionen gehort das Speichern neuer Satze der Satzart das Andern existierender Satze das Loschen existierender Satze das Einfugen existierender Satze einer Satzart als Member eines Data Set und das Entfernen einer Satzart aus einem Data Set Ein Anwendungsprogramm benotigt gewohnlich nur Teile einer Datenbank oder eines Datenbankschemas Deshalb definiert man Subschemas fur Programme oder Programmgruppen die diese Teile der Datenbank manipulieren mochten Datenbeschreibungssprache BearbeitenDie Record Klausel Bearbeiten Zur Beschreibung einer Satzart gehoren ein eindeutiger Datensatzname die Beschreibung der Attribute aller Datenfelder und die Angabe des sog Location Mode RECORD NAME IS lt record name gt DATA ITEM Subklausel Sie definiert Einzelfelder Gruppenfelder und Tabellen LOCATION MODE Subklausel Sie definiert die Regel nach der den Datensatzen record occurrences Datenbankschlussel DBK zugewiesen werden sollen namlich SYSTEM CALC USING data item VIA lt set name gt SET oder DIRECT SYSTEM heisst es ist dem System freigestellt die schnellste sich gerade anbietende Methode zu wahlen CALC ist eine Abkurzung fur calculation gemeint ist dass der DBK aus den aneinandergereihten Werten der in der USING Klausel genannten Einzelfelder berechnet werden soll Mit VIA soll erreicht werden dass der Member Satz moglichst in der Nahe des Owners gespeichert wird DIRECT bedeutet dass der Anwendungsprogrammierer den Data Base Key selbst berechnen soll Die Set Klausel Bearbeiten Zur Definition eines Data Set gehoren vor allem ein eindeutiger Name des Set Typs der Name der Owner Satzart der Name der Membersatzart und die gewunschte Sortierfolge SET NAME IS set name OWNER IS record name MEMBER IS record name ORDER IS FIRST LAST NEXT PRIOR SORTED BY Zusatzliche Optionen konnen sein SET IS PRIOR PROCESSABLE Der Set soll auch Pointer zum vorherigen Membersatz enthalten SET IS LINKED TO OWNER Jedes Member soll zusatzlich einen direkten Pointer zum Owner erhalten INSERTION IS AUTOMATIC MANUAL Bei AUTOMATIC soll jeder der Datenbank zugefugte Satz dieser Satzart automatisch Mitglied des Set werden MANUAL besagt dass die Satze nicht automatisch sondern nur bei Bedarf vom Programm mit dem INSERT Befehl eingefugt werden sollen RETENTION IS MANDATORY OPTIONAL OPTIONAL bedeutet dass die Mitgliedschaft im Set auch ohne Loschen des Satzes MANDATORY vom Anwendungsprogramm aus erfolgen kann Die Set Definition ist wie man sieht eigentlich streng hierarchisch ein Owner kann viele Member haben Wie steht es da mit der m n Beziehung aus die das Netzwerk erst ausmacht Am Beispiel einer Stucklistenstruktur weiss man dass ein Teil Gruppe aus vielen verschiedenen Teilen Gruppen bestehen kann Die Stuckliste ist alleine betrachtet eine Baumstruktur Teile konnen aber auch in vielen Gruppen verwendet werden fur die man einen Teileverwendungsnachweis haben mochte Eine zweite Baumstruktur dafur ware von erheblicher Redundanz Man verwendet deshalb Struktur oder Kettsatze die sich einerseits in der Stucklistenkette und andererseits in der Verwendungskette des Owners Teilestamms befinden Damit ist die m n Beziehung realisiert Datenmanipulationssprache BearbeitenDie Anwendungsumgebung UWA Bearbeiten UWA steht fur User Working Area Anwendungsumgebung Jedem gleichzeitig laufenden Programm wird eine UWA bereitgestellt Sie enthalt Currency Indikatoren genannte Pointer als Referenzen auf Datensatze der Datenbank record occurrences Sie enthalt auch Muster oder Formatvorlagen templates der unterschiedlichen Datensatztypen Des Weiteren eine Fehlerstatus Error status genannte Variable die das Ergebnis des letzten DML Befehls aufzeigt Currency Indikatoren aktuelle Zeiger Bearbeiten Das Konzept der Datenmanipulation in einer CODASYL Datenbank beruht auf Currency Indikatoren currency indicators und Navigation Currency Indikatoren sind Variablen deren Wert Datenbankschlussel Data Base Keys im internen Format sind Es gibt nur einen Datensatz record occurrence der Datenbank der aktuell der RUN UNIT fur Verarbeitung zur Verfugung steht er heisst current of run unit run unit ist in CODASYL Terminologie ein Anwendungsprogramm Wenn ein Datensatz der Datenbank ausgewahlt mit FIND oder gespeichert wurde mit STORE wurde er der derzeitige Datensatz des Programms current record of run unit Die Abfolge der Datensatze welche aktuelle derzeitige Datensatze eines Programms waren heisst Navigation navigation Der Datensatz egal welche Satzart record type auf den zuletzt zugegriffen wurde ist der derzeitige des Programms current of run unit Der Satz einer bestimmten Satzart auf den zuletzt zugegriffen wurde ist der derzeitige der Satzart Beispiel der letzte der Satzart KUNDE ist der derzeitige der Satzart KUNDE Entsprechend gibt es auch eine derzeitige Set Art current of set type Fur jede Set Art bestehend aus Owner Satzart und Member Satzart ist der Satz auf den zuletzt zugegriffen wurde der derzeitige des Set gleichgultig ob es ein Owner oder ein Member war Die User working Area enthalt also einen derzeitigen Indikator fur die Run Unit einen derzeitigen Indikator fur jede Satzart einen derzeitigen Indikator fur jede Set Art der entweder auf den Owner oder auf den Member verweist je nachdem auf wen zuletzt zugegriffen wurde Currency Indikatoren werden bei jeder Ausfuhrung einer DML Operation verandert Beim Zugriff auf einen bestimmten Datensatz wird er current record of run unit current record of its record type und current record of all sets in denen er entweder als Owner oder als Member vorkommt Record Templates Vorlagen fur Satzformate Bearbeiten Vorlagen sind leere Bereiche im Format der jeweiligen Satzart Sie konnen uber Satzname Feldname oder nur Feldname wenn er eindeutig ist vom Anwendungsprogramm angesprochen werden Ein GET Befehl liest den Datensatz in die entsprechende Vorlage und kann dort vom Programm verarbeitet werden Die Speicherung erfolgt auch nachdem sie vom Programm beschickt wurde uber die Vorlage Ein STORE Befehl kopiert die Vorlage in die Datenbank Error Status Fehlerstatus Bearbeiten Nach der Ausfuhrung eines DML Befehls enthalt die Variable Error Status in der UWA den Wert 0 wenn die Operation erfolgreich war und einen Wert ungleich 0 wenn ein Fehler aufgetreten ist Werte ungleich 0 sind nicht immer Fehler z B ist es kein Fehler sondern nur ein Hinweis wenn beim Durchlesen eines Sets das Ende des Sets erreicht wurde Datensatze lesen Bearbeiten Das Lesen eines Datensatzes erfolgt in zwei Schritten Durch einen FIND Befehl wird der gewunschte Satz current of run unit Der FIND andert nur den Currency Indikator nicht das Template in der UWA Mit einem speziellen GET Befehl wird der Satz in den Arbeitsbereich UWA ubertragen Der GET Befehl ubertragt immer den current of run unit in den entsprechenden Template Bereich Das Format des Befehls ist GET record name Der FIND Befehl hat verschiedene Varianten die alle die allgemeine Aufgabe haben einen bestimmten Datensatz record occurrence zum current record der Run Unit der Satzart und aller Sets in denen er vorkommt zu machen Varianten des FIND Befehls sind z B Finden eines Datensatzes mit dem Datenbankschlussel Finden eines Satzes mit dem Wert seines CALC Schlussels Nacheinander finden aller Satze eines Sets Finden aller Satze eines Sets die in einem bestimmten Feld einen bestimmten Wert haben Finden des Owners eines Sets Datensatze hinzufugen und verandern Bearbeiten Hierfur gibt es verschiedene Befehle Speichern STORE eines neuen Datensatzes Einfugen INSERT eines Datensatzes in einen Set Entfernen REMOVE eines Datensatzes aus einem Set Loschen DELETE des derzeitigen Satzes current record und Verandern MODIFY des derzeitigen Satzes Alle Befehle haben viele verschiedene Optionen deren Einsatz stark von der jeweiligen Datenbankstruktur Schema abhangt und im Einzelfall sehr komplex werden kann Um dem Anwendungsprogrammierer in der Praxis das Leben zu erleichtern haben sich deshalb zwischen z B COBOL Programm und Datenbank geschaltete I O Module bewahrt Das Netzwerkdatenbankmodell heute BearbeitenNach der Vorstellung beider Datenbankmodelle Relational vs Netzwerk Anfang der 1970er Jahre gab es schon zwanzig Jahre lang hocheffiziente Netzwerkdatenbanksysteme auf mittleren und grossen Mainframes fur hochste Transaktionsraten bis relationale Datenbanksysteme bezuglich der Performance einigermassen gleichziehen konnten Nicht ohne Grund ist das hierarchische Datenbanksystem von IBM von Ende der 1960er noch heute bei vielen IBM Kunden im Einsatz Auch Abfragesprachen fur Ad hoc Anfragen standen auf Netzwerksystemen zur Verfugung beispielsweise QLP 1100 von Sperry Rand Heute wird das Netzwerkdatenbankmodell hauptsachlich auf Grossrechnern eingesetzt Bekannte Vertreter des Netzwerkdatenbankmodells sind UDS Universal Datenbank System von Siemens DMS Database Management System von Sperry Univac Mischformen zwischen Relationalen Datenbanken und Netzwerkdatenbanken wurden entwickelt z B von Sperry Univac RDBMS Relational Database Management System und Siemens UDS SQL mit der Absicht die Vorteile beider Modelle zu verbinden Seit den 1990er Jahren wird das Netzwerkdatenbankmodell vom relationalen Datenbankmodell mehr und mehr verdrangt Mit der Idee des semantischen Webs gewinnt das Netzwerkdatenbankmodell wieder mehr an Bedeutung Mittlerweile existieren eine Reihe von Graphdatenbanken die man als moderne Nachfolger der Netzwerkdatenbanken bezeichnen konnte Ein wesentlicher Unterschied ist allerdings die Moglichkeit der dynamischen Schemaanderung Siehe auch Bearbeiten Hauptartikel Datenbankmodell Datenbank Charles BachmanWeblinks BearbeitenThe User as Navigator Abgerufen von https de wikipedia org w index php title Netzwerkdatenbankmodell amp oldid 232945077