In the context of Enterprise Data Integration, data records (such as contacts, companies, contracts, etc.) in enterprise systems (such as CRM system, ERP system, marketing automation application, etc.) are organized in modules. These usually adhere to a relational database schema. Thus, in simple terms, modules usually represent tables in relational databases.
The DataEngine is also organized in modules, which follow a relational schema. You can create as many modules as you like in the DataEngine and relate them to each other in any way you like.
To introduce you to the idea of modules, we will illustrate one of the most common relational data structures in the enterprise domain: contacts and companies. We use a very reduced example with minimal fields – for a better overview. In an enterprise system, like a CRM system, contacts and companies are stored between other related data. However, they are generally the main entities. Let’s first look at the contact module (contains the contact entity).
Normally, of course, the contact module contains much more information about a contact, such as last name, phone number, email address, assigned sales person, etc.
Normally, of course, the company module contains much more information about a company, such as address, billing address, board of directors or management, industry, sales etc.
The Contacts and Companies modules are related to each other. Each contact is assigned to a company. For example, John is associated with SAP AG, Jane with HubSpot, Inc. However, multiple contacts can be associated with one company. For example, both John and Mary are associated with SAP AG. Thus, either one or many contacts are related to a company.
The relation between contacts and firms is thus called a 1:n relation.
For the relation betweem the records of the two modules it needs a relation table:
The company with ID A (SAP AG) can be related to the contact with ID 1 (John) via the relation table. As already described, it is a 1:n relation table. To describe relations between entities, ERMs (Entity-Relationship-Models) are used. A reduced and simplified ERM of the case described above can be found below.