Handbuch
Die folgende Dokumentation ist Bestandteil der BeeBase-Distribution und gibt es auch als PDF.
[ << ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
5. Grundlagen
Bevor man beginnt, eigene Datenbanken zu entwickeln und Daten in ihnen einzugeben, sollte man über die Grundlagen Bescheid wissen, auf die BeeBase aufbaut.
5.1 Projekte | BeeBase-Projekte. | |
5.2 Tabellen | Grundlegende Datenverwaltung. | |
5.3 Datensätze | Eine Zeile einer Tabelle. | |
5.4 Felder | Eine Spalte einer Tabelle. | |
5.5 Feldtypen | vorhandene Typen für Felder. | |
5.6 Tabelle der Feldtypen | Liste der Feldtypen. | |
5.7 Beziehungen | Tabellen verbinden. | |
5.8 Benutzerschnittstelle | Elemente für das Layout. |
5.1 Projekte
Ein BeeBase-Projekt enthält alle relevanten Informationen, die zum Verwalten von Daten benötigt werden. Dies schließt die Benutzerschnittstelle, die eingegebenen Daten und die Programme des Projekts ein.
Ein Projekt kann von einer Platte geladen, auf ihr gespeichert und von ihr gelöscht werden. Jede Änderung, die am Projekt durchgeführt wird, wird nur im Speicher durchgeführt. Jederzeit kann zum zuletzt gespeicherten Status des Projekts zurückgekehrt werden, indem es neu geladen wird.
BeeBase kann mehrere Projekte gleichzeitig handhaben. Daher ist es nicht notwendig, BeeBase nochmal aufzurufen, wenn nur ein weiteres Projekt geladen werden soll.
Weiterhin können mehrere BeeBase-Instanzen auf das gleiche Projekt zugreifen. Mehrere BeeBase-Instanzen können das Projekt lesen, aber nur eine Instanz kann Änderungen vornehmen. Das funktioniert auch über mehrere Rechner auf einem Netzwerk, sofern das Projekt auf einem Netzwerklaufwerk liegt.
5.2 Tabellen
BeeBase verwaltet Daten in Tabellen. Eine Tabelle ist in Zeilen und Spalten angeordnet, wobei Zeilen Datensätze und Spalten Felder heißen.
Folgendes Beispiel zeigt eine Tabelle, wie eine Menge von Adressen in einer Tabelle angeordnet sind:
Name | Street | City
------------------|---------------------|------------------------
Steffen Gutmann | Wiesentalstr. 30 | 73312 Geislingen/Eybach
Charles Saltzman | University of Iowa | Iowa City 52242
Nicola Müller | 21W. 59th Street | Westmont, Illinois 60559
|
Es existiert eine besondere Art von Tabelle, die nur genau einen Datensatz halten kann. Diese Art von Tabelle ist manchmal nützlich, wenn eine Datenbank gesteuert werden soll, z.B. können Knöpfe zum Ausführen von diversen Aktionen oder Nur-Lesefelder zur Darstellung von projektabhängiger Information in die Tabelle eingesetzt werden. Angenommen, es gibt beispielsweise eine Finanzdatenbank, in der Ein- und Ausgaben gespeichert werden. Eine Tabelle mit genau einem Datensatz könnte ein Nur-Lesefeld vom Typ Fließkommazahl beinhalten, in dem der aktuelle Gewinn bzw. Verlust angezeigt wird.
Jede Tabelle hat zwei Datensatzzeiger: ein Zeiger, der auf den Datensatz zeigt, der gerade über die Benutzerschnittstelle angezeigt wird (genannt GUI-Datensatzzeiger) und ein Zeiger, der auf den Datensatz zeigt, der beim Ausführen eines BeeBase-Programms verwendet wird (genannt Programm-Datensatzzeiger).
Man kann unbegrenzt viele Tabellen in einem BeeBase-Projekt anlegen. Tabellen können hinzugefügt, umbenannt und gelöscht werden.
5.3 Datensätze
Ein Datensatz ist eine Zeile einer Tabelle. Sie trägt sämtliche Information einer Menge, d.h. in einer Tabelle, die Adressen verwaltet, hält sie eine Adresse.
Jeder Datensatz besitzt eine Nummer, das ihre Position in der Tabelle widerspiegelt. Diese Nummer kann sich ändern, wenn Datensätze hinzugefügt oder gelöscht werden.
Für jede Tabelle existiert ein Datensatz, der Vorgabedatensatz genannt wird, der die Vorgabewerte zum Anlegen neuer Datensätze beinhaltet. Dieser Vorgabedatensatz hat immer die Datensatznummer 0.
Datensätze können hinzugefügt, verändert und von einer Tabelle gelöscht werden. Die Datensätze werden nicht notwendigerweise immer im Speicher gehalten sondern werden von Platte geladen oder auf ihr gespeichert, wenn es nötig sein sollte. Es gibt zwei Beschränkungen für die maximale Anzahl von Datensätzen einer Tabelle. Die eine basiert darauf, dass die Datensatznummer ein 32Bit Integerwert ist, was die Anzahl der Datensätze auf (theoretisch) 4294967295 begrenzt. Die andere und größere Einschränkung besteht darin, dass für jeden Datensatz ein kleiner Datensatzkopf im Speicher gehalten werden muss. Diese Einschränkungen machen BeeBase dennoch für Datensatzzahlen von 10000 und mehr verwendbar.
5.4 Felder
Ein Feld legt eine Spalte einer Tabelle fest. Es legt den Typ und die Erscheinung der betreffenden Spalte fest.
Felder können hinzugefügt, umbenannt und von einer Tabelle gelöscht werden. Es gibt hier keine Obergrenze für die Anzahl der Felder pro Tabelle.
Für jedes Feld muss ein Typ festgelegt werden, der den Inhalt des Feldes einschränkt. Eine Liste aller Feldtypen ist im nächsten Abschnitt zu finden.
5.5 Feldtypen
Für Felder sind folgende Typen verfügbar:
5.5.1 Zeichenkette | Jede einfache Zeile Text. Kann auch zum Speichern von Zeichensatznamen, Dateinamen und externen Bildern verwendet werden | |
5.5.2 Ganzzahl | ganze Zahlen. | |
5.5.3 Fließkommazahl | reelle Zahlen. | |
5.5.4 Boolesch | Boolescher Wert. | |
5.5.5 Auswahl | Eins aus mehreren Elementen. | |
5.5.6 Datum | Datumsangaben. | |
5.5.7 Zeit | Zeitangaben. | |
5.5.8 Mehrzeiliger Text | Mehrzeiliger Text. | |
5.5.9 Beziehung | Beziehung (Referenz) zu einem anderen Datensatz. | |
5.5.10 Virtuell | Werte beiläufig berechnen. | |
5.5.11 Knopf | Zum Auslösen von BeeBase-Programmen. |
Einige der Felder unterstützen einen besonderen Wert NIL. Dieser Wert stellt einen undefinierten Wert dar, z.B. bei einem Datum für ein unbekanntes Datum. Der Wert NIL entspricht dem Wert NULL in anderen Datenbanksystemen.
Anzumerken ist, dass der Typ eines Feldes nachträglich nicht mehr geändert werden kann, wenn er einmal gesetzt worden ist.
5.5.1 Zeichenketten
Zeichenketten können eine einzelne Zeile Text speichern (0 bis 999 Zeichen). Sie sind der am meisten verwendete Feldtyp in einem Datenbankenprojekt. Zum Beispiel könnte eine Adressdatenbank den Namen, die Straße und den Ort einer Person jeweils in einem Zeichenkettenfeld speichern.
Für ein Zeichenkettenfeld muss die maximale Länge in Zeichen festgelegt werden, die in einer Zeichenkette zulässig sind. Diese Zahl bezieht sich nicht auf den benötigten Platz im Speicher oder auf Platte, der durch die Zeichenkette beansprucht wird, da nur der aktuelle Zeichenketteninhalt gespeichert wird (andere Datenbanken nennen dieses Feature komprimierte Zeichenketten). Wenn nötig kann die Nummer nach der Erstellung des Zeichenkettenfeldes nachträglich geändert werden.
Zeichenkettenfelder können auch verwendet werden, um Zeichensatz- und Dateinamen zu speichern. Bei Dateinamen können externe Anzeigeprogramme gestartet werden, um den Dateiinhalt anzuzeigen. Des weiteren erlaubt eine eingebaute Bilderklasse die Darstellung eines Bildes aus einer Datei.
Zeichenkettenfelder unterstützen nicht den Wert NIL.
5.5.2 Ganzzahlfelder
Ganzzahlfelder speichern ganze Zahlen im Bereich von -2147483648 bis 2147483647. Sie werden meistens verwendet, um Mengenangaben wie z.B. die Anzahl der Kinder pro Person oder die Anzahl der Lieder pro CD zu speichern.
Ganzzahlfelder unterstützen den Wert NIL, der für eine undefinierte Ganzzahl steht.
5.5.3 Fließkommazahlfelder
Fließkommazahlen speichern Werte im Bereich von -3.59e308 bis +3.59e308.
Sie werden für das Speichern von Zahlen jeder Art verwendet, wie z.B. die Beträge in einem Projekt für Einkommen/Ausgaben.
Für jedes Fließkommazahlfeld lässt sich die Anzahl der Nachkommastellen festlegen, aber intern wird dennoch mit der vollständigen Präzision gearbeitet.
Fließkommazahlfelder unterstützen den Wert NIL, der für eine undefinierte Fließkommazahl steht.
5.5.4 Boolesche Felder
Boolesche Felder speichern ein Bit Information. Sie können für das Speichern von Werten wie ja/nein oder wahr/falsch verwendet werden, z.B. in einem Buchhaltungsprojekt könnte ein boolesches Feld die Information `hat bezahlt?' vermerken.
Boolesche Felder verwenden TRUE (=wahr) und NIL als boolesche Werte. NIL steht in diesem Fall für falsch.
5.5.5 Auswahlfelder
Auswahlfelder speichern ein Element aus einer Liste von Elementen. Zum Beispiel kann das Feld in einer Adressdatenbank zum Speichern von Landesnamen wie `USA', `Kanada', `Deutschland' oder `andere' verwendet werden.
Ein Auswahlfeld speichert im Datensatz nicht die gesamte Elementzeichenkette, sondern nur die Elementnummer (Index). Die Anzahl der Elemente und die Elemente selbst können nach dem Erstellen nachträglich geändert werden. Jedoch werden die vorhandenen Datensätze nicht auf die Änderungen an einem Auswahlfeld angepasst, um die neue Situation zu widerspiegeln.
Auswahlfelder unterstützen nicht den Wert NIL.
5.5.6 Datumsfelder
Datumsfelder speichern Kalenderdaten. Zum Beispiel kann ein Datumsfeld zum Speichern von Geburtstagen verwendet werden.
Das Format zum Eingeben von Datumswerten ist eines aus `TT.MM.JJJJ', `MM/TT/JJJJ' oder `JJJJ-MM-TT', wobei `TT' für den Tag, `MM' für den Monat und `JJJJ' für das Jahr steht.
Datumsfelder unterstützen den Wert NIL, der für ein undefiniertes Datum steht.
5.5.7 Zeitfelder
Zeitfelder speichern eine Uhrzeit oder einen Zeitraum. Zum Beispiel kann ein Zeitfeld verwendet werden, um die Spielzeiten von Musikstücken einer CD zu speichern.
Das Format zum Eingeben und Darstellen von Zeitangaben kann auf `HH:MM:SS', `MM:SS' oder `HH:MM' festgelegt werden, wobei `HH' für die Stunden, `MM' für die Minuten und `SS' für die Sekunden stehen. Intern wird ein Zeitwert als die Anzahl Sekunden seit 0 Uhr gespeichert. Zeitwerte größer als 23:59:59 sind bis zum maximalen Wert von 596523:14:07 möglich, aber negative Werte werden nicht unterstützt.
Zeitfelder unterstützen den Wert NIL, der für eine undefinierte Zeit steht.
5.5.8 Mehrzeilige Textfelder
Mehrzeilige Textfelder speichern mehrzeilige Texte jeder Größe. Die Textgröße wird dynamisch verwaltet, was bedeutet, dass nur soviel Speicher benötigt wird, wie der Text groß ist. In einem Projekt, das Filme verwaltet, kann ein mehrzeiliges Textfeld verwendet werden, um Kurzbeschreibungen zum Film aufzunehmen.
Mehrzeilige Textfelder unterstützen nicht den Wert NIL.
5.5.9 Beziehungsfelder
Beziehungsfelder sind ein besonderer Feldtyp, der gewöhnlich nicht in anderen Datenbanksystemen zu finden ist. Beziehungsfelder speichern einen Zeiger auf einen anderen Datensatz. Der Datensatz, auf den verwiesen wird, kann in der selben oder in jeder anderen Tabelle liegen, zu der die Beziehung gehört.
Zum Beispiel können in einem Stammbaumprojekt zwei Beziehungsfelder verwendet werden, um Zeiger auf den Vater und die Mutter zu speichern. In einer CD-Verwaltung mit Musiktiteln kann ein Beziehungsfeld in einer Tabelle, die die Musiktitel beinhaltet, verwendet werden, um auf die Datensätze der entsprechenden CDs zu verweisen.
Zur Darstellung eines Beziehungsfeldes können ein oder mehrere Felder des Bezugsdatensatzes angegeben werden. Eingaben in ein Beziehungsfeld können durch Auswählen eines Datensatzes aus einer Liste von Datensätzen erfolgen.
Beziehungsfelder unterstützen den Wert NIL. Hierbei steht er für einen Zeiger auf den Vorgabedatensatz der Bezugstabelle.
5.5.10 Virtuelles Feld
Virtuelle Felder sind ein besonderer Feldtyp, die keine Information in der Datenbank speichern, sondern sie nur beiläufig ermitteln, wenn es notwendig ist.
Zum Beispiel kann in einem Buchhaltungsprojekt Werte einschließlich Steuern ermittelt werden, wenn in der Datenbank nur Werte ohne Steuern gespeichert werden. Jedes mal, wenn der Wert des virtuellen Feldes benötigt wird, wie z.B. beim Darstellen, wird er aus dem entsprechenden Wert ohne Steuern berechnet.
Zum Darstellen von virtuellen Feldern existieren drei Arten: Boolesch, Zeichenkette und Liste. Diese drei Arten erlauben die Darstellung des virtuellen Feldes als Wahr/Falsch-Wert, als eine einzeilige Zeichenkette einschließlich Zahlen, Daten und Zeiten, und als eine Liste aus mehreren einzelnen Zeilen, z.B. zum Auflisten aller Titel einer CD.
Virtuelle Felder unterstützen den Wert NIL, der für Falsch (bei Boolesch), undefiniert (bei Zeichenkette) oder leer (bei Liste) steht.
5.5.11 Knöpfe
Knöpfe sind genau genommen keine echten Feldtypen, da sie keine Daten speichern oder darstellen. Sie werden nur zum Auslösen von BeeBase-Programmen verwendet.
5.6 Tabelle der Feldtypen
Die folgende Tabelle zeigt alle verfügbaren Feldtypen auf:
Typ Beschreibung NIL zulässig?
----------------------------------------------------------------------------
Zeichenkette Für Zeichenketten (0 bis 999 Zeichen). Nein
Eine Zeichenkette kann auch zum Speichern von
Dateinamen, Zeichensatznamen und einer aus
mehreren Zeichenketten verwendet werden. Bei
Dateinamen kann ein Feld hinzugefügt werden,
in dem die Datei als Bild angezeigt wird.
Ganzzahl Zum Speichern von Ganzzahlen. Ja
(-2147483648 bis 2147483647).
Fließkommazahl Zum Speichern von reellen Zahlen Ja
(-3.59e308 bis +3.59e308).
Boolesch TRUE oder NIL Ja (NIL = falsch)
Auswahl Eine Nummer aus n Nummern, die durch Nein
Auswahltexte repräsentiert werden.
Datum Zum Speichern eines Datum Ja
(1.1.0000 - 31.12.9999)
Zeit Zum Speichern einer Zeit Ja
(00:00:00 - 596523:14:07)
Mehrzeiliger Mehrzeilige Texte von unbegrenzter Länge Nein
Text
Beziehung Zum Speichern einer Beziehung zu einem Ja (NIL bedeutet
Datensatz einer anderen Tabelle Vorgabedatensatz)
Virtuell Zum Darstellen von Ergebnissen aus einem Ja
BeeBase-Programm
Knopf Zum Auslösen einer Programmfunktion Nein (k.A.)
|
5.7 Beziehungen
Bis jetzt ist bekannt, wie Information in Tabellen mit Datensätzen und Feldern angeordnet werden, aber es sollten auch Beziehungen zwischen Tabellen hergestellt werden können.
Zum Beispiel würde eine Datenbank für CDs zwei Tabellen enthalten, eine für die CDs und eine für die Musiktitel der CDs. Natürlich können alle Musiktitel innerhalb der CD-Tabelle gespeichert werden, aber dadurch ist die Anzahl der Musiktitel pro CD auf eine feste Anzahl beschränkt.
Nun wird eine Verbindung zwischen den beiden Tabellen benötigt, um für jeden Musiktitel die entsprechende CD zuzuweisen. Dies wird Beziehung zwischen beiden Tabellen genannt. Normalerweise wird dafür ein Beziehungsfeld verwendet, um eine solche Beziehung herzustellen.
Durch das Einrichten eines Beziehungsfeldes in einer Tabelle wird automatisch eine Beziehung zwischen der Tabelle, die das Feld beinhaltet, und der Tabelle hergestellt, zu der sie verweist.
Folgende Beziehungsklassen werden unterschieden:
5.7.1 Eins-zu-Eins Beziehungen | einfache Beziehungen. | |
5.7.2 Eins-zu-Mehrfach Beziehungen | die am meisten verwendeten. | |
5.7.3 Mehrfach-zu-Mehrfach Beziehungen | Komplexe Beziehungen. |
5.7.1 Eins-zu-Eins-Beziehungen
Eins-zu-Eins-Beziehungen sind ganz einfache Beziehungen, bei denen jeder Datensatz genau einen oder keinen Partner in der anderen oder selben Tabelle besitzt.
In einer Datenbank, die beispielsweise Lieblingsschauspieler verwaltet, könnte ein Beziehungsfeld `verheiratet mit' eingerichtet werden, das anzeigt, mit welcher Person der/die Schauspieler/in verheiratet ist. Ein/e Schauspieler/in, die momentan nicht verheiratet ist, würde dann den Wert NIL im Beziehungsfeld haben.
Dies verhindert natürlich nicht, dass der Benutzer die Beziehungen über `verheiratet mit' von verschiedenen Schauspieler/innen auf die gleiche Person setzt. Es lässt sich jedoch über die Programmierung von BeeBase erreichen, dass solche Fälle sofort erkannt und behandelt werden können.
5.7.2 Eins-zu-Mehrfach-Beziehungen
Eins-zu-Mehrfach-Beziehungen sind nützlich, um mehrere Datensätze zu einem Datensatz in einer anderen oder der selben Tabelle zu verbinden.
In einem Projekt, das z.B. Bankkonten verwaltet, könnte eine Tabelle alle Bankkonten und eine Tabelle alle Überweisungen enthalten. Nun ist es sicher sinnvoll zu wissen, welche Überweisung auf welches Konto durchgeführt werden soll. Daher wird ein Beziehungsfeld in der Überweisungstabelle eingerichtet, das auf die Bankkontentabelle verweist.
Eins-zu-Mehrfach-Beziehungen werden am meisten verwendet. Sie können zum Verwalten von hierarchisch angeordneten Strukturen verwendet werden, z.B. CDs mit Musiktiteln, Bankkonten mit Überweisungen, Stammbäume, etc.
Eins-zu-Mehrfach-Beziehungen sind auch Grundlage zum Realisieren von Mehrfach-zu-Mehrfach-Beziehungen, die im nächsten Abschnitt beschrieben werden.
5.7.3 Mehrfach-zu-Mehrfach-Beziehungen
Mehrfach-zu-Mehrfach-Beziehungen werden verwendet, wenn mehrere Datensätze auf eine andere Menge von mehreren Datensätzen verweisen sollen.
Ein Projekt, das Spielfilme und Schauspieler verwaltet, enthält zwei Tabellen, eine für die Filme und eine für die Schauspieler. Es sollen nun für jeden Film die Schauspieler ermittelt werden, die in diesem Film auftreten. In einem ersten Ansatz könnte hierfür ein Beziehungsfeld in der Tabelle der Schauspieler eingerichtet werden, das auf die Film-Tabelle verweist. Dies bedeutet jedoch, dass ein Schauspieler nur in höchstens einem Film auftreten kann, da nur ein Beziehungsfeld in der Tabelle der Schauspieler existiert. Es werden aber eine unbeschränkte Anzahl Beziehungen von der Tabelle der Schauspieler zur Tabelle Filme benötigt.
Um dies zu bewerkstelligen, wird eine neue Tabelle hinzugefügt, die nur zwei Beziehungsfelder beinhaltet: eines, das auf die Tabelle der Schauspieler und eines, das auf die Tabelle Filme verweist. Nun können Beziehungen durch neue Datensätze in dieser Tabelle hinzugefügt werden. Für jede Verbindung von Film-Schauspieler muss dann ein neuer Datensatz erzeugt werden, in dem Film und Schauspieler in den entsprechenden Beziehungsfeldern gesetzt werden.
Wenn nun ermittelt werden soll, in welchen Filmen ein Schauspieler mitgewirkt hat, dann müssen nur alle Datensätze in der neuen Tabelle bestimmt werden, in der auf den gefragten Schauspieler verwiesen wird, und die Film-Datensätze, auf welche die gefundenen Datensätze verweisen, bilden dann die Menge der gesuchten Filme. Eine solche Suche kann von BeeBase automatisch durchgeführt und das Ergebnis in einer Listenansicht angezeigt werden.
Die folgende Tabelle Zeigt ein Beispiel, wie eine Menge von Schauspieler und eine Menge Filme miteinander verbunden werden.
Titel Land
----------------------------
m1: Batman USA
m2: Batmans Rückkehr USA
m3: Sprachlos USA
m4: Tequila Sunrise USA
m5: Mad Max Australien
m6: Braveheart USA
|
Name
-------------------
a1: Michael Keaton
a2: Jack Nicholson
a3: Kim Basinger
a4: Danny DeVito
a5: Michelle Pfeiffer
a6: Geena Davis
a7: Christopher Reeve
a8: Mel Gibson
a9: Kurt Russell
a10: Sophie Marceau
a11: Patrick McGoohan
a12: Catherine McCormack
a13: Christopher Walken
|
FilmBez SchauspBez
--------------------
m1 a1
m1 a2
m1 a3
m2 a1
m2 a4
m2 a5
m2 a13
m3 a1
m3 a6
m3 a7
m4 a8
m4 a5
m4 a9
m5 a8
m6 a8
m6 a10
m6 a11
|
Aus diesen Tabellen kann z.B. herausgelesen werden, dass Mel Gibson in den Filmen Tequila Sunrise, Mad Max und Braveheart mitgewirkt hat, oder dass im Film Batman die Schauspieler Michael Keaton, Jack Nicholson und Kim Basinger mitgespielt haben.
5.8 Benutzerschnittstelle
BeeBase verwendet eine grafische Benutzerschnittstelle (GUI), die hierarchisch organisiert ist, um Datensatzinhalte darzustellen und um die Eingabe von Daten zu ermöglichen. Jedes Projekt besitzt sein eigenes Hauptfenster, in dem weitere GUI-Elemente (einschließlich Unterfenster) plaziert werden können. Die GUI-Elemente werden auch Anzeigeelemente genannt.
Eine Tabelle wird in einem eigenen GUI-Element Maske dargestellt. Eine Maske kann nur einen Datensatz zu einem Zeitpunkt darstellen. Dessen Layout und die Felder, die in der Maske eingeschlossen sind, können vom Benutzer verändert werden.
Die folgenden GUI-Elemente sind für die Gestaltung eines Projekt-Layouts verfügbar:
5.8.1 Fenster | Haupt- und Unterfenster. | |
5.8.2 Masken | Stellt Tabelle dar. | |
5.8.3 Panels | Steuert eine Tabelle. | |
5.8.4 Feldobjekte | Zeigt Datenfeld eines Datensatzes. | |
5.8.5 Textobjekte | Feste Texte. | |
5.8.6 Bilder | Feste Bilder zur Dekoration. | |
5.8.7 Zwischenraumobjekte | Layout- und Unterteilungselement. | |
5.8.8 Gruppen | Gruppiert GUI-Elemente vertikal und horizontal. | |
5.8.9 Gewichtungsobjekte | Gruppenelemente dynamisch in der Größe verändern. | |
5.8.10 Karteikarten-Gruppen | Seiten mit GUI-Elementen |
5.8.1 Fenster
Fenster können verwendet werden, um Informationen eines Projekts auf mehrere unabhängige Bereiche aufzuteilen.
Jedes Projekt besitzt automatisch sein eigenes Hauptfenster. Falls nötig, wie z.B. wenn der Platz des Hauptfensters nicht ausreicht, können zusätzliche Unterfester erzeugt werden. Unterfenster können wiederum weitere Unterfenster haben.
Für jedes Unterfenster kann im darüberliegenden Fenster ein Fensterknopf eingerichtet werden, welcher zum öffnen des Unterfensters dient. Der Fensterknopf sieht wie ein normaler Textknopf auf, kann aber ein kleines Piktogramm enthalten, um sich von anderen Knöpfen hervorzuheben.
Hauptfenster haben kein übergeordnetes Fenster und haben daher auch keinen Fensterknopf. Schließen eines Hauptfensters bedeutet Schließen des gesamten Projekts.
Ein Fenster kann andere GUI-Element als Kinder haben. Wenn kein Kind zu einem Fenster hinzugefügt wurde, dann wird ein voreingestelltes Bild angezeigt.
5.8.2 Masken
Eine Maske wird verwendet, um den Inhalt einer Tabelle darzustellen. Nur ein Datensatz der Tabelle kann zu einem Zeitpunkt angesehen werden.
Die Maske kann ein Panel (siehe nächster Abschnitt) enthalten, mit dem man die Tabelle steuern kann. Andere GUI-Elemente wie Felder oder Textobjekte können in der Maske plaziert werden, um die Datensatzinhalte anzuzeigen.
Masken können nicht in anderen Masken plaziert sein, da dies zu einer Hierarchie von Masken und somit zu einer Hierarchie von Tabellen führen würde. Falls eine Hierarchie von Tabellen eingerichtet werden soll, so sollte dies durch eine Eins-zu-Mehrfach-Beziehung zwischen zwei Tabellen realisiert werden.
5.8.3 Panels
Ein Panel ist eine breite, schmale rechteckige Fläche am oberen Rand einer Maske. Ein Panel kann einen Titel, z.B. den Namen der dazugehörigen Tabelle, ein Nummernpaar, das die Datensatznummer und die Gesamtanzahl der Datensätze anzeigt, und einige Knöpfe zum Steuern der Tabelle, z.B. zum Darstellen vom nächsten und vorhergehenden Datensatz, enthalten.
Ein Panel ist Teil einer Tabellenmaske und kann, falls gewünscht, weggelassen werden. Wird ein Panel für eine Maske eingerichtet, dann wird zusätzlicher ein Rahmen um die gesamte Maske gezeichnet.
5.8.4 Feldobjekte
Feldobjekte werden benutzt, um den Inhalt eines Elements aus einem Datensatz darzustellen.
Abhängig vom Typ des Feldes ist das GUI-Element entweder ein Zeichenkettenfeld (Typen Zeichenkette, Ganzzahl, Fließkommazahl, Datum und Zeit), ein Checkmark-Knopf (Typ Boolesch), ein Auswahlknopf oder eine Menge von Radioknöpfen (Typ Auswahl), ein Editorfeld (Typ mehrzeiliger Text), eine Popup-Listenansicht (Typ Beziehung), ein Textfeld, Checkmark-Feld oder eine Listenansicht (Typ virtuell), oder ein Text- bzw. Bildknopf (Typ Knopf). In einigen Fällen kann ein GUI-Element ein einfaches Textfeld sein, wenn das Feldobjekt auf nur lesen gesetzt ist.
5.8.5 Textobjekte
Textobjekte werden verwendet, um die verschiedenen Feldelemente einer Datensatzmaske zu beschreiben oder einfach nur zum Anzeigen von festen Text.
5.8.6 Bilder
Bilder können überall im Fenster angezeigt werden. Ein Bild kann eine Muster, ein einfaches Farbfeld oder ein Bild aus einer externen Datei sein. Die Größe des Bildes kann größenveränderbar oder fest sein.
Das Bild ist fest eingebaut. Sollen Bilder in einer Tabelle gespeichert werden, so kann hierfür ein Zeichenkettenfeld verwendet werden (siehe Zeichenketten).
5.8.7 Zwischenraumobjekte
Zwischenraumobjekte dienen dem Einfügen von Leerraum im Layout eines Fensters oder einer Tabellenmaske. Ein Zwischenraumobjekt kann einen vertikalen (oder horizontalen) Strich zum Abtrennen von anderen GUI-Elemente besitzen.
5.8.8 Gruppen
GUI-Elemente können in horizontalen oder vertikalen Gruppen angeordnet werden. Eine Gruppe plaziert ihre Kinder von links nach rechts (horizontale Gruppe) oder von oben nach unten (vertikale Gruppe).
Eine Gruppe kann seine Kinderobjekte mit einem rechteckigen Rahmen umschließen, einen optionaler Titel oberhalb der Gruppe anzeigen, und Zwischenräume zwischen den Kinderobjekten einfügen.
5.8.9 Gewichtungsobjekte
Gewichtungsobjekte können überall zwischen Kinderobjekten in einem Fenster, einer Maske oder einem Gruppenobjekt eingesetzt werden. Dieses Objekt erlaubt dem Benutzer, die Gewichtungen der anderen Kinderobjekte und somit den Platz der einzelnen Kinder dynamisch zu steuern.
5.8.10 Karteikarten-Gruppen
Eine Karteikarten-Gruppe kann benutzt werden, um GUI-Elemente auf verschiedenen Seiten anzuordnen, von denen jeweils nur eine zu einer Zeit sichtbar ist. Dies ist nützlich, wenn die Benutzerschnittstelle zu groß wird und sie nicht über mehrere Fenster verteilen will.
[ << ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
Dieses Dokument wurde am 30. September 2024 mit texi2html generiert.