4D v16.3

Grundlagen der Datenbank

Home

 
4D v16.3
Grundlagen der Datenbank

Grundlagen der Datenbank  


 

 

Eine Datenbank ist eine Sammlung von Informationen, die für eine effizente Verwendung strukturiert ist. Ein Telefonverzeichnis ist ein gutes Beispiel für eine Datenbank. Gleiches gilt für ein Wörterbuch, einen Kalender oder ein Kochbuch.

Die Informationen in einer Datenbank sind in Form von Datensätzen geordnet. Jeder Datensatz enthält alle Informationen über eine Person oder Sache in der Datenbank. Jeder Datensatz in einem Telefonverzeichnis enthält z.B. den Namen einer Person, die Adresse und die Telefonnummer.

Jeder Datensatz enthält Datenfelder. In einem Datenfeld werden einzelne Teile einer Information gespeichert. In der Datenbank eines Telefonverzeichnisses enthält z.B. ein Datenfeld den Namen der Person; ein zweites die Adresse dieser Person; und ein drittes die Telefonnummer dieser Person. Jeder Datensatz enthält diese drei Datenfelder und jeder Datensatz kann in diesen Datenfeldern Informationen enthalten.

Ein Feldname kennzeichnet normalerweise die in dem Datenfeld enthaltene Information. Ein Feldname ist gewöhnlich so etwas wie Name, Adresse, oder Telefonnummer. Jedes Datenfeld hat einen Feldtypen, der die Art von Information kennzeichnet, die in das Datenfeld eingegeben werden kann: Zahlen, Daten, alphanumerische Zeichen und andere. Da jedes Datenfeld einen besonderen Typ von Daten enthält, kann man Berechnungen und andere Operationen mit den Informationen in den Datenfeldern durchführen. Man kann z.B. die Zahlen aus zwei Datenfeldern addieren. Ein Datum in einem Datenfeld kann mit dem Datum aus einem anderen Datenfeld verglichen werden. Der Vorname einer Person, gespeichert in einem Datenfeld, kann vor dem Nachnamen, gespeichert in einem anderen Datenfeld, dargestellt werden und so die erste Zeile auf einem Adressen-Etikett sein.

Alle Datensätze zusammen bilden eine Tabelle. Jede Datenbank kann viele Tabellen enthalten. Die folgende Abbildung zeigt, wie diese Elemente miteinander verknüpft sind

4D kann Datensätze umordnen und Berechnungen mit den Informationen durchführen, damit Sie diese Information sinnvoll einsetzen können. 4D kann z.B. den Gesamtwert eines Datenfeldes berechnen und die Summe in einem Datensatz darstellen. Es kann für jeden Verkäufer eine Summe berechnen und eine Grafik anzeigen, in der die Verkaufszahlen verglichen werden.

4D kann pro Anwendung von 1 bis zu 32 767 Tabellen anlegen. So können Sie eine Struktur erstellen, die genau zu Ihren Anforderungen passt.

Einige Datenbanken setzen nur eine Tabelle ein. Ein einzelne Tabelle benutzen Sie für eine Kategorie von Informationen, wie z.B. Angestellte, Firmen oder Inventar. Eine Tabelle kann so viele Datenfelder enthalten, wie Sie benötigen, max. 32 767.

In dieser Abbildung benötigt der Datensatz jedes Angestellten dieselbe Art von Daten. Die Datenbank wächst mit der Anzahl der gespeicherten Angestellten.

Oftmals kann eine Datenbank die Daten besser speichern und darauf zugreifen, wenn mehr als eine Tabelle benutzt wird. Eine gute Regel ist, dass unterschiedliche Arten von Informationen in unterschiedlichen Tabellen gespeichert werden sollten.
Ein gängiges Beispiel ist eine Datenbank, in der Angestellte und Firmen erfasst sind. Die Datensätze für Angestellte und Firmen sind in verschiedenen Tabellen gespeichert. Wenn sich die Adresse einer Firma ändert, müssen Sie nur diesen einen Datensatz ändern. Sie müssen die neue Adresse nicht für jeden Angestellten eingeben, der in dieser Firma arbeitet.
Bei nur einer Tabelle müssten Sie die Adresse bei jedem einzelnen Datensatz eingeben; bei zwei Tabellen geben Sie diese Information nur einmal ein. Geben Sie in den Datensatz eines Angestellten einen Firmennamen ein, kann 4D nach dem Datensatz der Firma suchen und automatisch die richtige Adresse anzeigen.

Die folgende Abbildung zeigt die Struktur einer Datenbank, bei der zwei Tabellen miteinander verknüpft sind. Der Pfeil zwischen dem Firmenfeld und dem Datenfeld mit dem Firmennamen zeigt die Verknüpfung.

Die Daten für jeden Angestellten sind in der Tabelle [Angestellte] gespeichert. Die Daten jeder Firma sind in der Tabelle [Firma] abgelegt.

Hinweis: In der 4D Dokumentation erscheinen Tabellennamen in eckigen Klammern. So werden sie auch im Methodeneditor angezeigt.

4D wird als relationale Datenbank bezeichnet, d.h. es werden mehrere Tabellen benutzt, die unterschiedlich miteinander verknüpft sind. Sie können z.B. einen Datensatz für die Tabelle [Angestellte] erstellen, der in der Tabelle [Firma] sucht und automatisch die Informationen über die Firma jedes Angestellten anzeigt und druckt. Durch die Verknüpfungen zwischen den Tabellen stehen die Informationen aus jeder Tabelle für den Datensatz zur Verfügung.
Sie können Daten direkt in verknüpfte Tabellen eingeben. In einer Datenbank für Rechnungen können Sie z.B. in einem Formular für eine Rechnung auch die Informationen der einzelnen Positionen verändern, obwohl diese in einer anderen Tabelle gespeichert sind. Sie können auch mit der Programmiersprache von 4D Daten in verknüpfte Tabellen schreiben.

Manchmal benötigen Sie eine Struktur mit mehreren Tabellen, bei der die Tabellen nicht direkt miteinander verknüpft sind. Es kann vorteilhaft sein, eine Datenbank zu haben, in der unterschiedliche Arten von Informationen gespeichert sind, wie z.B. eine Adressenliste und eine Kostentabelle.
4D erlaubt in jeder Datenbank bis zu 32 767 Tabellen. Eine Tabelle kann bis zu 32 761 Datenfelder haben. Bei Mehrfachtabellen ist virtuell jede Art von Datenbankstruktur möglich.

In der Regel erstellen Sie Strukturen, in denen Informationen auf mehrere Tabellen verteilt sind. Nehmen wir z.B. an, Sie erstellen eine Datenbank, in der Sie Angestellte und ihre Firmen erfassen. Die unten dargestellte Struktur enthält eine Tabelle [Angestellte] zum Speichern der Daten der Angestellten und eine Tabelle [Firma] zum Speichern der Firmendaten:

Obwohl sinnvoll, erfüllen die in jeder einzelnen Tabelle gespeicherten Daten nicht Ihre Anforderungen zum Erfassen der Informationen. Wenn Sie sich einen Datensatz aus der Tabelle [Angestellte] ansehen, wollen Sie auch Informationen über die Firma haben, in welcher dieser Angestellte arbeitet; und wenn Sie sich einen Datensatz aus der Tabelle [Firma] ansehen, wollen Sie Informationen über alle Angestellten haben, die in dieser Firma arbeiten.
Sie können zwei Tabellen, die solche Informationen enthalten, miteinander verknüpfen - mit anderen Worten, zwischen den Daten jeder Tabelle kann eine Verbindung hergestellt werden.
In 4D haben Sie durch Tabellenverknüpfungen Zugriff auf Daten aus einer anderen Tabelle. Tabellen, die Informationen über eine Verknüpfung verfügbar machen, werden als verknüpfte Tabellen bezeichnet.

Verknüpfte Tabellen bieten vielfältige Möglichkeiten. Sie können:

  • Daten effektiv speichern
  • Daten an einer Stelle aktualisieren, die Änderungen werden überall übernommen, wo diese Daten vorkommen
  • Verknüpfte Informationen ansehen
  • Suchen und Sortierungen in einer Tabelle ausführen, die auf Daten in einer anderen Tabelle beruhen
  • In verknüpften Tabellen Datensätze erstellen, ändern oder löschen

Die folgende Abbildung zeigt eine Verknüpfung zwischen der Tabelle [Angestellte] und der Tabelle [Firma] im Struktureditor:

Die Tabelle [Angestellte] enthält einen Datensatz pro Angestellten. Die Tabelle [Firma] enthält einen Datensatz pro Firma. Die Verknüpfung zwischen den beiden Tabellen ermöglicht Ihnen, auf Informationen aus beiden Tabellen zuzugreifen, Informationen einzugeben, zu ändern oder zu löschen. Zum Beispiel:

  • Ist der Datensatz eines Angestellten geöffnet, können Sie sich die zugehörige Firmeninformation ansehen oder ändern, z.B. die Firmenadresse aktualisieren.
  • Wenn Sie einen neuen Angestellten hinfügen, können Sie den Datensatz dieses Angestellten mit dem zugehörigen Datensatz der Firma verbinden, wenn die Firma bereits eingegeben ist, oder den neuen Datensatz der Firma erstellen, während Sie den Datensatz für diesen Angestellten erstellen. Weitere Informationen finden Sie im Abschnitt Verknüpfungseigenschaften.
  • Sie können sich bei jeder Firma die Informationen für alle Angestellten dieser Firma ansehen oder ändern - Name, Titel, Telefonnummer usw. Sie können auch den Datensatz eines Angestellten innerhalb des Datensatzes der Firma hinzufügen.

Informationen aus verknüpften Tabellen zeigen Sie mit den verknüpften Datenfeldern an - das sind die Datenfelder, die zwei Tabellen über eine Verknüpfung miteinander verbinden. Das Verknüpfen von Tabellen soll 4D anweisen, welcher bzw. welche Datensätze in einer Tabelle zu aktualisieren sind, basierend auf dem aktualisierten Datensatz in der anderen Tabelle. Verknüpfte Tabellen verwenden Daten in zwei verknüpften Datenfeldern, um dazugehörige Datensätze zu erkennen. Im vorigen Beispiel ist der Firmenname in beiden Tabellen, der Tabelle [Angestellte] und der Tabelle [Firma] gespeichert.
Das Firmenfeld in der Tabelle [Angestellte] und das Firmennamensfeld in der Tabelle [Firma] verknüpfen die beiden Tabellen. Das Firmennamensfeld in der Tabelle [Firma] ist das Primärschlüsselfeld für [Firma]. Es kennzeichnet jeden Firmendatensatz eindeutig. Ein Primärschlüsselfeld sollte die Eigenschaften Indiziert und Einmalig haben. Ist das Primärschlüsselfeld nicht indiziert, weist 4D dieses Attribut automatisch zu. Das Firmenfeld in der Tabelle [Angestellte] ist ein verknüpftes Datenfeld.

Jeder Wert in einem verknüpften Datenfeld entspricht einem Wert in dem Primärschlüsselfeld einer anderen Tabelle. In diesem Beispiel passt ein Wert des verknüpften Datenfeldes in [Angestellte] genau zu einem Wert des Primärschlüsselfeldes in [Firma]. Das verknüpfte Datenfeld ist ebenfalls indiziert, aber seine Werte sind nicht eindeutig, da ja in der gleichen Firma mehrere Angestellte tätig sein können.

Ab 4D Version 14 müssen Felder mit Primärschlüsseln explizit in jeder Tabelle der Datenbank definiert werden. Die Werte des Primärschlüsselfeldes werden automatisch zugewiesen – entweder durch Zuweisen einer laufenden Nummer, die von 4D vergeben wird, oder durch eine vom Benutzer geschriebene Methode. Diese Vorgehensweise gewährleistet die Einmaligkeit des Schlüsselfeldes. Ist z.B. das Primärschlüsselfeld in der Tabelle [Firma] ein Datenfeld mit laufender Nummer anstelle des Firmennamens, wäre es für Benutzer möglich, mehrere Firmen mit dem gleichen Namen, aber unterschiedlichen Adressen einzugeben. Ändert sich ein Firmenname, kann der Benutzer ebenfalls die Datenbank ändern, ohne die Verknüpfung zwischen den beiden Tabellen zu beeinträchtigen.

Wenn der Benutzer berechtigt ist, den Wert des Primärschlüsselfeldes einzugeben, sollten Sie beide Eigenschaften Einmalig und Nicht änderbar vergeben (siehe Feldeigenschaften), um die Eindeutigkeit der Ersteingabe zu überprüfen und zu verhindern, dass Benutzer den einmal eingegebenen Eintrag ändern können. Wollen Sie die Eigenschaft Nicht änderbar nicht verwenden, müssen Sie anderweitig dafür sorgen, dass Benutzer keine"verwaisten" Datensätze in verknüpften Tabellen schaffen, da sie die Werte eines Primärschlüsselfeldes ändern können.

Sind die Verknüpfungen eingerichtet, können Sie Werte in eine Tabelle schreiben und auslesen, während Sie in der verknüpften Tabelle arbeiten. Wenn Sie z.B. einen Firmennamen in den Datensatz eines Angestellten eingeben, sucht 4D in der Tabelle [Firma] nach dieser Firma und zeigt die Firmenanschrift und Telefonnummer im Datensatz des Angestellten. Sehen Sie sich den Datensatz einer Firma an, sucht 4D in der Tabelle [Angestellte] nach allen Angestellten, die in dieser Firma arbeiten und zeigt deren Datensätze in dem Firmendatensatz.

Sie können diese Verknüpfungen automatisch aufrufen, d.h. Sie müssen nichts programmieren, oder Sie können Verknüpfungen manuell durchführen. Im zweiten Fall benutzen Sie Methoden, um verknüpfte Datensätze zu laden und wieder zu entfernen und kontrollieren das Erstellen, Ändern oder Löschen verknüpfter Datensätze. In komplexen Strukturen, in denen mehr als zwei Tabellen miteinander verknüpft sind und Sie das Laden bzw. Nicht-Laden von verknüpften Datensätzen kontrollieren wollen, sind manuelle Verknüpfungen manchmal von Vorteil.

Bei automatischen Verknüpfungen ordnen Sie die entsprechenden Eigenschaften zu, wenn Sie die Verknüpfung zwischen den Tabellen festlegen. Weitere Informationen finden Sie im Abschnitt Verknüpfungseigenschaften.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Datenbankstruktur erstellen

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v16)
4D Designmodus ( 4D v16.1)
4D Designmodus ( 4D v16.3)