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.