Import von relationalen Daten

Werbung
combit GmbH
Untere Laube 30
78462 Konstanz
Whitepaper
Produkt: combit Relationship Manager 2007
Import von relationalen Daten
© Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: combit Relationship Manager 2007
Import von relationalen Daten
-2-
Import von relationalen Daten
Über Organisation > Import können Sie Daten nur in einzelne Tabellen importieren. Daher müssen die
Datensätze nach einem Import in 2 Ansichten über eine SQL-Abfrage relational verknüpft werden.
Beispiel 1: Import aus 2 Datenquellen.
Personen und Kontakte sind in den Originaldaten in 2 Tabellen (Datenquellen) gespeichert und über das
Feld "KundenNr" eindeutig verknüpft. Wir empfehlen das folgende Vorgehen:
1. Alle evtl. vorhandenen Einschränkungen (Constraints) im Datenbanksystem löschen, an denen ein
Import scheitern könnte. Einschränkungen definieren Regeln bezüglich der in Spalten zulässigen Werte,
z.B. das Zulassen von NULL-Werten.
Beispiel: Ein Datensatz in der Ansicht "Kontakte" muss zwingend mit einem Datensatz aus der Ansicht "Personen"
verknüpft sein. D.h. im Fremdschlüsselfeld "PersID" muss der Primärschlüssel des verknüpften PersonenDatensatzes stehen. Daher wurde bei der Konfiguration der Datenbankstruktur für das Feld "PersID" die Option
"NULL-Werte erlaubt" deaktiviert. Diese Einschränkung wäre zum Zeitpunkt des Imports aber nicht möglich, daher
muss diese Option vor dem Import wieder aktiviert werden.
2. Die Daten über den cRM in die jeweiligen Ansichten importieren. Das Feld, über das die Datensätze
eindeutig verknüpft sind, in die Felder "Z_Import_PK" (Primärschlüssel) und "Z_Import_FK"
(Fremdschlüssel) der jeweiligen Ansicht importieren.
Beispiel: Personen und Kontakte sind in den Originaldaten in 2 Tabellen (Datenquellen) gespeichert und über das
Feld "KundenNr" eindeutig verknüpft. Die Personen-Daten werden in die Ansicht "Personen" importiert, dabei wird
die "KundenNr" in das Feld "Z_Import_PK" importiert. Die Kontakt-Daten werden in die Ansicht "Kontakte"
importiert, dabei wird die "KundenNr" in das Feld "Z_Import_FK" importiert.
© Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: combit Relationship Manager 2007
Import von relationalen Daten
-3-
3. Über eine SQL-Abfrage werden nun alle Datensatz einer Ansicht mit den zugehörigen Datensätzen der
zweiten Ansicht verknüpft. Den entsprechenden SQL Befehl führen Sie direkt im Microsoft SQL Server
Management Studio (oder pgAdmin von PostgreSQL) aus.
Beispiel: Über eine SQL-Abfrage sollen alle Personen-Datensätze mit den zugehörigen Kontakt-Datensätzen
verknüpft werden. Ein Kontakt-Datensatz gehört zu einem Personen-Datensatz, wenn "Z_Import_FK" mit dem Wert
von "Z_Import_PK" übereinstimmt. Dann soll der Wert des Schlüsselfelds der Ansicht "Personen" (RecordID) in das
Fremdschlüsselfeld der Ansicht "Kontakte" (PersID) gesetzt werden. Diese Abfrage soll nur für diejenigen KontaktDatensätze ausgeführt werden, bei denen im Feld "Z_Import_FK" auch ein Wert vorhanden ist.
Im Microsoft SQL Server Management Studio wählen Sie "Neue Abfrage" im Kontextmenü der Datenbank. Geben
Sie folgenden Befehl ein und klicken dann auf die Schaltfläche "Ausführen":
update "KONTAKTE"
set "PersID" = (select distinct "PERSONEN"."RecordID" FROM "PERSONEN"
where "KONTAKTE"."Z_Import_FK" = "PERSONEN"."Z_Import_PK")
where "KONTAKTE"."Z_Import_FK" IS NOT NULL AND LEN(RTRIM("KONTAKTE"."Z_Import_FK"))>0
4. Die zuvor gelöschten Einschränkungen (Constraints) im Datenbanksystem wieder einrichten.
Beispiel 2: Import aus einer Datenquelle.
Firmen und Personen sind in den Originaldaten in einer gemeinsamen Tabelle (Datenquelle) gespeichert.
Jede Firma hat nur einen einzigen Datensatz, d.h. nur einen einzigen Ansprechpartner. Jeder Datensatz hat
eine eindeutige "KundenNr".
1. Alle evtl. vorhandenen Einschränkungen (Constraints) im Datenbanksystem löschen, an denen ein
Import scheitern könnte.
2. a) Die Firmen-Daten werden in die Ansicht "Firmen" importiert. Alle für den Firmen-Datensatz
passenden Felder werden entsprechend zugeordnet, dabei wird die "KundenNr" in das Feld
"Z_Import_PK" importiert.
b) Die Personen-Daten werden in die Ansicht "Personen" importiert. Alle für den Personen-Datensatz
passenden Felder werden entsprechend zugeordnet, dabei wird die "KundenNr" in das Feld
"Z_Import_FK" importiert.
3. Über eine SQL-Abfrage werden nun alle Datensätze der Personen-Ansicht mit dem jeweils zugehörigen
Firmen-Datensatz verknüpft. Das Schlüsselfeld der Ansicht "Firmen" heißt "RecordID", das
© Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: combit Relationship Manager 2007
Import von relationalen Daten
-4-
Fremdschlüsselfeld der Ansicht "Personen" heißt "FirmenID".
Im Microsoft SQL Server Management Studio wählen Sie "Neue Abfrage" im Kontextmenü der
Datenbank. Geben Sie folgenden Befehl ein und klicken dann auf die Schaltfläche "Ausführen":
update "PERSONEN"
set "FirmenID" = (select distinct "FIRMEN"."RecordID" FROM "FIRMEN"
where "PERSONEN"."Z_Import_FK" = "FIRMEN"."Z_Import_PK")
where "PERSONEN"."Z_Import_FK" IS NOT NULL AND LEN(RTRIM("PERSONEN"."Z_Import_FK"))>0
4. Die zuvor gelöschten Einschränkungen (Constraints) im Datenbanksystem wieder einrichten.
Beispiel 3: Abgleich mit einer Datenquelle.
Firmen und Personen sind in den Originaldaten in einer gemeinsamen Tabelle (Datenquelle) gespeichert.
Die Firmen-Daten werden nicht über den Import sondern über einen Abgleich "importiert", da in der
Datenbank bereits Firmen-Datensätze vorhanden sind und in der Datenquelle eine Firma mehrere
Ansprechpartner haben kann. Daher würde bei einem Import in die Firmen-Ansicht ein Firmen-Datensatz
mehrfach vorkommen.
Es gibt kein eindeutiges Verknüpfungsfeld (z.B. eine Firmen-Kundennummer bei jedem Datensatz) daher
wird für die Verknüpfung als Schlüsselfeld der Name der Firma und die Postleitzahl genutzt. Diese
Kombination muss eindeutig sein und darf in der Firmen-Ansicht nur einmal vorkommen.
1. Alle evtl. vorhandenen Einschränkungen (Constraints) im Datenbanksystem löschen, an denen ein
Import scheitern könnte.
2. a) Die Firmendaten werden mit der Ansicht "Firmen" abgeglichen. Schlüsselfeld für den Abgleich ist das
Feld "Firma" und das Feld "PLZZ", da diese Kombination für die spätere SQL-Abfrage sowieso eindeutig
sein muss. Alle für den Firmen-Datensatz passenden Felder werden entsprechend zugeordnet, dabei
werden Firmenname und Postleitzahl zusätzlich in das Feld "Z_Import_PK" (<Firma><PLZ>) importiert.
b) Die Personen-Daten werden in die Ansicht "Personen" importiert. Alle für den Personen-Datensatz
© Copyright combit GmbH, Alle Rechte vorbehalten.
Produkt: combit Relationship Manager 2007
Import von relationalen Daten
-5-
passenden Felder werden entsprechend zugeordnet, dabei werden Firmenname und Postleitzahl in das
Feld "Z_Import_FK" (<Firma><PLZ>) importiert.
3. Im Microsoft SQL Server Management Studio wählen Sie "Neue Abfrage" im Kontextmenü der
Datenbank. Geben Sie den Befehl aus Beispiel 2 ein und klicken dann auf die Schaltfläche "Ausführen".
4. Die zuvor gelöschten Einschränkungen (Constraints) im Datenbanksystem wieder einrichten.
Hinweis: combit macht keine Angaben zu einer bestimmten Eignung obiger Informationen. Irrtümer und Fehler bleiben ausdrücklich
vorbehalten, die Angaben erfolgen ohne Gewähr und enthalten keine Zusicherung. Die Informationen können z.T. auch ein Versuch
sein, Ihnen bei einer Aufgabenstellung zu helfen, selbst wenn das Produkt eigentlich nicht für diesen speziellen Zweck vorgesehen
wurde.
© Copyright combit GmbH, Alle Rechte vorbehalten.
Herunterladen