Verständnisfrage zum Zusammenspiel MS-SQL und Combit CRM

Hallo,

für ein bald anlaufendes Projekt habe ich eben versucht, im Microsoft SQL Server Management Studio über Datenbankdiagramme --> Neues Datenbankdiagramm --> [Auswahl der entsprechenden Tabelle] --> Verknüpfte Tabellen hinzufügen, die Tabellenrelationen grafisch darzustellen.

Ich war erstaunt, dass „Verknüpfte Tabellen hinzufügen“ ausgegraut war.
Anschließend habe ich versucht, über folgende Abfrage alle Foreign Key Relationen in der DB abzufragen:

SELECT
    FK_Table = FK.TABLE_NAME,
    FK_Column = CU.COLUMN_NAME,
    PK_Table = PK.TABLE_NAME,
    PK_Column = PT.COLUMN_NAME,
    Constraint_Name = C.CONSTRAINT_NAME
FROM
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK
    ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK
    ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU
    ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (
            SELECT
                i1.TABLE_NAME,
                i2.COLUMN_NAME
            FROM
                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
            INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2
                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
            WHERE
                i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
           ) PT
    ON PT.TABLE_NAME = PK.TABLE_NAME

Hier existieren im Wesentlichen nur Relationen für die Termine und Aufgaben.
Verstehe ich das nun richtig, dass die Relationen, die ich in Combit CRM anlege, nicht durch Combit wiederum auf Datenbankebene angelegt werden, sondern durch Combit verwaltet werden?

Vielen Dank im Voraus.

Hi David,

Datenbank-Constraints und cRM-Relationen zwischen Ansichten sind unabhängig voneinander, sie müssen auch nicht zwingend immer synchron sein.

Die cRM Relationen „modellierst“ du in den jeweiligen Ansichteneigenschaften, Screenshot anbei. Mehr Details zu den (cRM) Relationen findest du im PDF-Handbuch unter dem gleichnamigen Stichwort.

Gruß

Alex

Hallo Alex,

vielen Dank für deine Antwort.

Ich bin davon ausgegangen, dass die, im CRM modellierten, Relationen auf Datenbankebene als Primary Key - Foreign Key Constraints weitergegeben werden, was allerdings nicht der Fall zu sein scheint.

Im Handbuch habe ich mittlerweile auch rausgefunden, dass die Constraints tatsächlich durch den Admin angelegt werden sollen, falls kaskadierendes Löschen gewünscht ist.

Hat vielleicht noch jemand eine Idee, wie ich die Tabellenrelationen grafisch darstellen kann, ohne die Constraints auf Datenbankebene nachzumodellieren?

Viele Grüße

Hi,

wenn du Visio hast, dann kannst du einfach das „…\cRM9\Solutions\Large\Scripts\cRMRelationsToVisio.vbs“ Script über den cRM ausführen (irgendeine Ansicht > Start > Aktionen > Scripte & Workflows > Script ausführen).

Gruß

Alex

Hey,

guter Hinweis. Danke Alex!

Morgen werde ich mir das Script mal genauer ansehen.

Wünsche einen schönen Abend.