BeeBase

Programmable relational database
with graphical user interface Support This Project
This page is also available in English Français

Handbuch

Die folgende Dokumentation ist Bestandteil der BeeBase-Distribution und gibt es auch als PDF.


[ << ] [ >> ]           [Anfang] [Inhalt] [Index] [ ? ]

14. Datenabfragen

Zur Datenabfrage bietet BeeBase zwei Möglichkeiten an: Die Programmierung und den Abfrageeditor.

Die Programmierung ermöglicht die Einrichtung von Knöpfen in der Tabellenansicht, die auf Druck Programmfunktionen aufrufen. Die Verwendung dieser Besonderheit wird im Kapitel zum Struktureditor (siehe Struktureditor) und im Kapitel über die Programmierung von BeeBase (siehe BeeBase programmieren) beschrieben.

Dieses Kapitel beschreibt die Verwendung des Abfrageeditors, ein Fenster zum Eingeben von Abfragen und Anzeigen der Ausgabe in einer verschiebbaren Listenansicht.


14.1 Select-from-where Abfragen

BeeBase bietet eine Select-from-where Abfrage an, die denen in SQL-Datenbanksystemen ähnelt. Die Abfrage erlaubt es, Datensatzinhalte aus einer oder mehreren Tabellen aufzulisten. Nur die Datensätze, die bestimmten Kriterien genügen, werden in die Ausgabe einbezogen. Die (unvollständige) Syntax einer Select-from-where Abfrage ist

 
SELECT exprlist FROM tablelist [WHERE test-expr]
[ORDER BY orderlist]

wobei exprlist eine mit Kommas aneinandergereihte Liste von Ausdrücken ist, die ausgegeben werden sollen (normalerweise die Feldnamen) oder ein einfacher Stern *, der alle Felder der Tabelle einschließt. tablelist ist eine mit Kommas aneinandergereihte Liste von Tabellen, deren Datensätze untersucht werden sollen. test-expr ist der Ausdruck, der für jede Menge von Datensätzen, die in die Ausgabe eingeschlossen werden sollen, ausgewertet wird und orderlist ist eine mit Kommas aneinandergereihte Liste von Feldern, die die Sortierung der Ausgabeliste festlegen. Zu beachten ist, dass die Felder WHERE und ORDER BY optional sind, kenntlich gemacht durch eckige Klammern [].

Zum Beispiel listet die Abfrage

 
SELECT * FROM table

die Feldinhalte aller Datensätze in der gegebenen Tabelle auf.

 
SELECT field1 FROM table WHERE (LIKE field2 "*Madonna*")

listet die Inhalte des Feldes field1 aus allen Datensätzen der Tabelle table auf, deren Inhalte des Feldes field2 das Wort `Madonna' beinhaltet.

Für weitere Informationen zur Select-from-where Abfrage einschließlich ihrer vollständigen Syntax siehe BeeBase programmieren und für weitere Beispiele siehe Abfragebeispiele.


14.2 Abfrageeditor

Zum Eingeben und Ausführen von Abfragen öffnet man den Abfrageeditor über den Menüpunkt `Programm - Abfragen'. Der Abfrageeditor kann mehrere Abfragen verwalten, es kann jedoch immer nur eine Abfrage zu einem Zeitpunkt ablaufen. Das Abfrageeditor-Fenster enthält folgende Elemente:

Das Abfragefenster ist ein nicht-modales Fenster. Das bedeutet, dass der Abfrageeditor geöffnet bleiben und dennoch mit der Anwendung weitergearbeitet werden kann. Der Abfrageeditor lässt sich jederzeit durch das Schließsymbol in der Fenster-Titelzeile schließen.


14.3 Abfragen als Text exportieren

Das Ergebnis einer Select-From-Where-Abfrage kann durch drücken des `Export'-Knopfes in eine Textdatei ausgegeben werden. Dies öffnet ein Fenster mit folgender Struktur:

Nach einem Druck auf den Knopf `Exportieren' öffnet BeeBase die angegebene Datei und beschreibt sie mit dem Abfrageergebnis einschließlich einer Kopfzeile mit dem Listenkopf. Die Felder werden in der Reihenfolge der Listenspalten ausgegeben.


14.4 Abfragen als PDF exportieren

Auf Windows, Mac OS X, Linux und MorphOS kann das Abfrageergebnis durch drücken des Knopfs `PDF' in eine PDF-Datei exportiert werden.

Es wird ein Fenster geöffnet, das die folgende Elemente enthält:

Nach drücken des Knopfs `Erzeuge PDF' öffnet BeeBase die angegebene Datei und beschreibt sie mit dem Abfrageergebnis einschließlich einer Kopfzeile mit dem Feldnamen der Abfrage. Die Felder werden in der Reihenfolge der Listenspalten ausgegeben.


14.5 Abfragen ausdrucken

Nachdem eine Abfrage durchgeführt wurde, kann das Ergebnis über den Knopf `Drucken' ausgedruckt werden.

Auf Windows, Mac OS X und Linux öffnet dies den Standard-Druckdialog.

Falls die GTK-Version von BeeBase im Einsatz ist, dann enthält der Dialog eine zusätzliche Seite `Zeichensatz', in welchem ein Zeichensatz gewählt werden kann. Weiterhin kann hier das Verkleinern der Ausgabe ermöglicht werden, so dass das Ergebnis in die Seitenbreite des gewählten Papiers und der gewählten Orientierung passt. Nach drücken des Knopfs `Drucken' wird das Abfrageergebnis auf dem gewählten Drucker ausgegeben.

Auf MorphOS öffnet der Knopf `Drucken' ein ähnliches Fenster wie beim Exportieren als PDF (siehe Abfragen als PDF exportieren). Das Fenster enthält die folgenden Elemente:

Nach drücken des Knopfs `Erzeuge PDF' generiert BeeBase eine temporäre PDF-Datei und öffnet diese mit dem externen Anzeiger (siehe Externer Anzeiger). Man kann dann die Druckmöglichkeiten des externen Anzeigers verwenden, um das Abfrageergebnis auszudrucken.

Auf anderen Amiga-Systemen wird ein Druckfenster mit den folgenden Elementen geöffnet:

Sind alle Einstellungen getan, so drückt man auf den Knopf `Ok', um den Druckauftrag zu starten.


14.6 Abfragebeispiele

Um einen Eindruck von der Leistungsfähigkeit der Select-from-where Abfragen zu bekommen, folgen einige Beispiele(2).

Angenommen, es gibt zwei Tabellen `Person' und `Dog' (Hund). `Person' besitzt ein Zeichenkettenfeld `Name', ein Ganzzahlfeld `Age' (Alter) und zwei Beziehungsfelder `Father' (Vater) und `Mother' (Mutter), die auf Datensätze in der Tabelle `Person' für den Vater und die Mutter verweisen. Die Tabelle enthält folgende Datensätze:

 
      Name      Age     Father  Mother
      --------------------------------
p1:   Steffen    26     p2      p3
p2:   Dieter     58     NIL     NIL
p3:   Marlies    56     NIL     NIL
p4:   Henning    57     NIL     NIL

`Dog' (Hund) besitzt ein Zeichenkettenfeld `Name', ein Auswahlfeld `Color' (Farbe) und ein Beziehungsfeld `Owner' (Besitzer), das auf den Besitzer in der Tabelle `Person' verweist. Die Tabelle enthält folgende Datensätze:

 
      Name      Color   Owner
      -----------------------
d1:   Boy       white   p3
d2:   Streuner  grey    NIL

Mit diesen Daten lassen sich folgende Select-from-where Beispielabfragen durchführen:

 
SELECT * FROM Person

liefert:

 
Name    Age Father Mother
--------------------------
Steffen  26 Dieter Marlies
Dieter   58
Marlies  56
Henning  57

(Für die Beziehungsfelder wird das Feld `Name' des referenzierten Datensatzes ausgegeben.)

 
SELECT Name "Child", Age,
       Father.Name "Father", Father.Age "Age",
       Mother.Name "Mother", Mother.Age "Age"
FROM Person WHERE (AND Father Mother)

liefert:

 
Child   Age Father Age Mother  Age
----------------------------------
Steffen  26 Dieter  58 Marlies  56

 
SELECT Name, Color,
       (IF Owner Owner.Name "No owner") "Owner"
FROM Dogs

liefert:

 
Name     Color  Owner
------------------------
Boy      white  Marlies
Streuner grey   No owner

 
SELECT a.Name, a.Age, b.Name, b.Age FROM Person a, Person b
WHERE (> a.Age b.Age)

liefert:

 
a.Name  a.Age b.Name  b.Age
---------------------------
Dieter     58 Steffen    26
Marlies    56 Steffen    26
Henning    57 Steffen    26
Dieter     58 Marlies    56
Henning    57 Marlies    56
Dieter     58 Henning    57


[ << ] [ >> ]           [Anfang] [Inhalt] [Index] [ ? ]

Dieses Dokument wurde am 30. September 2024 mit texi2html generiert.