# Das Handbuch zu &kexi;

## Einleitung

&kexi; ist ein Programm zur Verwaltung von Datenbanken. Sie können mit &kexi; Datenbanken erstellen, Daten darin einfügen, Abfragen stellen und Daten bearbeiten. Selbst entworfene Formulare ermöglichen ein angepasste Benutzerschnittstelle. Alle Datenbankobjekte - Tabellen, Abfragen und Formulare - werden in der Datenbank gespeichert, um Daten und deren Darstellung gemeinsam zu benutzen.

&kexi; ist Bestandteil des &calligra;-Büropakets von &kde;.

Zusätzlich zu Speicherung der &kexi;-Datenbank in Dateien können Sie mit &kexi; Ihre Daten auch auf einem Datenbank-Server ablegen. Das ermöglicht es Ihnen, die Daten gemeinsam und gleichzeitig mit mehreren Personen zu bearbeiten. Folgende Datenbank-Server werden von &kexi; unterstützt:

- MySQL

- PostgreSQL

Weitere Informationen über &kexi; finden Sie auf der &kexi;-Seite des Calligra-Projekts und auf der Webseite für Kexi.

Für Fragen zu &kexi; gibt es zwei Mailinglisten. Auf der Mailingliste für &kexi;-Benutzer können Sie Fragen über die Anwendung von &kexi; oder das &kexi;-Projekt stellen. Die Mailingliste für &kexi;-Entwickler ist für Fragen zur Programmierung von &kexi; gedacht. Weitere Informationen zum Abonnieren dieser Listen zusammen mit weiteren Informationen über den Kontakt mit den &kexi;-Entwicklern finden Sie auf dieser Seite.

Dieses Handbuch für &kexi; 2.5 basiert auf dem Handbuch für &kexi; 1.1. Bitte koordinieren Sie alle Aktualisierungen mit Jarosław Staniek, E-Mail: kexi at kde.org

## Grundlagen für die Arbeit mit &kexi;

- &kexi;-Datenbanken

- Erstellung einer neuen Datenbankdatei

- Das Hauptfenster von &kexi;

  - Hauptbedienelemente des Programms

- Öffnen einer vorhandenen &kexi;-Datenbankdatei

  - Öffnen einer Datenbankdatei im Dialog Projekt öffnen

  - Öffnen einer vorhandenen &kexi;-Datenbankdatei durch Klicken auf das Symbol der .kexi-Datei

- Hilfe in &kexi;

### &kexi;-Datenbanken

Viele Programme wie zum Beispiel OpenOffice.org, LibreOffice oder &Microsoft; Excel erzeugen Dateien, die als Dokumente bezeichnet werden. Auch &kexi; erzeugt Dateien, aber sie werden in diesem Handbuch &kexi;-Datenbankdateien, oder kürzer, Datenbankdateien genannt.

Zusätzlich zur Speicherung der Datenbank in Dateien kann &kexi; auch Datenbanken auf Datenbank-Servern benutzen, darum wird hier der Begriff Datenbankdateien verwendet, nicht einfach nur Datenbanken.

Der Begriff &kexi;-Projekt, oder kürzer, Projekt wird hier auch für die &kexi;-Datenbank benutzt, unabhängig davon, ob die Daten in Dateien oder auf einem Datenbank-Server gespeichert werden.

&kexi;-Datenbankdateien haben normalerweise die Erweiterung `.kexi`

### Erstellung einer neuen Datenbankdatei

1. Starten Sie &kexi; oder benutzen Sie in einem bereits gestarteten Programm im Menü &Ctrl;N Kexi Neu ... .

2. Wählen Sie auf der Seite Neues Projekt im Abschnitt Leere Projekte Leere Datenbank.

3. Auf der Seite Speichermethode klicken Sie auf Datei.

4. Geben Sie auf der Seite Projekttitel & Dateiname einen Titel und den Dateinamen für das Projekt ein.

5. Klicken Sie auf Weiter, um das Projekt zu erstellen.

- Wenn Sie den Projekttiteländern, wird der Dateiname automatisch passend geändert.

- Klicken Sie auf das Symbol Dateiauswahl, um den Ordner zur Speicherung der Datenbankdatei auszuwählen.

### Das Hauptfenster von &kexi;

Die Unterfenster-Werkzeugleiste oben im Fenster ermöglicht den Zugriff auf häufig gebrauchte Aktionen und Befehle.

Der Projektnavigator und der Eigenschafteneditor werden auf der linken und rechten Seite des Hauptfensters angezeigt. Beide Bereiche können nach Bedarf in der Größe verändert oder ausgeblendet werden. Durch Klicken auf das kleine Kreuz oben (direkt unterhalb der Werkzeugleiste) kann ein Fensterbereich ausgeblendet werden.

Datenbankobjekte (Tabellen, Abfragen &etc;), die im Projektnavigator angezeigt werden, können durch Klicken (oder Doppelklicken je nach den allgemeinen &kde;-Einstellungen) auf den Namen geöffnet werden.

#### Hauptbedienelemente des Programms

Die wichtigsten Bedienelemente im Programmfenster von &kexi; sind:

Unterfenster-Werkzeugleiste

- Enthält alle Befehle des Programms. Ausführliche Erläuterungen zu den einzelnen Befehlen finden Sie in der Befehlsreferenz in diesem Handbuch.

Projektnavigator

- Enthält eine Liste aller Objekte (Tabellen, Abfragen, Formulare ...) des aktuell geöffneten Datenbankprojekts. Dieser Bereich enthält außerdem eine kleine Werkzeugleiste mit den wichtigsten Befehlen für Datenbankobjekte.

Fenster für geöffnete Datenbankobjekte / Unterfenster

- Der wichtigste Bereich des Programms, der den größten Teil des Programmfensters einnimmt. Hier befinden sich die Unterfenster der geöffneten Datenbankobjekte.

Eigenschafteneditor

- Enthält Liste der Eigenschaften der aktuell geöffneten Datenbankobjekte. Für einige Objekte (z. B. Bedienelemente auf Formularen) werden hier auch mehrere Karteikarten angezeigt.

#### Unterfenster-Werkzeugleiste

In der Werkzeugleiste finden Sie die am meisten benutzten Befehle und Aktionen für &kexi;.

Mit den Aktionen der Werkzeugleisten der verschiedenen Karteikarten und Unterfenster können Sie folgende Aufgaben durchführen:

- Kexi-Projekte erstellen / öffnen / schließen

- Datenbankobjekte erstellen

- Daten importieren/exportieren

Abhängig vom Kontext werden zusätzliche Karteikarten angezeigt:

- Die Karteikarte Formularentwurf wird angezeigt, wenn ein Formular bearbeitet wird.

- Die Karteikarte Berichtsentwurf wird angezeigt, wenn ein Bericht bearbeitet wird.

#### Projektnavigator

Der Projektnavigator ist einer der am häufigsten gebrauchten Bereiche im Hauptfenster von &kexi;. Der Bereich enthält eine Liste aller Objekte des aktuell geöffneten Datenbankprojekts. Die Objekte sind in die Gruppen Tabelle, Abfrage, Formular, Bericht und Skript aufgeteilt.

Der Projektnavigator enthält außerdem eine kleine Werkzeugleiste mit den am häufigsten gebrauchten Befehlen für ausgewählte Objekte (von links nach rechts): Öffnen, Entwurf und Löschen.

Für jedes Objekt in der Liste können Sie mit der &RMBn; ein Kontextmenü öffnen, um ein Objekt zu erstellen.

Durch Doppelklicken mit der &LMBn; auf den Namen eines Objekts in der Liste öffnen Sie das Objekt in der Datenansicht. Ist das Objektfenster bereits geöffnet, wird nur das Fenster ohne Wechsel des Ansichtsmodus aktiviert.

Auch wenn im Betriebssystem oder in der Fensterverwaltung Einzelklicks statt Doppelklicks eingestellt sind, verwendet &kexi; Doppelklicks im Projektnavigator. Damit wird verhindert, dass unbeabsichtigt große Datensätze geöffnet oder Abfragen ausgeführt werden.

#### Fenster für geöffnete Datenbankobjekte / Unterfenster

Wenn Sie auf ein Projekt im Projektnavigator doppelklicken, wird es im Bereich der geöffneten Datenbankobjekte angezeigt. Jedes Fenster in diesem Bereich wird in einem eigenen Unterfenster dargestellt.

Sie können die Unterfenster durch Ziehen und Ablegen neu anordnen und Sie durch Klicken auf den Knopf rechts auf dem Karteireiter schließen.

Für spätere &kexi;-Versionen ist eine MDI-Benutzeroberfläche (Multi Document Interface) geplant, die das Verselbstständigen von Unterfenstern erlaubt. Dies ist kann besonders für benutzerdefinierte Lösungen oder mehrere Monitore nützlich sein.

#### Eigenschafteneditor

Im Eigenschafteneditor können Sie die Eigenschaften der Objekte im aktuellen Fenster bearbeiten. Abhängig von der Art der Objekte enthält dieser Bereich eine oder mehrere Karteikarten. Die erste immer vorhandene Karteikarte Eigenschaften zeigt eine Liste aller vorhandenen Eigenschaften an.

Hinweise für das Arbeiten mit dem Eigenschafteneditor:

- Jede Zeile enthält eine einzelne Eigenschaft.

- Eigenschaften können Sie mit der Maus oder mit der Tastatur bearbeiten, um einzelne Werte zu ändern.

- Die am häufigsten gebrauchten Typen von Eigenschaftswerten sind:

  - eine Zahl, sie können entweder den Wert direkt eingeben oder den Wert durch Klicken mit der &LMB; auf die Pfeile vergrößern oder verkleinern.

  - Text

  - ein Auswahlfeld mit Werten

  - Ja/Nein, sie können den Wert durch Klicken auf den Knopf umschalten. Ja (Wahr) bedeutet, das die Eigenschaft aktiviert ist, Nein (Falsch), das die Eigenschaft nicht aktiviert ist.

- Sie müssen die Änderung eines Wertes nicht bestätigen, die Änderungen sind sofort sichtbar, wenn Sie eine andere Zeile in der Liste im Eigenschafteneditor auswählen oder die Taste &Enter; drücken.

- Namen von gerade geänderten Eigenschaften, die noch nicht in der Datenbank gespeichert sind, werden fett angezeigt.

- Nach der Änderung des Wertes einer Eigenschaft erscheint der besondere Knopf Änderungen zurücknehmen rechts im ersten Feld der Liste des Eigenschafteneditors. Durch Klicken auf diesen Knopf können Sie den Wert der Eigenschaft wieder auf den ursprünglichen Wert zurücksetzen, den die Eigenschaft beim Laden der Datenbank durch Öffnen des Datenbankobjekts hatte.

Der Eigenschafteneditor zeigt nichts an, wenn:

- kein einzelnes Datenbankobjekt geöffnet ist oder

- das aktive Datenbankobjekt keine Eigenschaften hat, d. h. normalerweise, dass das Objekt in der Datenansicht und nicht in der Entwurfsansicht angezeigt wird.

### Öffnen einer vorhandenen &kexi;-Datenbankdatei

Es gibt zwei Möglichkeiten, um eine vorhandene &kexi;-Datenbankdatei zu öffnen:

#### Öffnen einer Datenbankdatei im Dialog Projekt öffnen

- Starten Sie &kexi;. Dann wird der Startdialog Willkommen zu Kexi angezeigt, in dem Sie ein zuletzt geöffnetes Projekt wieder öffnen können.

- Wird das gesuchte Projekt nicht auf dieser Seite aufgeführt, benutzen Sie die Aktion Öffnen ... (&Ctrl;O). Dann wird folgender Dialog angezeigt:

- Wählen Sie in der Adressleiste einen Ordner, der Ihre gesuchte Datei enthält.

- Klicken Sie auf eine Datei in der Liste, dann wird Sie direkt geöffnet. Alternativ geben Sie den Namen in das Feld Name ein und klicken Sie auf Weiter.

Anmerkung

- Als Voreinstellung ist im Kombinationsfeld Filter: Alle unterstützten Dateien (*.kexi, *.kexic, *.kexis, *.mdb) eingestellt. Hat Ihre gesuchte Datei eine andere Dateierweiterung, ändern Sie die Auswahl im Feld Filter: in Alle Dateien, um sich alle Dateien unabhängig von der Dateierweiterung anzeigen zu lassen.

- Wenn Sie keine &kexi;-Datei ausgewählt haben, sondern zum Beispiel eine `.mdb`-Datei aus MS Access, können Sie diese Datei in eine neue &kexi;-Datei importieren.

- Wenn Sie eine Datenbankverbindungs-Datei (mit der Erweiterung `.kexic`) oder eine Verknüpfung zu einem Projekt auf einem Datenbank-Server (mit der Erweiterung `.kexis`) ausgewählt haben, öffnet &kexi; die zugehörigen Dialoge.

#### Öffnen einer vorhandenen &kexi;-Datenbankdatei durch Klicken auf das Symbol der .kexi-Datei

- Klicken Sie auf das Dateisymbol in Ihrer Dateiverwaltung oder auf der Arbeitsfläche und &kexi; öffnet automatisch das Datenbankprojekt.

Anmerkung

Anmerkung zum Zugriff auf Datenbankdateien auf entfernten Rechnern. Vielleicht möchten Sie eine Datenbankdatei auf einem entfernten Rechner öffnen (z. B. ein Web- oder FTP-Server oder auf einer MS-Windows-Netzwerkfreigabe) Mit KDE können Sie Dateien auf entfernten Rechnern direkt in Anwendungen laden und die Änderungen wieder zurück speichern, das funktioniert aber nicht mit Datenbankdateien. Wenn Sie eine Datenbankdatei auf einem entfernten Rechner öffnen, wird eine Kopie dieser Datei in einen temporären Ordner kopiert und alle Änderungen an den Daten werden in dieser lokalen Datei gespeichert. Die ursprüngliche entfernte Datei bleibt unverändert. Daher ist es erforderlich, zuerst die Datei auf Ihren Rechner zu kopieren (herunterzuladen), sie dann zur Bearbeitung zu öffnen und sie schließlich wieder auf den entfernten Rechner zurück zu kopieren, damit die ursprüngliche Datei aktualisiert wird.

### Hilfe in &kexi;

In &kexi; finden Sie die folgende Hilfen:

Das Handbuch, das auf dem Computer installiert ist.

- Das Handbuch öffnen Sie mit der Taste F1 oder klicken Sie auf in der Menüleiste und wählen Sie dann Hilfe.

Die Was ist das?-Hilfe.

- Wählen Sie Was ist das? aus dem Menü, das durch Klicken auf geöffnet wird und klicken Sie dann auf einem Bereich des Programms, für den Sie Hilfen brauchen.

## Einfache Datenbanken erstellen

- Einleitung

- Entwurf von Datenbanktabellen

  - Das Fenster Tabellenentwurf

- Eingabe von Daten in Tabellen

- Entwurf von Datenbankabfragen

- Entwurf von Formularen

  - Die wichtigsten Begriffe

  - Formulare im Vergleich zu Tabellen

  - Arbeiten im Formularentwurf

  - Arbeiten mit der Karteikarte Bedienungselemente

  - Einfügen von Bedienungselementen - Textfelder

  - Datenquellen zuweisen

  - Einfügen von Beschriftungsfeldern

  - Aktionen

  - Anordnung von Bedienungselementen

- Dateneingabe mit Formularen

### Einleitung

Um Grundkenntnisse für die Arbeit mit &kexi; zu erwerben, erstellen Sie eine einfache Datenbank, in der die grundlegenden Eigenschaften von &kexi; benutzt werden. Fortgeschrittene Themen zum Entwurf von Datenbanken werden dabei nicht behandelt.

Beginnen Sie mit der Erstellung eines neuen leeren Telefonbuchs.

Mit einem neuen leeren Datenbankprojekt führen Sie folgende Aufgaben aus:

1. Datenbanktabellen entwerfen. Siehe den Abschnitt Entwurf von Datenbanktabellen.

2. Daten in Tabellen eingeben. Siehe Eingabe von Daten in Tabellen.

3. Datenbanktabellen entwerfen Siehe den Abschnitt Entwurf von Datenbankabfragen.

4. Formulare entwerfen. Siehe den Abschnitt Entwurf von Formularen.

5. Daten mit Hilfe von Formularen eingeben. Siehe den Abschnitt Dateneingabe mit Formularen.

### Entwurf von Datenbanktabellen

Zuerst werden zwei Tabellen zu Ihrer Datenbank hinzugefügt: `Personen` und `Telefon`. Dies sind die gleichen Dateien wie im Kapitel Datenbanken und Tabellenkalkulation beschrieben. Den Entwurf der Tabelle `Personen` finden Sie im Abschnitt Integrität und Gültigkeit von Daten.

1. Wählen Sie Tabelle in der Werkzeugleiste oder benutzen Sie Objekt: Tabelle erstellen im Kontextmenü des Projekt-Navigator.

2. Die neue Tabelle wird nun im Entwurfsmodus angezeigt. Oben im Entwurfsfenster sehen Sie, dass die Tabelle einen allgemeinen Namen wie Tabelle1 erhalten hat. Der Tabellenentwurf ist noch nicht gespeichert, später können Sie der Tabelle einen geeigneten Namen geben. Außerdem wird die Tabelle noch nicht im Projektnavigator angezeigt.

#### Das Fenster Tabellenentwurf

##### Das Fenster Tabellenentwurf enthält folgende Spalten:

- - Zusätzliche Informationen über das Feld

- Feldbeschriftung - der Titel des Feldes, der bei der Dateneingabe angezeigt wird.

- Datentyp - ein Kombinationsfeld mit einer Liste von Datentypen, mit denen Sie den Haupttyp der Eingabedaten für ein bestimmtes Feld vorgeben können. Wenn zum Beispiel eine Ganzzahl als Datentyp für ein Feld eingestellt ist, kann der Benutzer der Datenbank in dieses Feld keine Buchstaben eingeben.

- Kommentare - Geben Sie hier zusätzliche Erläuterungen zum Datenfeld ein. Dieser zusätzliche Text wird im Datenbankentwurf gespeichert und nur im Entwurfsmodus angezeigt.

Im Fenster Tabellenentwurf entspricht jede Zeile einem einzelnen Feld in der Tabelle. Den Entwurfsmodus erkennen Sie am eingeschalteten Knopf Entwurf in der Werkzeugleiste des Fensters Tabellenentwurf.

##### Entwurf der Tabelle Personen

Klicken Sie in die Zelle in der ersten Zeile in der Spalte Feldbeschriftung und geben Sie `Name` ein. Mit der Eingabe im Feld Feldbeschriftung wird automatisch auch das Feld Name wie im Eigenschafteneditor ausgefüllt.

Anmerkung zu Namen und Beschriftung von Feldern

- Jedes Feld in einer Tabelle muss einen Name und einen Titel haben. Dies ist zwingend erforderlich.

- Der Feldname wird intern von der Datenbank verwendet und ist normalerweise für die Benutzer nicht sichtbare >. Der Name darf keine Sonderzeichen (wie ±, ¶, Ü) oder Leerzeichen, sondern nur lateinische Buchstaben, Zahlen und den Unterstrich _ enthalten. Benutzen Sie den Unterstrich als Ersatz für Leerzeichen oder Bindestriche.

- Feldnamen müssen mit einem Buchstaben oder einem Unterstrich _ beginnen, eine Zahl als erstes Zeichen ist nicht möglich.

- Groß- und Kleinschreibung wird dabei nicht beachtet. In &kexi; sind die Feldnamen `Personen` und `personen` gleich.

- Im Gegensatz dazu können Sie im Feld Titel jeden Buchstaben und Sonderzeichen eingeben. Der Titel wird den Benutzern der Datenbank angezeigt.

Fügen Sie in gleicher Weise die folgenden Felder in den Tabellenentwurf ein:

- `Nachname`

- `Straße`

- `Hausnummer`

- `Stadt`

Alle oben genannten Felder mit Ausnahme der `Hausnummer` haben den Typ Text. Ändern Sie den Typ von `Hausnummer` in Ganzzahl, indem Sie auf die Zelle in der Spalte Datentyp in der Zeile `Hausnummer` klicken und dann auf den Pfeil rechts in der Zelle. Sie können auch die Taste F4 drücken. Damit öffnen Sie eine Liste mit allen Datentypen. Auch mit den Pfeiltasten Pfeil runter und Pfeil hoch können Sie denen Typ wechseln. Wählen Sie den Typ Ganzzahl.

Jetzt können Sie im Feld `Hausnummer` nur ganze Zahlen eingeben.

Der Entwurf der Tabelle Personen ist damit fertiggestellt. Klicken Sie auf den Knopf Daten in der Werkzeugleiste, um den Entwurf zu beenden und die Tabelle in der Datenansicht anzuzeigen. In dieser Ansicht können Sie Daten in die Tabelle eingeben.

Da der Entwurf der Tabelle noch nicht in der Datenbank gespeichert ist, erscheint der Dialog Objekt speichern unter. Geben Sie Titel und Namen für die neue Tabelle ein.

Die Felder sind mit allgemeinen Namen wie Table1 bezeichnet. Um den Namen zu ändern, geben Sie `Personen` in das Feld Titel ein und drücken Sie die Taste &Enter; oder klicken Sie auf OK. Der Name im Feld Titel wird zur Anzeige der Tabelle für Datenbanknutzer ⪚ in einem Formular angezeigt. Anders als der Name darf der Titel jedes beliebige Zeichen einschließlich Leer- und Sonderzeichen enthalten.

Beachten Sie, dass bei der Eingabe im Feld Titel automatisch auch das Feld Name ausgefüllt wird. Als Hilfe werden dabei nur Buchstaben, Zahlen und der Unterstrich _ verwendet. Den Inhalt des Feldes Name können Sie auch direkt eingeben oder ändern.

1. Jetzt folgt eine Abfrage über die Erstellung eines Primärschlüssels für die Tabelle. Klicken Sie auf den Knopf Primärschlüssel, um fortzufahren.

2. Die Tabelle `Personen` ist damit erstellt und in der Datenansicht geöffnet. Der Name der Tabelle wird jetzt im Projektnavigator angezeigt.

3. Erstellen Sie die Tabelle `Telefon` auf die gleiche Weise wie die Tabelle `Personen`.

4. Erstellen Sie ein Feld `Person` mit dem Typ Ganzzahl und `Telefon` mit dem Typ Text. Verwenden Sie für `Telefon` keinen Zahlentyp, da Telefonnummern verschiedene Formate und Präfixe enthalten können.

5. Klicken Sie auf den Knopf Daten in der Werkzeugleiste und geben Sie `Telefon` als Titel der Tabelle ein. Lassen Sie &kexi; wie in der vorherigen Tabelle automatisch einen Primärschlüssel erzeugen.

### Eingabe von Daten in Tabellen

Sie haben die zwei Tabellen `Personen` und `Telefon` entworfen. Aber beide enthalten noch keine Daten. In diesem Kapitel wird gezeigt, wie Sie schnell und effizient Daten in Tabellen eingeben.

Beginnen Sie mit der Tabelle `Personen`. Öffnen Sie sie in der Datenansicht mit Öffnen aus dem Kontextmenüs im Projektnavigator oder mit dem zugehörigen Knopf in der Werkzeugleiste. Die aktuelle Zelle ist mit einem (üblicherweise schwarzen) dicken Rand dargestellt, dem Zellen-Cursor. Der Inhalt der Zelle wird in einer anderen Farbe hervorgehoben. Die aktuelle Zeile, &ie; die Zeile mit dem rechteckigen Cursor, ist mit einem Pfeilsymbol am linken Rand gekennzeichnet.

Mit den Pfeiltasten und mit den Tasten Bild ab, Bild auf, Pos1 und Ende können Sie den Zellen-Cursor in der Tabelle zwischen den Zellen bewegen, außerdem können Sie mit der Maus in eine Zelle klicken, um sie auszuwählen.

Nach dem Öffnen der Tabelle `Personen` befindet sich der Cursor anfangs in der Spalte ID. Diese Spalte hat die Eigenschaft automatische Nummerierung, das ist am blauen Text (Autonummerierung) in der letzten Zeile zu erkennen. Bei Spalten mit dieser Eigenschaft müssen Sie die Werte nicht von Hand eingeben, da die Zellen bei der Dateneingabe in einer neuen Zeile automatisch mit aufsteigenden Zahlen gefüllt werden.

In &kexi; unterscheidet sich das Einfügen von neuen Zeilen und die Eingabe von Daten von der Arbeitsweise bei Tabellenkalkulationen. Um Daten für eine neue Zeile einzugeben, müssen Sie die Pfeiltasten oder die Maus benutzen, um damit den Cursor in die besondere letzte leere Zeile mit dem Pluszeichen zu bewegen. Setzen Sie den Cursor in die (zweite) Spalte `Name` und geben Sie den Vornamen einer Person ein, dann den Nachnamen, Straße, Hausnummer und Stadt. Nun bewegen Sie den Zellen-Cursor entweder mit der Taste Pfeil runter in die letzte leere Zeile oder Doppelklicken mit der Maus in die letzte Zeile, um eine neue Zeile anzufügen.

#### Einzelheiten über verfügbare Aktionen während der Dateneingabe in Tabellen

- Sobald Sie das erste Zeichen eingeben, befindet sich die aktuelle Zeile im Bearbeitungsmodus. Ein Stiftsymbol wird am Anfang der Zeile auf der linken Seite der Datentabelle angezeigt.

- Doppelklicken Sie auf eine Zelle mit der &LMBn; oder drücken Sie die Tasten &Enter; oder F2, um die Bearbeitung der aktuellen Zeile zu beginnen.

- Drücken Sie während der Eingabe die Taste &Esc;, werden alle Änderungen an den Daten in dieser Zelle verworfen. Das Stiftsymbol bleibt jedoch weiterhin sichtbar, da Sie immer noch eine andere Zelle in der aktuellen Zeile bearbeiten können. Um alle Änderungen an der gesamten Zeile zu verwerfen, drücken Sie noch einmal die Taste &Esc;.

- Anstatt die Taste &Esc; zu drücken, können Sie auch auf den Knopf Datensatzänderung verwerfen in der Werkzeugleiste benutzen.

- Drücken Sie die Tasten &Shift;&Enter;, um die Änderungen an allen Zellen in der gerade bearbeiteten Zeile zu übernehmen.

Geben Sie alle Daten in die Tabelle `Telefon` ein. In der Spalte `Personen` müssen Sie die Nummer einer Person aus der Tabelle `Personen` eingeben.

### Entwurf von Datenbankabfragen

Der wichtigste Zweck einer Datenbank ist die Speicherung und Hilfe bei der Auswertung der gesuchten Informationen. Anders als bei Datenbanken auf Papier können Sie für Datenbanken in &kexi; mehrere Bedingungen für eine Suche angeben. Die Ergebnisse werden sogar aus großen Datenbanken schneller ausgegeben. Dies zeigt die Leistungsfähigkeit von Datenbanken, aber um effektive Abfragen stellen zu können, müssen Sie die Formulierung von Abfragen für die gesuchten Informationen erlernen.

Mit Datenbankabfragen können Sie den Umfang der Daten auf einen vorgegebenen Satz von Zeilen und Spalten begrenzen und auch gleichzeitig dynamisch Daten aus mehreren Tabellen miteinander verbinden.

Um zu sehen, wie Abfragen in der Praxis benutzt werden, erstellen Sie eine Abfrage `Kontakte`, die die Daten aus zwei Tabellen `Personen` und `Telefon` miteinander verbindet. Diese Tabellen wurden in diesem Abschnitt entworfen und hier mit Daten gefüllt.

1. Erstellen Sie eine neue leere Abfrage mit dem Knopf Abfrage aus der Werkzeugleiste. Die Abfrage wird im Entwurfsfenster geöffnet. Das Fenster ist in zwei Bereiche aufgeteilt: oben die Abfragebeziehungen und unten die Abfragespalten.

2. Wählen Sie die Tabelle `Personen` im dem Auswahlfeld Tabelle: oben im Fenster und klicken Sie auf Hinzufügen. Eine grafische Darstellung der Tabelle wird im Bereich Abfragebeziehungen angezeigt. Fügen Sie auch die Tabelle `Telefon` auf die gleiche Weise ein.

3. Fügen Sie Abfragebeziehungen durch Ziehen und Ablegen mit der Maus hinzu: Klicken Sie auf das Feld Id in der Tabelle `Personen` und ziehen Sie es zum Feld `Personen` in der Tabelle `Telefon`. Damit verbinden Sie die beiden Felder durch eine neue Beziehung.

4. Doppelklicken Sie auf das Feld `Name` in der Tabelle `Personen`, um das Feld als Abfragespalte hinzuzufügen. Auf die gleiche Weise fügen Sie die Felder `Nachname`, `Straße`, `Hausnummer` und `Stadt` aus der Tabelle `Personen` und das Feld `Telefon` aus der Tabelle `Telefon` ein.

5. Der Abfrageentwurf ist jetzt bereit für einen Test. Klicken Sie auf den Knopf Daten in der Werkzeugleiste, um vom Entwurf zur Datenansicht zu wechseln und das Ergebnis der Abfrage zu sehen.

6. Speichern Sie den Abfrageentwurf für eine spätere Wiederverwendung durch Klicken auf den Knopf Speichern in der Werkzeugleiste. Da der Abfrageentwurf noch nicht gespeichert wurde, müssen Sie dafür einen Namen eingeben. Geben Sie `Kontakte` in das Feld Titel ein und drücken Sie dann auf OK.

### Entwurf von Formularen

- Die wichtigsten Begriffe

- Formulare im Vergleich zu Tabellen

- Arbeiten im Formularentwurf

- Arbeiten mit der Karteikarte Bedienungselemente

- Einfügen von Bedienungselementen - Textfelder

- Datenquellen zuweisen

- Einfügen von Beschriftungsfeldern

- Aktionen

- Anordnung von Bedienungselementen

#### Die wichtigsten Begriffe

Formular

- Ein Fenster für einfache Dateneingabe und -darstellung auf dem Bildschirm des Rechners.

Datenquelle des Formulars

- Datenbanktabelle oder Datenbankabfrage, deren Daten im Formular angezeigt werden. Die Datenquelle ist erforderlich, da Formulare nur Werkzeuge zur Darstellung und Eingabe von Daten sind, während Tabellen und Abfrage als Datenquelle dienen. Neue leere Formulare sind mit keiner Datenquelle verbunden, sodass sie solange keine Daten aus Ihrer Datenbank anzeigen, bis Sie eine Verbindung mit einer Datenquelle herstellen.

Formularfeld

- Entspricht einer Spalte in einer Tabelle oder Abfrage. Am häufigsten werden Felder zur Anzeige von Text und Zahlen benutzt. Die Eingabe eines neuen Wertes oder die Änderung von vorhandenen Werten in einem Feld verändern auch den Wert in der Spalte der mit dem Formular verbundenen Tabelle oder Abfrage, nachdem diese Änderungen übernommen wurden.

Formularentwurf

- Aufgaben zur Festlegung von Erscheinungsbild und Funktion von Formularen. Dazu sind Datenquellen erforderlich und es müssen verschiedene Arten von Formularfeldern an passender Stelle eingefügt werden.

Bedienungselement eines Formulars

- Die Elemente in einem Formular. Die wichtigsten Typen sind:

  - Bedienungselemente zur Anzeige von Informationen, z. B. ein Text- oder Bildfeld. Jedes Element dieser Art kann mit dem Feld einer Datenquelle (einer Spalte in einer Tabelle oder Abfrage) verbunden werden. Daher werden solche Bedienungselemente auch als Formularfelder bezeichnet.

  - Bedienungselemente, die eine bestimmte Aktion auslösen können, z. B. ein Befehlsknopf, mit dem Sie ein Formular schließen können. In anderen Programmen werden diese Elemente manchmal auch Formularkontrolle genannt, weil mit ihnen vorher festgelegte Aktionen ausgeführt werden, die das Verhalten der Datenbankanwendung kontrollieren.

  - Mit anderen Oberflächen können Sie das Erscheinungsbild des Formulars verbessern, ⪚ mit einem Linienelement das Formular in zwei Bereiche teilen.

Gruppenelement

- Ein Bedienungselement, das andere Elemente enthalten kann. Zum Beispiel Rahmen oder Karteikarten sind Gruppenelemente, wie auch das Formular selbst. Ein Befehlsknopf ist kein Gruppenelement, da es nicht möglich ist, ein anderes Element darin einzufügen. In komplizierten Fällen können Gruppenelement in andere Gruppenelemente eingefügt werden.

#### Formulare im Vergleich zu Tabellen

In Kapitel Eingabe von Daten in Tabellen haben Sie gelernt, Daten direkt in Tabellen in der Datenansicht einzugeben. In manchen Fällen jedoch eignen sich Formulare besser für diese Aufgabe:

- Eine Tabelle kann aus so vielen Spalten bestehen, dass sie nicht mehr alle auf dem Bildschirm angezeigt werden können. In einem Formular können diese Daten in mehreren Zeilen dargestellt werden.

- Im Formular können Datenfelder in Gruppen zusammengefasst werden, das verbessert die Lesbarkeit. Beschriftungen mit zusätzlichen Informationen können eingefügt werden, um Hinweise zur Benutzung des Formulars und der Bedeutung der Datenfelder zu geben.

- Befehlsknöpfe können in Formularen für häufig gebrauchte Befehle benutzt werden, sodass die Benutzer Formulare wie eigenständige Programme bedienen können.

In der Datenansicht können Sie mehrzeilige Datentextfelder oder Bilder genauso wie in Formularen anzeigen.

#### Arbeiten im Formularentwurf

Wie beim Entwurf von Tabellen oder Abfragen können in der Datenansicht oder der Entwurfsansicht arbeiten. Der Entwurf eines Formulars wird in der Entwurfsansicht erstellt. Das Entwurfsfenster des Formulars wird in diesem Handbuch häufig als Formularentwurf bezeichnet.

1. Um ein neues leeres Formular zu öffnen, wählen Sie Formular in der Werkzeugleiste, den Befehl Objekt erstellen: Formular im Auswahlfeld in der Werkzeugleiste im Projektnavigator oder Objekt erstellen: Formular ... aus dem Kontextmenü im Projektnavigator wählen.

2. Ein neuer Rahmen wird angezeigt, dessen Größe Sie durch Verschieben der Ränder ändern können. Im Formular wird ein Gitter angezeigt, um die genaue Ausrichtung von Elementen zu erleichtern.

Wie im Tabellenentwurf gibt es auch im Formularentwurf einen Eigenschafteneditor. Er besteht aus drei Karteikarten, damit er wenig Platz auf dem Bildschirm einnimmt.

Die Karteikarte Eigenschaften

- Enthält eine Liste der Eigenschaften des aktuell ausgewählten Bedienungselements.

Die Karteikarte Datenquelle

- Enthält die Datenquelle des ausgewählten Bedienungselements oder des Formulars selbst.

Die Karteikarte Bedienungselemente

- Zeigt alle Elemente eines Formulars in einer Baumstruktur. Die Liste erleichtert die Suche nach Elementen über den Namen und den Wechsel zwischen den Elementen.

Informationen über den Namen und Typ des aktuell ausgewählten Elements werden in der ersten und zweiten Spalte angezeigt.

Außerdem sind zusätzliche Werkzeugleisten vorhanden:

- Die Werkzeugleiste Bedienungselemente für das Einfügen neuer Elemente in das Formular. Wählen Sie Formularentwurf, um diese Werkzeugleiste anzuzeigen.

#### Arbeiten mit der Karteikarte Bedienungselemente

Die Karteikarte Bedienungselemente im Eigenschafteneditor zeigt eine Liste der Elemente des Formulars und deren Hierarchie an. Jedes Element wird in der Hierarchie neben anderen Elementen in der gleichen Rangordnung (im selben Gruppenelement) angezeigt. Untergeordnete Elemente (innerhalb von Gruppenelementen) werden durch Einrückung der Namen gekennzeichnet.

Für jedes Element wird der Name und der Typ angezeigt. Der Typ wird zusätzlich durch ein Symbol gekennzeichnet, das gleiche Symbol finden Sie in der Werkzeugleiste, um damit Elemente einzufügen.

- Mit dem Wechsel des ausgewählten Elements in der Liste wird auch das zugehörige Element im Entwurfsformular ausgewählt. Das erleichtert die Suche nach Elementen über den Namen und die Navigation zwischen den Elementen. Es ist zum Beispiel möglich, ein Element anhand des Namens auszuwählen und dann zur Karteikarte Eigenschaften zu wechseln, um das Element zu bearbeiten.

- Drücken Sie bei der Auswahl von Einträgen in der Elementliste die Taste &Ctrl;, um mehrere Elemente auszuwählen. Halten Sie die &Shift;taste gedrückt, um alle Elemente zu wählen.

Sinnvolle Namen für Bedienungselemente können nützlich sein, sind aber nicht zwingend erforderlich. Beachten Sie, dass der Name eines Elements eine für den Benutzer des Formulars nicht sichtbare Eigenschaft ist. Die Benutzer sehen nur den Text des Elements, der in der Eigenschaft Text eingetragen ist.

#### Einfügen von Bedienungselementen - Textfelder

Erstellen Sie ein Formular für Informationen über Personen, &ie; ein Formular für die Tabelle `Personen`.

Wenn in dem Formular Daten aus der Datenbank angezeigt werden sollen, müssen Sie dazu entsprechende Felder einfügen. Dazu benutzen Sie einen der Knöpfe in der Werkzeugleiste Bedienungselemente. Für jede Art von Element ist ein zugehöriger Knopf vorhanden.

1. Klicken Sie auf den Knopf Textfeld in der Werkzeugleiste Formularentwurf.

2. Klicken Sie mit der &LMBn; in das Formular und ein neues Textfeld wird an dieser Stelle eingefügt. Ehe Sie die Maustaste loslassen, können Sie durch Ziehen die Größe des Elements festlegen.

3. Falls erforderlich, verschieben Sie das eingefügte Element durch Ziehen und Ablegen an die gewünschte Position. Die Größe können Sie später durch Ziehen der kleinen Quadrate auf dem Rand eines Element verändern. Die Quadrate werden aber nur dann angezeigt, wenn das Element ausgewählt ist. Wählen Sie ein anderes Element oder das Formular selbst aus, werden die Quadrate ausgeblendet.

4. Klicken Sie noch einmal auf den Knopf Textfeld in der Werkzeugleiste und dann in das Formular, um ein weiteres Element einzufügen. Wiederholen Sie diese Aktion, bis Sie drei weitere Textfelder in das Formular eingefügt haben. Zur Vereinfachung werden nur fünf Felder benutzt.

- Es gibt im Formularentwurfsmodus ein Kontextmenü, das Sie durch Klicken der &RMBn; auf das gewünschte Element oder die Oberfläche des Formulars öffnen. In diesem Menü finden Sie Aktionen wie Ausschneiden, Kopieren, Einfügen, Löschen und andere. Es gibt auch Kurzbefehle für diese Aktionen. Einige Aktionen gibt es nur für bestimmte Elemente.

- Mit den Befehlen Ausschneiden, Kopieren und Einfügen können Sie Bedienungselemente zwischen Formularen verschieben oder kopieren, sogar zwischen verschiedenen Datenbankprojekten.

- Halten Sie die &Ctrl;-Taste beim Klicken auf ein Bedienungselement gedrückt, um mehrere Elemente auszuwählen.

- Anstatt ein Element mit den Befehlen Kopieren und Einfügen im selben Formular zu kopieren, können Sie auch die Taste &Ctrl; beim Verschieben drücken. Wenn Sie die Maustaste losgelassen haben, wird das gezogene Element nicht verschoben, sondern eine Kopie an dieser Stelle eingefügt.

#### Datenquellen zuweisen

Die von Ihnen eingefügten Felder sind noch nicht mit einer Datenquelle verbunden, daher können sie noch keine Informationen aus der Datenbank anzeigen. Dazu benutzen Sie die Karteikarte Datenquelle im Eigenschafteneditor.

Als ersten Schritt geben Sie die Datenquelle des Formulars ein, aus der die angezeigten Daten geholt werden. Wie bereits vorher erwähnt, benutzen Sie die Tabelle `Personen` als Datenquelle für Ihr neues Formular.

1. Klicken Sie auf die Oberfläche des Formulars, da Sie seine Eigenschaften ändern wollen.

2. Wechseln Sie zur Karteikarte Datenquelle und tragen Sie den Namen der Tabelle `Personen` in das Kombinationsfeld Datenquelle des Formulars ein oder wählen Sie diesen Namen aus der Liste.

Damit haben Sie das Formular mit einer Datenquelle verbunden. Jetzt fehlen noch die Datenquellen für die Bedienungselemente.

1. Klicken Sie auf das erste Textfeld oben im Formular.

2. Auf der Karteikarte Datenquelle des Eigenschafteneditors tragen Sie den Feldnamen `Name` in das Kombinationsfeld Datenquelle des Elements ein oder wählen Sie diesen Namen aus der Liste.

3. Klicken Sie auf das nächste Textfeld und geben Sie `Nachname` als Datenquelle ein.

4. Geben Sie gleichfalls Datenquellen für die Textfelder Straße, Hausnummer und Stadt ein.

Speichern Sie jetzt den Formularentwurf (dies ist zum Testen des Formulars nicht zwingend erforderlich). Dazu klicken Sie auf den Knopf Speichern in der Werkzeugleiste. Beim Speichern werden Sie zur Eingabe des Namens für das Formular aufgefordert. Geben Sie `Personen` als Titel ein und klicken Sie auf OK. Der Name des Formulars wird dabei automatisch eingetragen.

Testen Sie jetzt Ihr Formular. Klicken Sie auf den Knopf Daten in der Werkzeugleiste. Wenn Sie keinen Fehler bei der Zuweisung der Datenquellen gemacht haben, werden die Formularfelder mit Daten aus der Tabelle `Personen` angezeigt.

- Wenn Sie die Verbindung eines Elements im Formular zur Datenquelle lösen wollen, klicken Sie auf das kleine schwarze Symbol mit dem weißen Kreuz rechts im Eingabefeld Datenquelle des Elements.

- Klicken Sie auf das Symbol rechts neben der Beschriftung Datenquelle des Formulars, um zugehörige Tabellen oder Abfragen im Projektnavigator auszuwählen. So können Sie schnell eine Tabelle oder Abfrage öffnen, die eine Datenquelle für das Formular ist.

#### Einfügen von Beschriftungsfeldern

Damit die Benutzer des Formulars die Bedeutung jedes Feldelements leichter erkennen, sollten Sie Beschriftungsfelder mit passenden Titeln hinzufügen. Dazu benutzen Sie das Bedienungselement Beschriftungsfeld.

Fügen Sie drei Beschriftungsfelder in das Formular links vor den Textfeldern ein, rechts, wenn Sie auf einem System mit Schreibrichtung von rechts nach links arbeiten. Nach dem Einfügen des neuen Beschriftungsfeldes erscheint ein Text-Cursor zur Eingabe des Titels. Geben Sie nacheinander ein: `Vorname`, `Nachname` und `Straße`, `Hausnummer` und `Stadt` Setzen Sie zusätzlich oben im Formular ein weiteres Beschriftungsfeld zur Anzeige des Formularnamens, &ie; `Personen` ein. Vergrößern Sie dieses Feld und die Schrift im Feld Schriftart auf der Karteikarte Eigenschaften.

#### Aktionen

Eine Aktion ist eine einzelne isolierte Aktivität in der Anwendung, die der Benutzer ausführen kann. Eine Aktion kann auch automatisch als Reaktion auf ein Ereignis ⪚ nach dem Öffnen eines Formulars) ausgeführt werden.

##### Zuweisung von Aktionen an Formularknöpfe

Viele Aktionen können Formularknöpfen zugewiesen werden. Die zugewiesene Aktion wird ausgeführt, wenn der Knopf gedrückt wurde.

Um eine Aktion zuzuweisen:

1. Wechseln Sie zur Entwurfsansicht des Formulars.

2. Wählen Sie ein vorhandenes Knopfelement durch Klicken aus oder fügen Sie einen Befehlsknopf in das Formular ein. Geben Sie dann einen Namen dafür ein und drücken Sie die Taste &Enter;.

3. Klicken Sie mit der &RMBn; auf das Knopfelement, um das Kontextmenü zu öffnen.

4. Wählen Sie aus dem Kontextmenü den Befehl Aktion zuweisen ....

5. Der Dialog Aktion einem Befehlsknopf zuweisen mit einer Liste von möglichen Aktionen wird angezeigt. Wurde dem Element bereits eine Aktion zugewiesen, so ist sie in der Liste ausgewählt. Ansonsten ist der Eintrag Keine Aktion in der Liste Aktionskategorie ausgewählt.

6. Wählen Sie in der Liste Aktionskategorie den Eintrag Programmaktionen. Es werden alle Aktionen für das Programm aufgelistet.

7. Wählen Sie eine Aktion aus der Liste (z. B. Ausgewähltes Objekt löschen).

Wechseln Sie zur Datenansicht des Formulars und testen Sie, ob die Aktionen funktionieren.

- Um eine zugewiesene Aktion zu entfernen, wählen Sie den Eintrag Keine Aktion in der Liste Aktionskategorie des Dialogs Aktion einem Befehlsknopf zuweisen.

- Aktionen funktionieren nur in der Datenansicht des Formulars. Nicht jede Aktion ist sinnvoll. Zum Beispiel ist die Aktion Schriftart ... nur in der Datenansicht erreichbar, und nur dann, wenn Sie in der Entwurfsansicht ein Element ausgewählt haben. Änderungen der Schriftart werden auf den Text des ausgewählten Elements angewendet.

#### Anordnung von Bedienungselementen

Formularelemente sollten sinnvoll angeordnet und ausgerichtet sein. Elemente manuell anzuordnen und auszurichten, ist aufwändig. Bei einer Größenänderung des Formulars werden die Anordnung und Ausrichtung nicht automatisch angepasst. Noch schlimmer, Sie können den Platzbedarf für ein Formular nicht abschätzen, da der Benutzer andere Schriftgrößen und eine andere Bildschirmauflösung verwenden kann.

Das Werkzeug der Elementanordnung hilft dabei, die Elemente eines Formulars automatisch anzuordnen. Anordnung bedeutet, zwei oder mehr Elemente so in einer Gruppe zusammenzufassen, dass die Elemente die richtige Position und eine passende Größe haben.

Anordnung in einem Formular verbessert die Ausrichtung. Außerdem wird der Leerraum besser ausgenutzt, Textfelder werden näher zusammen geschoben und alle Elemente haben den gleichen Abstand.

##### Größen-Regelungen für die Anordnung von Bedienungselementen

Anstatt einer festen Größe für Ihre Bedienungselemente können Sie in &kexi; zwischen verschiedenen Größen-Regelungen für die Anordnung von Bedienungselementen wählen. Eine Größen-Regelung ist eine flexible Strategie, die vorgibt, wie ein Element gestreckt oder gestaucht wird, abhängig von den benachbarten Elementen und dem vorhandenen Platz im Formular.

Nach dem die Elemente in einer Zeile angeordnet sind, werden sie in der Größe so geändert, dass der sichtbare Text vollständig angezeigt wird.

Für jedes Bedienungselement in einem Formular gibt es Einstellungen für die Größen-Regelung im Eigenschafteneditor. Diese Einstellungen werden unter dem Begriff Größen-Regelung zusammengefasst.

Diese Gruppe von Eigenschaften enthält:

Waagerechte Größen-Regelung

- bestimmt die waagerechte Größe von Bedienelementen

Senkrechte Größen-Regelung

- bestimmt die senkrechte Größe von Bedienelementen

Waagerechte Streckung

- bestimmt die Stärke der Eigenschaft Waager.-Regelung

Senkrechte Streckung

- bestimmt die Stärke der Eigenschaft Senkr.-Regelung

##### Einstellungen für die Größen-Regelung

Die folgenden Werte können Sie für die Eigenschaften Waager.-Regelung und Senkr.-Regelung im Eigenschafteneditor einstellen:

Fest

- die ursprüngliche Größe des Elements kann nicht verändert werden, es soll die beim Entwurf eingestellte Größe (Breite oder Höhe) behalten.

Minimum

- die ursprüngliche Größe des Elements darf nicht verkleinert und muss nicht vergrößert werden, das Element kann jedoch - falls erforderlich - vergrößert werden. Mit dieser Art der Größen-Regelung wird ein Element auf die gesamte Breite oder Höhe gestreckt, vor allem wenn Sie einen Wert größer 0 für die Streckung eingeben.

Maximum

- die ursprüngliche Größe des Elements darf nicht vergrößert, jedoch soweit verkleinert werden, dass das Element noch lesbar ist und benutzbar bleibt, wenn andere Elemente mehr Platz brauchen.

Bevorzugt

- die ursprüngliche Größe des Elements ist am besten und wird bevorzugt, das Element kann jedoch vergrößert und verkleinert werden und bleibt dabei noch lesbar.

Ausdehnung

- die ursprüngliche Größe des Elements ist sinnvoll, das Element kann jedoch auch verkleinert werden und soweit gestreckt werden, dass es den gesamten zur Verfügung stehenden Platz einnimmt.

Minimale Ausdehnung

- die ursprüngliche Größe des Elements wird nicht verringert, aber es kann soweit möglich gestreckt werden.

Ignoriert

- die ursprüngliche Größe des Elements wird ignoriert, das Element kann gestreckt werden, um möglichst viel Platz einzunehmen, solange dies nicht durch andere Element verhindert wird.

Verschiedene Arten von Bedienungselementen haben auch verschiedene Größen-Regelungen als Voreinstellung, zum Beispiel ist diese für Befehlsknöpfe auf Minimum in beiden Richtungen als Standard eingestellt, während für Textfelder Fest als senkrechte Größen-Regelung vorgegeben ist.

Die am häufigsten benutzen Einstellungen für die Größen-Regelung sind: Bevorzugt, Minimum und Maximum.

##### Senkrechte und waagrechte Streckung

Die Eigenschaften Vertikale Streckung und Waagerechte Streckung können Werte größer oder gleich 0 haben. Mit diesen Werten bestimmen Sie im einzelnen das Verhalten der Größen-Regelung. Der Standardwert für diese Eigenschaft ist 0. Ein Element mit einem größeren Wert für die Streckung wird mehr gestreckt als ein Element mit einem kleineren Wert.

### Dateneingabe mit Formularen

Dateneingabe und Datenbearbeitung ist normalerweise die Aufgabe der Benutzer einer Datenbankanwendung. Der Planer der Datenbank sollte das Formular im Hinblick auf die Überprüfung von gültigen Eingaben und die allgemeine Funktionsfähigkeit testen.

Um Ihr Formular zu testen, wechseln Sie in die Datenansicht. Eine einzelne Zeile der Datenbank mit Werten der Felder (Datensatz) wird angezeigt. Sie bewegen sich zu anderen Datenfelder mit der &LMBn; oder mit den Tasten und &Shift; . Während der Eingabe wird im Datensatz-Navigator links unten ein Stiftsymbol angezeigt. Wenn Sie alle Daten in die Zeilen (den Datensatz) eingegeben haben, drücken Sie die Tasten &Shift;&Enter;, oder klicken Sie auf Datensatz übernehmen in der Werkzeugleiste, um alle Änderungen zu übernehmen. Klicken Sie auf Datensatzänderungen verwerfen in der Werkzeugleiste, um alle Änderungen zu verwerfen und die ursprünglichen Inhalte der Datenfelder wieder herzustellen. Mit den Köpfen im Datensatz-Navigator wechseln Sie in eine andere Zeile.

## Einrichtung von &kexi;

- Andocken und Abdocken der Seitenbereiche

### Andocken und Abdocken der Seitenbereiche

Die Seitenseiten Projektnavigator und der Eigenschafteneditor können auf zwei Arten aus dem Hauptfenster gelöst werden:

- Durch Doppelklicken auf die Griffleiste oben.

- Durch Klicken auf die Raute rechts oben neben dem Kreuz.

Ein frei schwebendes Fenster können Sie auf ähnliche Weise wieder ins Hauptfenster einfügen:

- Durch Doppelklicken auf die Griffleiste oben im Fenster

- Durch Klicken auf die Raute rechts oben neben dem Kreuz.

Wenn eine Seitenleiste aus dem Hauptfenster gelöst wird, speichert &kexi; die letzte Position im Hauptfenster. Wenn Sie dann die Seitenleiste wieder in das Hauptfenster einfügen, wird es wieder an der gleichen Stelle wie vorher angeordnet.

## Befehlsreferenz

- Die Karteikarte &kexi;

- Die Karteikarte Erstellen

- Die Karteikarte Daten

- Die Karteikarte Externe Daten

- Die Karteikarte Extras

- Die Karteikarte Formularentwurf

- Die Karteikarte Berichtsentwurf

### Die Karteikarte &kexi;

Auf der Karteikarte &kexi; finden Sie Aktionen für &kexi;-Projekte.

Wählen Sie hier einen Eintrag, dann werden im rechten Teil des Fensters Einstellungen für die ausgewählte Aktion angezeigt.

Die Auswahlmöglichkeiten sind:

Willkommen

- Hier können Sie ein zuletzt bearbeitetes Projekt öffnen.

Öffnen

- Hier können Sie ein &kexi;-Projekt öffnen, das entweder in einer Datei oder auf einem Datenbank-Server gespeichert ist.

Schließen

- Mit dieser Aktion schließen Sie das gerade geöffnete &kexi;-Projekt.

Neu

- Mit dieser Aktion starten Sie den Assistenten, um ein neues &kexi;-Projekt zu erstellen.

Importieren, Exportieren oder Senden ...

- Hier können Sie mit Hilfe eines Assistenten vorhandene Daten in ein aktuell geöffnetes &kexi;-Projekt importieren.

Beenden

- Beendet &kexi;.

### Die Karteikarte Erstellen

Auf dieser Karteikarte finden Sie Aktionen, um Objekte zu erstellen und in das Projekt einzufügen

Tabelle

- Erstellt eine neue Tabelle, die im Entwurfsmodus geöffnet wird. Dann können Sie Felder definieren und zur Tabelle hinzufügen.

Abfrage

- Erstellt einen neuen Bericht, der im Entwurfsmodus geöffnet wird. Dann können Sie Abfragen definieren, um benutzerdefinierte Ergebnisse aus den Tabellen in Ihren Projekt zu erhalten.

Formular

- Erstellt eine neues Formular, das im Entwurfsmodus geöffnet wird. Dann können Sie Bedienungselemente zu diesem Formular hinzufügen.

Bericht

- Erstellt einen neuen Bericht, der im Entwurfsmodus geöffnet wird. Dann können Sie Bedienungselemente zu diesem Bericht hinzufügen.

Skript

- Erstellt ein neues Skript. Geben Sie im Editor benutzerdefinierten Quelltext für das Projekt oder Objekte ein.

### Die Karteikarte Daten

Diese Karteikarte enthält Aktionen zur Bearbeitung von Daten in Tabellen oder Bedienungselementen von Formularen, Berichten &etc;

Ausschneiden

- Fügt die ausgewählten Daten oder Elemente in die Zwischenablage ein und entfernt sie aus der Tabelle, dem Formular oder Bericht.

Kopieren

- Kopiert die ausgewählten Daten oder Elemente in die Zwischenablage, ohne sie aus der Tabelle, dem Formular oder dem Bericht zu entfernen.

Einfügen

- Fügt die Daten oder Elemente aus der Zwischenablage in die Tabelle, das Formular oder den Bericht ein.

Einfügen Spezial

- Diese Aktion ermöglicht das Einfügen von CSV-Daten aus der Zwischenablage. Dabei kann das Trennzeichen, das Format für Spalten und das Texterkennungszeichen eingestellt werden.

Suchen

- Öffnet einen Suchdialog, um nach einem Text in den Feldern einer Datenbank zu suchen.

### Die Karteikarte Externe Daten

Auf dieser Karteikarte finden Sie Aktionen, um Daten aus anderen Quellen in ihr &kexi;-Projekt zu importieren.

Daten aus Datei importieren

- Mit dieser Aktion öffnen sie einen Dialog, in dem Sie Daten aus CSV- oder einfachen Textdateien als neue Tabelle in ihr Projekt importieren können.

Tabellen importieren

- Öffnet den Tabellen-Import-Assistenten, mit dem Sie Daten entweder aus einer `fods`-, `mdb`-, `ods`- oder `tsv`-Datei oder von einem Datenbank-Server als neue Tabelle in Ihr Projekt importieren können.

Daten in Datei exportieren

- Öffnet einen Dialog, in dem Sie die Daten der geöffneten Tabellen als CSV- oder einfache Textdatei exportieren können.

Eine Tabelle muss geöffnet sein, um die darin enthaltenen Daten in eine Datei exportieren zu können.

### Die Karteikarte Extras

Auf dieser Karteikarte finden Sie Aktionen zur Bearbeitung des gesamten Projekts.

Datenbank komprimieren

- Überprüft die Daten in der Datenbank und verringert die Größe der Datenbank.

Es wird empfohlen, Datenbanken regelmäßig zu komprimieren, um Fehler zu korrigieren, insbesondere nach Einfügen und Löschen vieler Datensätze.

### Die Karteikarte Formularentwurf

Auf der Karteikarte Formularentwurf können Sie Bedienungselemente zu Ihrem Formular hinzufügen.

Zeiger

- Zeiger, wechselt zum Auswahlmodus für Bedienelemente.

Wählen Sie ein beliebiges Element aus der Werkzeugleiste, dann können Sie es in das Formular einfügen, in dem Sie irgendwo in das Formular klicken oder ein Rechteck ziehen.

Beschriftung

- Eine Beschriftung zeigt eine vorgegebene Information in einem Formular an. Normalerweise wird es als Titel für Bedienungselemente zur Dateneingabe verwendet.

Textfeld

- Ein Textfeld ist ein Container für einzeilige Daten, die in Ihrer Tabelle enthalten sind.

Texteditor

- Ein Texteditor ist ein Container für mehrzeilige Daten, die in Ihrer Tabelle enthalten sind.

Kombinationsfeld

- Ein Kombinationsfeld zeigt eine Liste von Optionen zur Auswahl.

Ankreuzfeld

- Dieses Element hat zwei Zustände, ⪚ aktiviert/nicht aktiviert.

Bildfeld

- Dieses Element zeigt ein Bild aus einem Feld einer Tabelle oder ein Bild aus einer Datei an.

Knopf

- Ein Knopf ermöglicht die Definition von Aktionen, die beim Klicken darauf ausgeführt werden.

Rahmen

- Ein Rahmen wird als Container für andere Bedienungselemente verwendet.

Gruppenfeld

- In einem Gruppenfeld werden andere Bedienelemente zusammengefasst und deren Status gesteuert..

Karteikarte

- Eine Karteikarte wird als Container für andere Bedienungselemente verwendet und kann beliebig viele Seiten mit unterschiedlichen Elementen enthalten.

Linie

- Eine Linie wird als Trennung zwischen verschiedenen Teilen des Formulars verwendet.

Webbrowser

- Mit diesem Element können Sie eine Webseite in einem Formular anzeigen,

Aktion zuweisen ...

- Damit kann einem Element eine Aktion zugewiesen werden, die beim Auftreten eines Ereignisses wie ⪚ dem Drücken eines Knopfes ausgeführt wird.

### Die Karteikarte Berichtsentwurf

Auf der Karteikarte Berichtsentwurf können Sie Bedienungselemente zu Ihrem Bericht hinzufügen.

Beschriftung

- Eine Beschriftung zeigt eine vorgegebene Information in einem Bericht an. Normalerweise wird es als Titel für Bedienungselemente zur Dateneingabe verwendet.

Feld

- Ein Feld ist ein Container für einzeilige Daten, die in Ihrer Tabelle enthalten sind.

Text

- Ein Text ist ein Container für mehrzeilige Daten, die in Ihrer Tabelle enthalten sind.

Bild

- Dieses Element zeigt ein Bild aus einem Feld einer Tabelle an.

Prüfen

- Dieses Element hat zwei Zustände, ⪚ aktiviert/nicht aktiviert.

Linie

- Eine Linie wird als Trennung zwischen verschiedenen Teilen des Formulars verwendet.

Diagramm

- Mit diesem Element werden Daten grafisch dargestellt.

Web

- Dieses Element stellt eine einfache Webbrowser-Komponente zur Verfügung, um Informationen aus einer lokalen Datei oder einer Webseite in einem Bericht darzustellen.

Strichcode

- Mit diesem Element wird ein Strichcode aus Daten eines Felds in einem Bericht ausgegeben.

## Anhang A. Einführung in Datenbanken

- Was ist eine Datenbank?

- Datenbank und Tabellenkalkulation

- Entwurf von Datenbanken

- Wer braucht Datenbanken?

- Programme zur Erstellung von Datenbanken

### Was ist eine Datenbank?

Eine Datenbank ist eine Sammlung von Daten zu einem Thema. Die Datenbank ist so eingerichtet, dass es einfach ist, Informationen anzuzeigen, zu ändern und neue Einträge hinzuzufügen.

Schauen Sie sich dieses Diagramm an: ein einfaches Telefonbuch.

Die Abbildung zeigt einen Satz von zwei Kontaktdaten auf einzelnen Karten. Die Informationen auf jeder Karte können als einzelne Zeile einer Tabelle dargestellt werden:

### Tabelle Kontakte

Name | Tel-Nr.
Joan | 699 23 43 12
Adam | 711 19 77 21

Begriffe und Definitionen: Ein einzelnes Datum als Teil einer Datensammlung kann als Zeile oder auch als Datensatz bezeichnet werden. Die Datensammlung wird normalerweise als Tabelle genannt. Ein sinnvoller Name für die Tabelle beschreibt die darin enthaltenen Daten, in diesem Fall `Kontakte`. Jede Zeile in der Tabelle enthält Spalten, auch Felder genannt. Die Tabelle `Kontakte` besteht aus zwei Spalten (Feldern): Name und Tel-Nr.

In einfachen Fällen kann eine Datenbank aus einer einzelnen Tabelle bestehen, daher werden diese beiden Begriffe häufig in gleicher Bedeutung benutzt. Richtige Datenbanken bestehen aber normalerweise aus mehr als einer Tabelle.

Zusammenfassung: Mit einer Tabelle `Kontakte` haben Sie bereits eine einfache Datenbank erstellt.

Einen Vergleich von Datenbanken und Tabellenkalkulationen finden Sie auf .

### Datenbank und Tabellenkalkulation

Wahrscheinlich haben Sie bereits mit Tabellenkalkulationen wie Calligra Sheets, LibreOffice Calc oder &Microsoft; Excel gearbeitet. Sowohl Tabellenkalkulationen als auch Datenbanken bestehen aus Tabellen; warum also eine Datenbank benutzen?

Beim Vergleich von Tabellenkalkulation und Datenbank werden Sie auf folgende Probleme treffen, die später im Einzelnen behandelt werden.

#### Unterschied zwischen Datenbank und Tabellenkalkulation

Erweitern Sie Ihre Tabelle `Kontakte` um die Spalte (das Feld) `Adresse`. Fügen Sie mehrere Telefonnummern (beruflich, privat) und Vornamen für jede Person hinzu. Zur Vereinfachung werden folgende Annahmen getroffen:

- Die Tabelle enthält nur zwei Personen (natürlich kann eine Datenbank Tausende von Personen enthalten

- Es gibt keine Personen mit gleichem Vor- und Nachnamen

#### Tabelle Kontakte

Vorname und Nachname | Tel | Adresse
Joan Smith | 699 23 43 12 | Western Gate 1, Warsaw
Adam Willson | 711 19 77 21 | London, Frogs Drive 5
Joan Smith | 110 98 98 00 | Western Gate 1
Smith Joan | 312 43 42 22 | Warsaw, Western Gate 1
ADAM Willson | 231 83 02 04 | Frogs Drive 5, London

Diese Tabelle können Sie sowohl in einer Tabellenkalkulation als auch in einer Datenbank erstellen. Die Verwendung einer Tabellenkalkulation ist natürlich sehr einfach. Welche Probleme können hier auftreten?

#### Referentielle Datenintegrität

Angenommen Sie arbeiten mit einer Tabellenkalkulation und müssen die Adresse mindestens einer Person ändern. Dann gibt es ein kleines Problem: Häufig müssen Sie die Adresse in mehreren Zeilen ändern. Für Joan zum Beispiel gibt es Einträge in drei verschiedenen Zeilen. Das Problem entsteht dann, wenn Sie vergessen, eine dieser Zeilen zu ändern - die Adresse dieser Person ist nicht mehr eindeutig, ab jetzt ist die Integrität der Daten nicht mehr vorhanden.

Außerdem gibt es keine einfache Möglichkeit, eine bestimmte Person aus der Tabelle zu löschen. Sie müssen immer daran denken, alle Zeilen mit Daten zu dieser Person zu löschen.

#### Datenredundanz

Dies hat einen direkten Bezug zum vorherigen Problem. In den Feldern Vorname und Nachname und Adresse sind die gleichen Daten mehrfach eingetragen. Das ist ein Kennzeichen der nicht effektiven Datenspeicherung in Tabellenkalkulationen, weil die Menge der Daten unnötigerweise vergrößert wird. Dies erfordert mehr Rechnerressourcen (größere Datenmenge und langsamerer Zugriff).

Wie können Sie diese Probleme mit einer Datenbank umgehen? Teilen Sie die Informationen in kleinere Einheiten, indem Sie eine zusätzliche Tabelle `Personen` mit nur zwei Spalten erstellen: Vorname und Nachname und Adresse:

#### Tabelle Personen

Vorname und Nachname | Adresse
Joan Smith | Western Gate 1, Warsaw
Adam Willson | Frogs Drive 5, London

Jede Zeile in der Tabelle `Personen` enthält eine einzelne Person. Die Tabelle `Kontakte` hat jetzt einen Bezug zur Tabelle `Personen`.

#### Integrität und Gültigkeit von Daten

Beachten Sie, wie Daten in die Felder `Vorname und Nachname` und `Adresse` eingeben werden. Die Dateneingabe kann fehlerhaft oder nachlässig sein. In diesem Beispiel gibt es eine unterschiedliche Reihenfolge und Schreibweise von Vor- und Nachnamen (Joan Smith und Smith Joan, Adam und ADAM) und noch andere Möglichkeiten, die gleiche Adresse einzutragen.

Bei diesen verschiedenen Möglichkeiten der Dateneingabe erhalten Sie ⪚ bei der Suche nach der Telefonnummer einer Person mit der Adresse Western Gate 1, Warsaw kein vollständiges Ergebnis. Sie erhalten nur die Daten aus einer Zeile anstatt aus drei Zeilen. Darüber hinaus finden Sie auch nicht alle Telefonnummern, wenn Sie nach Joan Smith im Feld `Vor- und Nachname` suchen, weil Smith Joan sich von Joan Smith unterscheidet.

Wie lösen Sie dieses Problem mit einer Datenbank? Ändern Sie den Entwurf der Tabelle `Personen` durch:

1. Aufteilung der Daten im Feld Vorname und Nachname in zwei einzelne Felder: Vorname und Nachname.

2. Aufteilung der Daten im Feld Adresse in drei einzelne Felder: Straße, Hausnummer und Stadt.

3. Vollständigkeit der Daten: Sicherstellen, dass keine Felder leer bleiben, z. B. es muss immer eine Hausnummer eingegeben werden.

Eine überarbeitete Tabelle sieht folgendermaßen aus:

#### Tabelle Personen

Name | Nachname | Straße | Hausnummer | Stadt
Joan | Smith | Western Gate | 1 | Warsaw
Adam | Willson | Frogs Drive | 5 | London
Bedingungen
Wert erforderlich | Wert erforderlich | Wert erforderlich | Wert erforderlich | Wert erforderlich

Dank der Bedingung Wert erforderlich ist sichergestellt, dass die Daten immer vollständig sind. Bei anderen Tabellen können Sie natürlich einzelne Felder während der Dateneingabe auslassen.

#### Einschränkung der Datenansicht

Eine Tabellenkalkulation zeigt alle Zeilen und Spalten der Tabelle an, was bei großen Datenblättern lästig ist. Sie können natürlich Filter anwenden und Zeilen in Tabellenkalkulationen sortieren, müssen dabei aber sorgfältig vorgehen. Benutzer einer Tabellenkalkulation können leicht übersehen, dass die Datenansicht gefiltert ist, das kann zu Fehlern führen. Wenn Sie zum Beispiel Summen berechnen, können Sie leicht übersehen, dass zwar 100 Zeilen angezeigt werden, aber noch weitere 20 Zeilen ausgeblendet sind.

Wenn Sie mit einem kleinen Teil der Daten arbeiten wollen, um sie z. B. zur Bearbeitung an andere zu senden, können Sie diese Daten kopieren, sie in eine andere Tabelle und nach der Bearbeitung die geänderten Daten wieder zurück in die Haupttabelle einfügen. Solch eine manuelle Bearbeitung kann zum Datenverlust oder falschen Berechnungen führen.

Um den Umfang der Datenansicht einzuschränken, verwenden Datenbankprogramme Abfragen, Formulare und Berichte.

Ein brauchbarer Weg zur Beschränkung zeigt die folgende erweiterte Version der vorher beschriebenen Tabelle `Personen`:

#### Tabelle Personen

Name | Nachname | Straße | Hausnummer | Stadt | Einkommen
Joan | Smith | Western Gate | 1 | Warsaw | 2300
Adam | Willson | Frogs Drive | 5 | London | 1900

Angenommen die neu eingefügte Spalte Einkommen enthält vertrauliche Daten. Wie können Ihre Mitarbeiter ⪚ die Daten der Personen bearbeiten, ohne das Einkommen offen zu legen? Das ist möglich, wenn Sie zur Bearbeitung nur eine Abfrage und nicht die ganze Tabelle freigeben. Diese Abfrage kann alle Spalten außer der Spalte Einkommen enthalten. Bei Datenbanken wird so eine Abfrage häufig auch Ansicht genannt.

#### Leistung und Kapazität

Sie arbeiten vielleicht mit einem schnellen Rechner, aber das hilft nicht bei langsamen, großen Tabellenkalkulationen. Die geringe Leistungsfähigkeit wird vor allem durch das Fehlen von Indexen zu Beschleunigung von Suchprozessen verursacht; in Datenbanken sind Indexe vorhanden. Außerdem kann auch die Benutzung der Zwischenablage beim Kopieren von Daten sehr lange dauern.

Tabellenkalkulationen mit vielen Daten brauchen viel Zeit zum Öffnen der Datei. Eine Tabellenkalkulation lädt dabei viele Daten in den Arbeitsspeicher des Rechners. Die meisten Daten werden zurzeit wahrscheinlich für Ihre Arbeit gar nicht benötigt. Im Gegensatz dazu laden Datenbanken nur dann Daten vom Speichermedium, wenn sie auch benötigt werden.

In den meisten Fällen müssen Sie sich keine Gedanken darüber machen, wie die Daten in der Datenbank gespeichert werden. Im Gegensatz zur Tabellenkalkulation müssen Sie bei Datenbanken folgendes nicht berücksichtigen:

- Die Reihenfolge der Zeilen, da Sie die Sortierung der Zeilen anpassen können. Außerdem können Sie die gleichen Daten in verschiedenen Ansichten in unterschiedlicher Reihenfolge anzeigen.

- Das gleiche gilt für die Spalten (Felder) in der Tabelle.

Zusammen mit der Einschränkung der Datenansicht, die im vorherigen Abschnitt erläutert wurde, zeigen diese Eigenschaften die Vorteile von Datenbanken.

#### Dateneingabe

Mit den neuesten Versionen von Tabellenkalkulationsprogrammen können Sie Formulare zur Dateneingabe erstellen. Diese Formulare sind dann sinnvoll, wenn die Daten nicht in geeigneter Weise in der Tabellenansicht angezeigt werden können, z. B. wenn nicht mehr alle Spalten und Zeilen gleichzeitig auf den Bildschirm passen.

In diesem Fall ist die Arbeitsweise von Tabellenkalkulationen problematisch. Felder zur Eingabe von Daten können in der Tabellenkalkulation verschoben werden, es gibt häufig keine Absicherung gegen beabsichtigte oder unbeabsichtigte Veränderungen durch die Benutzer.

#### Berichte

Datenbanken erlauben die Gruppierung, Begrenzung und Zusammenfassung von Daten in der Form eines Berichts. Tabellenkalkulationen werden normalerweise als kleine Tabellen ohne automatische Kontrolle der Seitenumbrüche und der Anordnung von Feldern ausgedruckt.

#### Programmierung

Datenbankanwendungen enthalten häufig vollwertige Programmiersprachen. Neue Tabellenkalkulationen haben auch diese Fähigkeiten, aber die Berechnungen beschränken sich auf die Änderung der Felder und das Kopieren von Daten in der Tabelle, ohne die in den vorigen Abschnitten erwähnten Regeln zur Relevanz und Integrität zu berücksichtigen.

Die Bearbeitung der Daten in einer Tabellenkalkulation erfolgt normalerweise in einer grafischen Benutzeroberfläche, die die Verarbeitungsgeschwindigkeit herabsetzen kann. Datenbanken können die Daten im Hintergrund außerhalb einer grafischen Benutzeroberfläche bearbeiten.

#### Mehrere Benutzer

Die gleichzeitige Bearbeitung in einer Tabellenkalkulation ist schwer vorstellbar. Auch wenn es bei den neuesten Programmen technisch möglich ist, erfordert es doch Disziplin, Aufmerksamkeit und Erfahrung vom Benutzer. Das ist nicht immer gegeben.

Der klassische Weg, um in einer Tabellenkalkulation gespeicherte Daten gleichzeitig mit anderen Personen zu bearbeiten, besteht darin, die gesamte Datei normalerweise als E-Mail zu versenden oder die Tabellenkalkulationsdatei im Netzwerk bereitzustellen. Diese Arbeitsweise ist für einer größere Gruppe von Personen nicht effektiv - Daten, die zu einem bestimmten Zeitpunkt benötigt werden, können gerade durch die Bearbeitung eines anderen gesperrt sein.

Im Gegensatz dazu wurden Datenbanken für die Bearbeitung durch mehrere Benutzer entwickelt. Sogar in einfachen Versionen ist es möglich, Zeilen einer bestimmten Tabelle zu sperren. Das erleichtert die gleichzeitige Bearbeitung der Tabellendaten.

#### Sicherheit

Eine gesamte Tabellenkalkulation oder einzelne Teile mit einem Passwort zu schützen, bietet keine große Sicherheit. Wenn der Zugriff auf eine Tabellenkalkulationsdatei im Netzwerk möglich ist, kann jede Person mit Zugriffsberechtigung die Datei kopieren und versuchen, das Passwort zu brechen. Das ist manchmal nicht so schwer, da das Passwort zusammen mit den Daten in der Datei gespeichert ist.

Eigenschaften wie das Sperren der Bearbeitung oder des Kopierens einer Tabellenkalkulation (oder einzelner Teile) sind genauso leicht zu umgehen.

Datenbanken dagegen, die auf einem Server und nicht in einer Datei gespeichert sind, müssen nicht nur aus in einer einzelnen Datei bestehen. Im Netzwerk erhalten Sie mit dem Benutzernamen und einem Passwort Zugriff auf die Daten. Dieser Zugriff kann aber durch das Setzen von passenden Benutzerrechten auf einzelne Bereiche (Tabellen, Formulare oder sogar ausgewählte Zeilen und Spalten) eingeschränkt werden.

Zugriffsrechte können auf das Bearbeiten oder nur das Lesen von Daten beschränkt sein. Wenn Sie keine Berechtigung für den Zugriff auf bestimmte Daten haben, werden diese Daten auch nicht auf Ihren Rechner übertragen. Daher haben Sie keine Möglichkeit, diese Daten so einfach wie bei einer Tabellenkalkulation zu kopieren.

### Entwurf von Datenbanken

Der Entwurf von Datenbanken erfordert sorgfältige Planung. Beachten Sie, dass die im Abschnitt Integrität und Gültigkeit von Daten vorgeschlagene Änderung der Tabelle `Personen` zu Problemen führen kann, wenn Daten in die Tabelle eingegeben werden. Die Änderung des Namens für ein Feld ist zum Beispiel eine einfache Aufgabe, aber die Aufteilung des Feldes `Adresse` in einzelne Felder muss sorgfältig ausgeführt werden und ist eine langwierige Arbeit.

Um solche Situationen zu vermeiden, planen sie Ihr Datenbankprojekt, ehe Sie es im Rechner erstellen und bevor es benutzt wird. So sparen Sie durch den Aufwand am Anfang vielleicht viel Zeit bei der täglichen Arbeit

### Wer braucht Datenbanken?

#### Arbeiten Sie mit einer Tabellenkalkulation, wenn:

- Sie geringe Ansprüche haben und Ihre Daten nie umfangreich werden (können Sie das heute beurteilen?)

- Sie die Methodik des Entwurfs von Datenbanken nicht verstehen. Sie können diese Aufgabe jedoch durch jemanden ausführen lassen oder einfachere Programme benutzen.

- Sie komplizierte Tabellenkalkulationen benutzen und keine Zeit oder das Geld haben, um zu Datenbanken zu wechseln. Überprüfen Sie, ob das nicht in eine Sackgasse führt. Verlassen Sie sich nicht auf Konvertierungsprogramme, die Ihre Tabellenkalkulation in eine Datenbank umwandeln.

#### Überlegen Sie Datenbanken zu benutzen, wenn:

- Ihre Datensammlung wöchentlich größer wird.

- Sie häufig neue Tabellenkalkulationen erstellen, viel hin und her kopieren und den Eindruck haben, dass die Arbeit immer langwieriger wird. In diesem Fall lohnt sich der Umstieg auf Datenbanken.

- Sie Berichte und Auswertungen erstellen, die für die Tabellenansicht einer Tabellenkalkulation ungeeignet ist. Verwenden Sie stattdessen Datenbanken mit Formularansichten.

### Programme zur Erstellung von Datenbanken

Bis jetzt haben Sie die allgemeinen Merkmale von Datenbanken kennengelernt, ohne dabei auf Anwendungen zum Entwurf der Datenbanken einzugehen.

Die ersten Datenbanken wurden in den 60ern auf Großrechnern entwickelt, z. B. IBM System/360. Dies war vor dem Zeitalter der PCs und diese Datenbanken wurden durch hochqualifiziertes Fachpersonal bedient. Obwohl diese Rechner-Hardware unzuverlässig und unglaublich langsam war und eine geringe Speicherkapazität hatte, ist eine Eigenschaft dieser Datenbanken immer noch sehr wichtig: der Zugriff auf Daten durch viele Benutzer über ein Netzwerk.

In den 70er Jahren entwickelten Forscher die Theorie relationaler Datenbanken (mit Begriffen wie Tabelle, Datensatz >, Spalte (Feld), Relation und vielen anderen). Auf der Basis dieser Theorie erstellten IBM (DB2) und Oracle Datenbanken, die bis heute weiter entwickelt und benutzt werden. In der späten 70er Jahren wurden die ersten PCs konstruiert. Die Benutzer dieser Rechner konnten schrittweise viele Arten von Programmen anwenden, unter anderem auch Datenbanken.

Für große Datenbanken in Firmen hat sich diese Situation nicht geändert: es sind immer noch leistungsfähige Rechner oder miteinander verbundene Rechner (Cluster) erforderlich. Dieses Thema wird in diesem Handbuch aber nicht behandelt.

Im Bereich der Datenbanken mit grafischer Benutzeroberfläche für PCs stehen folgende Programme zur Auswahl:

- DBase - eine bekannte Datenbank für DOS aus den 80er Jahren. Dateien im DBase-Format werden immer noch wegen ihrer einfachen Struktur verwendet.

- FoxPro - eine Anwendung ähnlich wie DBase aus den frühen 90er Jahren. Nach der Übernahme durch Microsoft wurde es um eine grafische Benutzeroberfläche erweitert und wird daher für Datenbanken auf PCs verwendet. Das Programm wird immer noch angeboten, scheint aber veraltet zu sein.

- Microsoft Access - eine Datenbankanwendung (Entwurf von Datenbanken und grafischen Oberflächen) mit vielen Vereinfachungen, daher für Anfänger geeignet, entworfen in den späten 80er Jahren auf der Grundlage einer 16-Bit Rechnerarchitektur. Diese Anwendung ist bis heute weit verbreitet, besonders in kleinen Firmen, die nur geringe Anforderungen an Effizienz und Mehrbenutzerbetrieb haben.

- FileMaker - ein bekanntes Programm ähnlich wie MS Access, aber einfacher; seit 1995 für Windows- und Macintosh-Betriebssysteme.

- &kexi; - eine Anwendung für mehrere Betriebssysteme (&UNIX;/&Linux;, Windows, &MacOS; X), entwickelt seit 2003 als OpenSource. &kexi; ist Teil des Projekts &kde; &ie; einer grafischen Arbeitsoberfläche für &UNIX;/&Linux;-Systeme. Die Entwicklung von &kexi; wird wesentlich durch die Firma OpenOffice Poland unterstützt.

## Anhang B. Vergleich von &kexi; mit anderen Datenbankprogrammen

- Datentypen

### Datentypen

Obwohl die verschiedenen Datenbankprogramme ähnliche Funktionen enthalten, verwenden sie oft unterschiedliche Begriffe. Als Hilfe werden in diesem Anhang die in &kexi; verwendeten Begriffe im Vergleich zu anderen Datenbankprogrammen dargestellt. Daher ist dieser Abschnitt beim Wechsel der Datenbank hilfreich.

Die folgende Tabelle zeigt die Datentypen in &kexi; und vergleicht sie zu denen anderer Datenbankprogramme.

Einige der hier aufgeführten Datentypen sind Untertypen. Zum Beispiel der Typ Long text ist ein Untertyp vom Typ Text. Um einen Untertyp in &kexi; zu verwenden, wählen Sie den zugehörigen Basistyp (in diesem Fall Text) im Entwurfsmodus einer Tabelle und stellen dann im Eigenschafteneditor den Untertyp ein.

### Vergleich der Datentypen in &kexi; mit anderen Datenbankprogrammen

&kexi; | MS Access | dBase/FoxPro | Paradox
Text (Text) | Text | Character | Alphanumeric
Long text (Langer Text) | Memo | Memo | Memo
Date/Time (Datum/Zeit) | Date, Time | Date | DateTime
Integer Number (Ganze Zahl) | Number (Ganze Zahl) | Numeric | Integer
Big Integer Number (Große Ganze Zahl) | Long Integer | Numeric | Long Integer
Floating Point Number (Gleitkommazahl) | Single/Double precision number | Float | Number

## Anhang C: Reservierte Wörter für SQL

Die folgenden Listen enthalten Schlüsselwörter, die intern von &kexi; bei der Bearbeitung von Datenquellen verwendet werden.

Wenn Sie Ihre Datenbanken erstellen, sollten Sie es unbedingt vermeiden, diese reservierten Schlüsselwörter zu verwenden, da Sie sonst zu Problemen mit Ihrer Datenbankdatei führen oder diese sogar unbrauchbar machen können.

Wenn Sie trotzdem die reservierten Schlüsselwörter benutzen möchten, umschließen Sie sie mit doppelten Anführungszeichen .

### Reservierte Wörter für Kexi-SQL

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi-SQL reserviert sind:

- AFTER

- ALL

- ASC

- BEFORE

- BEGIN

- BETWEEN

- BY

- CASCADE

- CASE

- CHECK

- COLLATE

- COMMIT

- CONSTRAINT

- CROSS

- DATABASE

- DEFAULT

- DELETE

- DESC

- DISTINCT

- DROP

- END

- ELSE

- EXPLAIN

- FOR

- FOREIGN

- FULL

- GROUP

- HAVING

- IGNORE

- INDEX

- INNER

- INSERT

- INTO

- KEY

- LIMIT

- MATCH

- NATURAL

- OFFSET

- ORDER

- OUTER

- PRIMARY

- REFERENCES

- REPLACE

- RESTRICT

- ROLLBACK

- ROW

- SET

- TEMPORARY

- THEN

- TRANSACTION

- UNION

- UNIQUE

- UPDATE

- USING

- VALUES

- WHEN

### Reservierte Wörter für SQLite-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem SQLite-Treiber reserviert sind:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

### Reservierte Wörter für MySQL-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem MySQL-Treiber reserviert sind:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTO_INCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- OPTIMIZE

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Reservierte Wörter für PostgreSQL-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem pqxx-Treiber reserviert sind:

- ABORT

- ABSOLUTE

- ACCESS

- ACTION

- ADD

- AGGREGATE

- ALTER

- ANALYSE

- ANALYZE

- ANY

- ARRAY

- ASSERTION

- ASSIGNMENT

- AT

- AUTHORIZATION

- BACKWARD

- BIGINT

- BINARY

- BIT

- BOOLEAN

- BOTH

- CACHE

- CALLED

- CAST

- CHAIN

- CHAR

- CHARACTER

- CHARACTERISTICS

- CHECKPOINT

- CLASS

- CLOSE

- CLUSTER

- COALESCE

- COLUMN

- COMMENT

- COMMITTED

- CONSTRAINTS

- CONVERSION

- CONVERT

- COPY

- CREATEDB

- CREATEUSER

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- CURSOR

- CYCLE

- DAY

- DEALLOCATE

- DEC

- DECIMAL

- DECLARE

- DEFAULTS

- DEFERRABLE

- DEFERRED

- DEFINER

- DELIMITER

- DELIMITERS

- DO

- DOMAIN

- DOUBLE

- EACH

- ENCODING

- ENCRYPTED

- ESCAPE

- EXCEPT

- EXCLUDING

- EXCLUSIVE

- EXECUTE

- EXISTS

- EXTERNAL

- EXTRACT

- FALSE

- FETCH

- FIRST

- FLOAT

- FORCE

- FORWARD

- FREEZE

- FUNCTION

- GLOBAL

- GRANT

- HANDLER

- HOLD

- HOUR

- ILIKE

- IMMEDIATE

- IMMUTABLE

- IMPLICIT

- INCLUDING

- INCREMENT

- INHERITS

- INITIALLY

- INOUT

- INPUT

- INSENSITIVE

- INSTEAD

- INT

- INTERSECT

- INTERVAL

- INVOKER

- ISNULL

- ISOLATION

- LANCOMPILER

- LANGUAGE

- LAST

- LEADING

- LEVEL

- LISTEN

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCATION

- LOCK

- MAXVALUE

- MINUTE

- MINVALUE

- MODE

- MONTH

- MOVE

- NAMES

- NATIONAL

- NCHAR

- NEW

- NEXT

- NO

- NOCREATEDB

- NOCREATEUSER

- NONE

- NOTHING

- NOTIFY

- NOTNULL

- NULLIF

- NUMERIC

- OF

- OFF

- OIDS

- OLD

- ONLY

- OPERATOR

- OPTION

- OUT

- OVERLAPS

- OVERLAY

- OWNER

- PARTIAL

- PASSWORD

- PATH

- PENDANT

- PLACING

- POSITION

- PRECISION

- PREPARE

- PRESERVE

- PRIOR

- PRIVILEGES

- PROCEDURAL

- PROCEDURE

- READ

- REAL

- RECHECK

- REINDEX

- RELATIVE

- RENAME

- RESET

- RESTART

- RETURNS

- REVOKE

- ROWS

- RULE

- SCHEMA

- SCROLL

- SECOND

- SECURITY

- SEQUENCE

- SERIALIZABLE

- SESSION

- SESSION_USER

- SETOF

- SHARE

- SHOW

- SIMPLE

- SMALLINT

- SOME

- STABLE

- START

- STATEMENT

- STATISTICS

- STDIN

- STDOUT

- STORAGE

- STRICT

- SUBSTRING

- SYSID

- TEMP

- TEMPLATE

- TIME

- TIMESTAMP

- TOAST

- TRAILING

- TREAT

- TRIGGER

- TRIM

- TRUE

- TRUNCATE

- TRUSTED

- TYPE

- UNENCRYPTED

- UNKNOWN

- UNLISTEN

- UNTIL

- USAGE

- USER

- VACUUM

- VALID

- VALIDATOR

- VARCHAR

- VARYING

- VERBOSE

- VERSION

- VIEW

- VOLATILE

- WITH

- WITHOUT

- WORK

- WRITE

- YEAR

- ZONE

### Reservierte Wörter für Oracle-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem Oracle-Treiber reserviert sind:

- ADMIN

- AFTER

- ALLOCATE

- ANALYZE

- ARCHIVE

- ARCHIVELOG

- AUTHORIZATION

- AVG

- BACKUP

- BECOME

- BEFORE

- BEGIN

- BLOCK

- BODY

- CACHE

- CANCEL

- CASCADE

- CHANGE

- CHARACTER

- CHECKPOINT

- CLOSE

- COBOL

- COMMIT

- COMPILE

- CONSTRAINT

- CONSTRAINTS

- CONTENTS

- CONTINUE

- CONTROLFILE

- COUNT

- CURSOR

- CYCLE

- DATABASE

- DATAFILE

- DATE

- DBA

- DEC

- DECLARE

- DISABLE

- DISMOUNT

- DOUBLE

- DUMP

- EACH

- ENABLE

- END

- ESCAPE

- EVENTS

- EXCEPT

- EXCEPTIONS

- EXEC

- EXECUTE

- EXPLAIN

- EXTENT

- EXTERNALLY

- FETCH

- FLUSH

- FORCE

- FOREIGN

- FORTRAN

- FOUND

- FREELIST

- FREELISTS

- FUNCTION

- GO

- GOTO

- GROUPS

- INCLUDING

- INDICATOR

- INITRANS

- INSTANCE

- INT

- KEY

- LANGUAGE

- LAYER

- LINK

- LISTS

- LOGFILE

- MANAGE

- MANUAL

- MAX

- MAXDATAFILES

- MAXINSTANCES

- MAXLOGFILES

- MAXLOGHISTORY

- MAXLOGMEMBERS

- MAXTRANS

- MAXVALUE

- MIN

- MINEXTENTS

- MINVALUE

- MODULE

- MOUNT

- NEW

- NEXT

- NOARCHIVELOG

- NOCACHE

- NOCYCLE

- NOMAXVALUE

- NOMINVALUE

- NONE

- NOORDER

- NORESETLOGS

- NORMAL

- NOSORT

- NUMERIC

- OFF

- OLD

- ONLY

- OPEN

- OPTIMAL

- OWN

- PACKAGE

- PARALLEL

- PCTINCREASE

- PCTUSED

- PLAN

- PLI

- PRECISION

- PRIMARY

- PRIVATE

- PROCEDURE

- PROFILE

- QUOTA

- READ

- REAL

- RECOVER

- REFERENCES

- REFERENCING

- RESETLOGS

- RESTRICTED

- REUSE

- ROLE

- ROLES

- ROLLBACK

- SAVEPOINT

- SCHEMA

- SCN

- SECTION

- SEGMENT

- SEQUENCE

- SHARED

- SNAPSHOT

- SOME

- SORT

- SQL

- SQLCODE

- SQLERROR

- SQLSTATE

- STATEMENT_ID

- STATISTICS

- STOP

- STORAGE

- SUM

- SWITCH

- SYSTEM

- TABLES

- TABLESPACE

- TEMPORARY

- THREAD

- TIME

- TRACING

- TRANSACTION

- TRIGGERS

- TRUNCATE

- UNDER

- UNLIMITED

- UNTIL

- USE

- USING

- WHEN

- WORK

- WRITE

### Reservierte Wörter für Sybase-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem Sybase-Treiber reserviert sind:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTOINCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- OPTIMIZE

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Reservierte Wörter für xBase-Treiber in Kexi

Diese Liste enthält Schlüsselwörter, die für die Verwendung in Kexi mit dem xBase-Treiber reserviert sind:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

Reservierte Schlüsselwörter werden getrennt für jeden einzelnen Datenbanktreiber aufgeführt, damit sie als Referenz verwendet werden können.

## Anhang D: Unterstützte Dateiformate

### Durch Komma getrennte Werte (CSV)

&kexi; kann Daten von und zu einer Vielzahl von CSV-Dateien (durch Komma getrennte Werte) importieren und exportieren. Die meisten Tabellenkalkulationen und Datenbankanwendungen können dieses Format importieren und exportieren.. Damit ist diese Format für die Migration von Textdaten zwischen verschiedenen Anwendungen geeignet.

&kexi; unterstützt einige Optionen, die vor dem Import eingestellt werden können:

- Datentyp für jede Spalte,

- Andere Feldtrennzeichen wie zum Beispiel Tabulatorzeichen,

- Andere Markierungen für Text,

- Angegebene Datensätze können ausgelassen werden, falls erforderlich.

- Doppelte Trennzeichen können übersprungen werden.

- Werte aus der ersten Zeile können als Spaltennamen benutzt werden,

- Textkodierung (Standard UTF-8),

- Datumsformat (Standard wird durch das Betriebssystem definiert).

- Entfernen von Leerzeichen am Anfang und Ende von Textwerten.

Beim Import zeigt &kexi; eine Vorschau der zu importierenden Daten. Passende Einstellungen werden von &kexi; automatisch auf der Grundlage der CSV-Datei erkannt.

### Microsoft Access (MDB)-Dateiformat

#### Überblick

Unterstützung für den Import von Microsoft Access-Datenbanken (Version 2003 oder früher) ist in &kexi; enthalten. Access-Datenbanken können nur in eine &kexi;-Datenbank importiert werden. Die Datenbank kann nicht bearbeitet und auch nicht als Access-Datenbank exportiert werden. &kexi; kann aber auch andere Datenbanken importieren, die mit dem Datenbanktreiber „JET“ erstellt wurden. Der Import von `.accdb`-Datenbanken, die mit MS Access 2007 eingeführt wurden, unterstützt &kexi; zurzeit nicht.

Um eine Datenbank zu importieren:

1. Wählen Sie aus &kexi;-Menü den Befehl Importieren, Exportieren oder Senden ....

2. Klicken Sie auf den Knopf Datenbank importieren.

3. Starten Sie den Import.Assistenten durch Auswahl der gewünschten „.mdb“-Datei.

#### Fähigkeiten

Mit der Importfunktion wurde erfolgreich für den Import der allen Benutzern von MS Access bekannten Datenbank Northwind verwendet. Viele weitere Access-Datenbankvorlagen können ebenfalls importiert werden.

#### Unterstützte Fähigkeiten

Der Import folgender Feldtypen wurde getestet Und funktioniert im allgemeinen zufriedenstellend:

- Textfelder

- Memofelder

- Datenfelder

- Numerische Werte

#### Nicht unterstützte Fähigkeiten

Zurzeit werden nur Tabellen importiert. Beim Import übergeht &kexi; folgende Objekte:

- Abfragen

- Formulare

- Skripte

- Berichte

Die folgende Funktion wurde nicht getestet:

- Import von binären Objekten

## Danksagungen und Lizenz

&kexi; Copyright 2002-2012 Das Kexi-Team

Entwickler von &kexi;

- Jaroslaw Staniek (staniek kde.org)

- OpenOffice Polska, LLC (info openoffice.com.pl)

- Lucijan Busch (lucijan kde.org)

- Cedric Pasteur (cedric.pasteur free.fr)

- Adam Pigg (adam piggz.fsnet.co.uk)

- Martin Ellis (martin.ellis kdemail.net)

- Sebastian Sauer (mail dipe.org)

- Christian Nitschkowski (segfault_ii web.de)

- Peter Simonsson (psn linux.se)

- Joseph Wenninger (jowenn kde.org)

- Seth Kurzenberg (seth cql.com)

- Laurent Montel (montel kde.org)

- Till Busch (till bux.at)

Copyright der Dokumentation Martin A. Ellis martin.ellis@kdemail.net, Jaroslaw Staniek staniek@kde.org mit Beiträgen von Anne-Marie Mahfouf und Raphael Langerhorst, Michal Kubicki and Aron Stansvik.

Dies Programm ist unter den Bedingungen der GNU Lesser General Public License veröffentlicht.

Übersetzung Burkhard Lück lueck@hube-lueck.de

&underFDL;
&documentation.index;