prev up next

Das Netzwerk-Datenmodell

Im Netzwerk-Datenmodell können nur binäre many-one- (bzw. one-many)-Beziehungen dargestellt werden. Ein E-R-Diagramm mit dieser Einschränkung heißt Netzwerk. Zur Formulierung der many-one-Beziehungen gibt es sogenannte Set-Typen, die zwei Entity-Typen in Beziehung setzen. Ein Entity-Typ übernimmt mittels eines Set-Typs die Rolle des owner bzgl. eines weiteren Entity-Typs, genannt member.

Im Netzwerk werden die Beziehungen als gerichtete Kanten gezeichnet vom Rechteck für member zum Rechteck für owner (funktionale Abhängigkeit). In einer Ausprägung führt ein gerichteter Ring von einer owner-Ausprägung über alle seine member-Ausprägungen (Abbildung 3.4).


Netzwerkschema und eine Ausprägung

Bei nicht binären Beziehungen oder nicht many-one-Beziehungen hilft man sich durch Einführung von künstlichen Kett-Records. Abbildung 3.5 zeigt ein entsprechendes Netzwerkschema und eine Ausprägung, bei der zwei Studenten jeweils zwei Vorlesungen hören.


Netzwerkschema mit Kett-Record und eine Ausprägung

Die typische Operation auf einem Netzwerk besteht in der Navigation durch die verzeigerten Entities. Mit den Befehlen


FIND NEXT Student
FIND NEXT sv WITHIN ss
FIND OWNER WITHIN vs

lassen sich für einen konkreten Studenten alle seine Kett-Records vom Typ sv durchlaufen und dann jeweils der owner bzgl. des Sets vs ermitteln.


STUDENT.NAME := 'Mustermann';
FIND ANY STUDENT USING NAME;
if gefunden then
begin
  FIND FIRST SV WITHIN SS;
  while gefunden do
  begin
    FIND OWNER WITHIN VS;
    GET VORLESUNG;
    WRITE(VORLESUNG.TITEL);
    FIND NEXT VORLESUNG WITHIN VS;
  end
end;


prev up next