Relationale Daten importieren

In diesem Kapitel wird dargestellt, wie Daten in verknüpfte Tabellen importiert werden können.

Vorbemerkung

Ninox baut Tabellenverknüpfungen ausschließlich basierend auf den Ninox-eigenen Schlüsseln auf. Als Schlüssel verwendet Ninox dabei die Spalte Nr. Die Werte dieser Spalte werden automatisch vergeben und können nicht geändert werden. Es ist somit auch nicht möglich, diese Spalte beim Import zu verändern.

Angenommen, Sie verknüpfen eine Tabelle Rechnung mit einer anderen Tabelle Kunde. Dann erstellt Ninox im Hintergrund in der Tabelle Rechnung ein Feld für die Nr des Kunden.

Bemerkung, falls Sie Vorerfahrung mit anderen Datenbanken haben: In SQL entspräche dies in etwa ALTER TABLE Rechnung ADD COLUMN Kunde FOREIGN KEY REFERENCES Kunde(Nr).

Um beim Import dieses Feld Rechnung.Kunde richtig zu befüllen, müssen Sie dem Importassistenten Informationen mitgeben, anhand derer Ninox den richtigen Kunden identifizieren und die Relation aufbauen kann.

Vorgehensweise

Die Vorgehensweise zum Import relationaler Daten wird an dem Beispiel Rechnung => Kunde verdeutlicht. Dabei ist Kunde die Haupttabelle und Rechnung die Detailtabelle. (Ein Kunde kann mehrere Rechnungen haben.)

Übersicht:

  1. Vorbereitung der zu importierenden Daten
  2. Anlegen der Tabellen in Ninox
  3. Import in die Haupttabelle
  4. Import in die Detailtabelle

1. Vorbereitung der zu importierenden Daten

Die Daten müssen in zwei CSV-Dateien vorliegen mit folgender exemplarischer Struktur:

Kunde.csv — Kundennummer;Vorname;Nachname

Rechnung.csv — Kundennummer;Rechnungsnummer;Datum;Betrag

Wichtig ist dabei nur, dass es ein gemeinsames Schlüsselfeld gibt – in diesem Fall die Kundennumer. Die anderen Felder dienen lediglich der Illustration.

2. Anlegen der Tabellen in Ninox

Erstellen Sie analog zu den CSV-Dateien zwei Tabellen in Ninox:

Kunde

  • Kundennummer (Text)
  • Vorname (Text)
  • Nachname (Text)

Rechnung

  • Kunde (Verknüpfung zur Tabelle Kunde)
  • Rechnungsnummer (Text)
  • Datum (Datum)
  • Betrag (Zahl)

Beachten Sie, dass die Tabelle Rechnung kein Feld für die Kundennummer trägt, statt dessen eine Verknüpfung zur Kundentabelle.

3. Import in die Haupttabelle

Importieren Sie die Kunden.csv ohne besondere Einstellungen in die Tabelle Kunde.

4. Import in die Detailtabelle

Importieren Sie die Rechnung.csv, bei der Feldzuweisung legen Sie folgendes fest:

[ Kundennummer ] — [ Kunde (Kundennummer) ] (alle aktualiseren)

Durch diese Zuweisung teilen Sie dem Importassistenen mit, dass die Kundennummer aus der Rechnung.csv in der Tabelle Kunde nachgeschlagen werden soll, um den richtigen Kunden zuzuordnen.