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] [ ? ]

6. Projekte verwalten

In diesem Kapitel ist vorhanden:


6.1 Dateiformat

Ein BeeBase-Projekt wird als SQLite3-Datenbank gespeichert. Falls Sie neugierig sind, dann können Sie mit einem Anzeiger oder Editor, z.B. `DB Browser for SQLite' eine BeeBase-Projektdatei inspizieren. Der Inhalt der SQLite3-Datenbank ist einigermaßen selbsterklärend, da alle Informationen in einem lesbaren Format gehalten werden, aber es gibt ein paar wissenswerte Dinge, die nicht offensichtlich sind.

Es wird empfohlen keine Änderungen an einer Projektdatei vorzunehmen. Falls Sie aber experimentieren möchten, hier sind die Regeln.

SQLite erlaubt mehrere BeeBase-Instanzen den gleichzeitigen Zugriff auf das gleiche Projekt. Mehrere BeeBase-Instanzen können ein Projekt lesen, aber nur eine Instanz darf das Projekt ändern. Zu beachten ist, dass der Zugriffsmechanismus auf bestimmten Garantien des Dateisystems beruht. Am besten ist es, das Teilen eines Projekts zwischen verschiedenen BeeBase-Instanzen auf einem Dateisystem zu testen, bevor man auf diesen Mechanismus vertraut.


6.2 Information

BeeBase hält einige Informationen über jedes Projekt bereit. Um Informationen über das aktuelle Projekt zu erhalten, wird der Menüpunkt `Projekt - Information' ausgewählt. Die Informationen enthalten den Namen des Projekts, die Anzahl der Tabellen, die Gesamtanzahl aller Datensätz in allen Tabellen und ein Wert, der anzeigt, wieviele Bytes beim Neuorganisieren eingespart werden könnten. Diese Einsparung ist jedoch nur ein Schätzung und sollte nicht als exakter Wert angesehen werden. Insbesondere wenn viele Änderungen an der Struktur des Projekts durchgeführt wurden (Hinzufügen oder Entfernen von Feldern), ist der Wert sehr ungenau.


6.3 Neues Projekt

Mit BeeBase ist es möglich, mehrere Projekte gleichzeitig zu bearbeiten. Die Anzahl der Projekte ist nur durch den vorhandenen Speicher begrenzt. Soll ein weiteres Projekt gestartet werden, so wird Menüpunkt `Projekt - Neu' gewählt. Dies öffnet ein neues Fenster mit einem leeren Projekt. Es ist nun möglich die Struktur des neuen Projekts festzulegen (siehe Struktureditor) oder ein bereits bestehendes Projekt von Platte zu laden (siehe Projekt öffnen).


6.4 Projekt leeren

Das aktuelle Projekt lässt sich durch Menüpunkt `Projekt - Leeren - Projekt' zurücksetzten. Dies schließt das aktuelle Projekt und ersetzt es durch ein leeres Projekt. In diesem Modus befindet sich BeeBase automatisch nach dem Starten ohne Angabe eines Projekts.

Über den Menüpunkt `Projekt - Leeren - Datensätze' lässt sich ein Projekt neu beginnen, das auf der Struktur des aktuellen Projekts basiert. Dies bedeutet, dass alles außer die Datensatzdaten des aktuellen Projekts für das neue Projekt verwendet wird.

Wenn das Projekt noch nicht gespeichert wurde, bevor einer der beiden Menüpunkte ausgeführt wird, fragt eine Sicherheitsmeldung nach der Bestätigung der Operation.


6.5 Projekt öffnen

Um ein Projekt zu laden, wird `Projekt - Öffnen - Projekt' aufgerufen. Dies öffnet ein Dateiauswahlfenster, in dem ein Projekt ausgewählt werden kann. Es gibt auch mehrere Demoprojekte, welche die Fähigkeiten von BeeBase zeigen. Um eines dieser Demoprojekte zu laden, wird `Projekt - Öffnen - Demo' aufgerufen.

Falls das geladene Projekt die Programmquellen als extern gesetzt hat, so wird nach dem Öffnen die externe Quelldatei erzeugt (siehe Externe Programquellen).

Wird beim Bearbeiten eines Projekts eines der oben genannten Menüpunkte ausgewählt und das Projekt wurde noch nicht gespeichert, dann erscheint eine Sicherheitsmeldung, die nach einer Bestätigung fragt.

Man kann auch eine neue Version eines Projekts laden, indem man Menüpunkt `Projekt - Neu laden' wählt.


6.6 Projekt speichern

Alle Änderungen an einem Projekt werden nur im Speicher durchgeführt oder beim Auslagern von Datensätzen temporär gespeichert (siehe Datensätze auslagern). Um sie permanent zu machen, muss daher das Projekt auf Platte gespeichert werden. Dies wird durch `Projekt - Speichern' erledigt. Wenn das Projekt noch keinen Namen trägt, erscheint zuerst ein Dateiauswahlfenster und fragt nach einem Dateinamen.

Der Grund, warum BeeBase das Projekt nicht automatisch speichert, wenn sich etwas ändert, ist der, dass so der Benutzer entscheidet, wann das Projekt gespeichert wird, und der Benutzer durch Wählen von `Projekt - Zurück zum Gespeicherten' immer zur zuletzt gespeicherten Version des Projekts zurückkehren kann. Dieses Verfahren entspricht den Befehlen `COMMIT' und `ROLLBACK' in SQL-Datenbanksystemen.

Beim Speichern eines Projekts werden alle geänderten Datensätze auf Platte geschrieben und die Datei `Structure.bbs' neu erzeugt. Vor dem Erzeugen der Datei benennt BeeBase eine möglicherweise existierende Datei `Structure.bbs' in `Structure.old' um, um eine Sicherheitskopie zu haben, falls das Speichern misslingt.

Dieser Mechanismus garantiert schnelles Laden und Speichern, er erfordert aber gelegentliches Neuorganisieren (Umschichten) der Daten. Wenn viele Datensätze geändert wurden, dann werden die physikalische Reihenfolge der Datensätze und die daraus resultierende Fragmentierung zum Nachteil. Deshalb exisitiert ein Menüpunkt `Projekt - Umschichten & Speichern', der eine Umschicht- und Speicheroperation durchführt. Diese Operation kann etwas Zeit in Anspruch nehmen, die von der Anzahl und Größe der Datensätze abhängt. Die Umschicht- und Speicheroperation erzeugt ein neues Verzeichnis und schreibt alle projektbezogenen Dateien neu. Das alte Verzeichnis wird nach erfolgreicher Operation gelöscht.

Wenn Änderungen an der Struktur des Projekts durchgeführt wurden, wie z.B. das Einfügen eines neuen Feldes in einer Tabelle, so ist ein Umschichten auch sinnvoll. Strukturänderungen werden nicht automatisch an allen Datensätzen durchgeführt, da es zuviel Zeit in Anspruch nehmen würde, jeden Datensatz zu laden, ihn zu verändern und wieder auf Platte zurückzuschreiben. Daher werden diese Änderungen auf eine interne `todo'-Liste gesetzt, die nach dem Laden eines Datensatzes abgearbeitet wird. Das Anwenden dieser Liste auf einen Datensatz benötigt nur wenig Zeit. Je länger diese Liste jedoch wird, desto mehr Zeit wird beim Laden eines Datensatzes verbraucht. Das Umschichten eines Projekts führt dazu, dass die `todo'-Liste an allen Datensätzen durchgeführt wird. Wenn also viele Änderungen am Projekt durchgeführt wurden, so verkürzt das Umschichten des Projekts die Zeit zum Laden einzelner Datensätze.

Es ist auch möglich, ein Projekt unter einem neuen Dateinamen umzuschichten und zu speichern, ohne dass das alte Projekt geändert wird. Dies wird über den Menüpunkt `Projekt - Umschichten & Speichern als' angestoßen, welches nach einem neuen Namen für das Projekt fragt.


6.7 Als SQLite3-Datenbank exportieren

BeeBase benutzt ein eigenes Binärformat um ein Projekt zu speichern (siehe Dateiformat). Falls Sie Ihr Projekt in einer anderen Datenbank anschauen möchten, so können Sie es in das populäre SQLite3-Dateiformat exportieren, indem Sie Menüpunkt `Projekt - Als SQLite3-Datenbank exportieren' auswählen. Dies speichert alle Projektdaten inklusive der Datenbankstruktur in einer SQLite3-Datei. Es gibt viele Hilfs- und Anzeigeprogramme, welche SQLite3-Dateien lesen und schreiben können. Zu diesem Zeitpunkt ist es allerdings nicht möglich eine SQLite3-Datei wieder in BeeBase einzulesen.


6.8 Admin- und Benutzermodus

BeeBase arbeitet entweder im Admin- (voreingestellt) oder im Benutzermodus. Durch Wählen der Menüpunkte `Project - Zum Admin-Modus wechseln' oder `Project - Zum Benutzer-Modus wechseln' kann zwischen den beiden Modi gewechselt werden. Im Benutzermodus sind mehrere Menüpunkte gesperrt und Struktur-, Program- und Abfrageeditor sind nicht verfügbar. Es sind daher nur die Grundfunktionen der Datensatzbearbeitung möglich. Im Admin-Modus sind alle Operationen erlaubt.

Durch Auswahl das Menüpunkts `Project - Admin-Passwort ändern' kann ein Admin-Passwort für ein Projekt gesetzt werden. Wurde dieses einmal gesetzt, so muss bei jedem Wechsel in den Admin-Modus das Passwort bestätigt werden. Bei falscher Passworteingabe wird der Zugriff verweigert und das Projekt verbleibt im Benutzermodus.

Wird ein Projekt geöffnet, für das ein Admin-Passwort gesetzt wurde, so wird dieses im Benutzermodus gestartet. Andernfalls (es wurde kein Admin-Passwort gesetzt), wird das Projekt im Admin-Modus gestartet.


6.9 Datensätze auslagern

BeeBase muss nicht alle Datensätze eines Projekts im Speicher halten. Dadurch wird das Laden und Speichern von Projekten erheblich beschleunigt. Beim Laden eines Projekts wird für jeden Datensatz ein Datensatzkopf angelegt. Die Daten selbst werden nur dann geladen, wenn sie benötigt werden, z.B. wenn sie auf dem Bildschirm angezeigt werden sollen. Die Gesamtanzahl der Datensätze ist dennoch durch den verfügbaren Speicher begrenzt, da jeder Datensatzkopf einige Bytes Speicher benötigt.

Es kann festgelegt werden, wieviel Speicher für die Datensätze eines Projekts verwendet werden darf. Dazu wird einer der vorgegebenen Werte im Menü `Einstellungen - Datensatzspeicher' eingestellt (siehe Datensatzspeicher). BeeBase belegt nicht vorab den Speicher der angegebenen Größe, sondern prüft von Zeit zu Zeit, ob die Größe des momentan belegten Speichers größer ist als die angegebene.

Wenn BeeBase der Speicher ausgeht oder die Obergrenze für den Datensatzspeicher erreicht ist, dann versucht es, so viele Datensätze wie möglich freizugeben. In diesem Fall schreibt BeeBase veränderte Datensätze auf Platte, um ein Maximum an verfügbarem Speicher zu erhalten. Dieser Vorgang kann auch über den Menüpunkt `Projekt - Datensätze auslagern' erzwungen werden.

BeeBase verwaltet eine Frei-Liste für jede Datensatzdatei. Wird ein Datensatz gelöscht, so wird der zugehörige Dateiplatz zu dieser Frei-Liste hinzugefügt. Auch bei einer Änderung eines Datensatzes, der auf die Platte geschrieben werden soll, wird der alte Platz der Datei in der Frei-Liste eingetragen. BeeBase stellt jedoch sicher, dass beim Neuladen immer zum Stand der letzten Speicheroperation zurückgegekehrt werden kann. Es werden keine Bereiche beschädigt, die frei aber dennoch von Datensätzen belegt sind, die beim Neuladen des Projekts erreicht werden könnten.


6.10 Projekt schließen

Wenn die Bearbeitung eines Projekt abgeschlossen ist, kann es über den Menüpunkt `Projekt - Schließen' geschlossen werden. Dies gibt den Speicher und alle Resourcen des Projekts frei. Falls das Projekt Änderungen besitzt, die noch nicht gespeichert wurden, so bietet eine Sicherheitsmeldung an, es zu speichern, fortzusetzen oder die Operation abzubrechen.

Zum Schließen eines Projekts kann auch der Menüpunkt `Projekt - Speichern & Schließen' verwendet werden, bei dem das Projekt zuerst gespeichert, sofern Änderungen vorlagen, und dann geschlossen wird.


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

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