Eine Abstraktion für Tabellen III

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

projekte.pl
foreach my $key ($teilnehmer->keys) {
   my %ang = $ang->fetch($key->{persid});
   my %projekt = $projekte->fetch($key->{projektid});
   printf "%-32s %s\n", $projekt{name}, $ang{name}, "\n";
}
select Angestellte.name, Projekte.name
   from Angestellte, Projekte, ProjektTeilnehmer
   where Angestellte.persid = ProjektTeilnehmer.persid and
         ProjektTeilnehmer.projektid = Projekte.projektid;

*Das Beispiel auf Basis von TBI entspricht dem zweifachen Join der SQL-Anweisung.
 
*Die Methode keys liefert analog zu dem keys-Operator von Perl alle Schlüssel einer Tabelle. Besteht der Primärschlüssel aus mehr als einem Feld, so wird ein Zeiger auf ein assoziatives Array zurückgeliefert. Ansonsten eben der skalare Wert des einzigen Feldes des primären Schlüssels.
 
*fetch liefert für den (durch einen konkreten Primärschlüssel) selektierten Datensatz alle Felder in Form eines assoziativen Arrays.
 
*Prinzipiell wird durch TBI in Verbindung mit relationalen Datenbanken der Rechenaufwand höher, da wesentlich mehr SQL-Anweisungen ausgeführt werden müssen. Gewonnen wird jedoch eine sehr kompakte (und von DBI & SQL unabhängige) Schreibweise.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003