Star Schema: Relational Database

The Star Schema stands at the core of relational database architecture, providing a foundational framework for establishing relationships among tables.

Star Schema: The Unmatched Strength of Relationships

The schema enables the creation of comprehensive relations, which are instrumental when using Interactive Segment tools to craft segments based on these inter-table relationships.

👍

Important Unique Feature

Uniquely, the system allows for the creation of N-level relations, offering a level of depth and flexibility that surpasses what many competitors can offer, much less envision.

The Star Schema architecture commences with two central tables: master_contact and master_device. The master_contact table, as the name suggests, stores all contact information, serving as a repository for user data. Concurrently, the master_device table catalogs all devices, encompassing both those associated with known users and devices that are yet to be identified. This structured approach lays the foundation for a comprehensive database system, enabling efficient data management and analysis.

The main two tables of Star Schema - master_contact and master_device

The main two tables of Star Schema - master_contact and master_device

The master_contact table is typically populated with clients' existing contact data, which can be imported via REST APIs or using Automation Flow provided by the platform. This table serves as a central repository for all contact information, facilitating the efficient management and analysis of customer data within the system.

The master_device table maintains a record of all devices associated with a contact, establishing a one-to-many (1:N) relationship with the master_contact table. This design means that for each contact in the master_contact table, there can be multiple corresponding entries in the master_device table, reflecting the various devices that a single contact may use. The construction of this table is facilitated through the implementation of Web SDKs and Mobile SDKs, which are installed on the client's web and mobile applications. These SDKs automatically capture and record device data, ensuring that the master_device table is continuously updated with accurate and comprehensive device information for each contact.

👍

Unlimited Relations

Beyond the foundational master_contact and master_device tables, clients have the flexibility to create an unlimited number of additional data entities, or tables, on the Dengage Platform. These custom tables can then be seamlessly integrated into the Star Schema by using Connect toolbox (see below) , thereby extending the network of relationships among the tables without limitation. This capability allows clients to tailor the database architecture to their specific needs, enabling more complex and detailed data analysis and segmentation based on a wide array of variables and relationships.

Connect Toolbox

Connect toolbox locates at the right upper corner of every table, mainly to create new connections between tables. But this toolbox can also be used to Edit Table structure and List Records in a table.

Connect toolbox to create new relation or edit table or list records

Connect toolbox to create new relation or edit table or list records

1️⃣ Edit Table: The platform provides the functionality to edit the structure of your tables, allowing for the addition, removal, or renaming of columns. This flexibility enables you to modify the structure of the data stored within a table, ensuring that it aligns with your evolving data management and analysis needs. Please visit Edit a table section to learn more.

2️⃣ New Relation: By utilizing this feature, you can introduce a new table into the existing network of relations, facilitating the segment creation process. Later on, through the use of a Drag and Drop editor, you can effortlessly incorporate this new table into your segment-building activities, enhancing the precision and relevance of your targeted segments.

3️⃣ List Records: List the records in the table.

How to create a New Relation in Star Schema

Dengage first promise is unleashing clients' potential. In order to do that you need unlimited data relations to create right segments to fin right audiences for your campaigns.

📘

Table vs Relation

Tables serve as the foundation for storing data within a database. The relationships between these tables can be characterized as one-to-one (1:1), one-to-many (1:N), or many-to-many (N:M), reflecting the various ways in which data entities can be interconnected to represent complex real-world associations.Tables keeps data. Relation is 1:1 or 1:N or N:M relations between 2 tables!

In Star Schema, you can connect unlimited many tables to this relation network by just clicking Connect toolbox on the right upper corner of a table.

1️⃣ Click New Relation: Upon clicking the button to add a new table to the relationship network, a screen will be displayed, listing all available tables that can be integrated into this relational framework. This interface provides a clear overview of the tables at your disposal for enhancing the database structure and enriching the data relationships within your segments.

Upon clicking New Relation, the tables are listed to add to master contact table

Upon clicking New Relation, the tables are listed to add to master contact table

2️⃣ Upon selecting a table to integrate into the network, it is crucial to match the new table's relation contact field with the corresponding field in the existing database structure. This step ensures that the newly added table is correctly linked within the relational network, facilitating accurate data association and seamless integration into the overarching schema.

To integrate a new table into the existing relational network, it's essential to specify the columns that connect these two tables. In this context, the connecting column is identified as contact_key, a column present in both tables. Upon pressing the "Save Relation" button, the Star Schema effectively links these two tables, creating a cohesive and structured relationship. This process not only ensures data integrity but also enhances the database's ability to represent complex relationships visually and functionally, laying the groundwork for more sophisticated data analysis and segmentation.

An example of relation network in Star Schema built by an demo client.

An example of relation network in Star Schema built for a demo client.

How to add a column to master_contact table

It sometimes requires the change of a table structure. You can use Edit Table button below to change a table structure.

Connect toolbox to create new relation or edit table or list records

Connect toolbox to create new relation or edit table or list records

Upon clicking the designated button, a window will subsequently appear, providing further options or information as part of the process.

Edit a table

Edit a table

You can use Add New Column button to add more columns to this table.

❗️

Adding columns to a table with records

Please note, you can only add columns that allow null values (Nullable columns) to a table that already contains records. If you wish to entirely modify the structure of a table, you have the option to delete all existing records within the table to facilitate these changes.

master_contact table

The master_contact table is conceived as one of the two core tables within the system, primarily responsible for maintaining records of contacts and their detailed information. The structure of this table can be extended by Adding Columns.

master_contact table

master_contact table

The master_contact table maintains a 1-N (one-to-many) relationship with the "master_device" table, reflecting that a single contact can be associated with multiple devices. The "contact" column within the "master_device" table specifies the linkage to the "master_contact" table, indicating the ownership of the device by a particular contact. This setup efficiently maps devices to their respective contacts in the database.

master_device Table

The "master_device" table is conceived as one of the two core tables within the system, primarily responsible for maintaining records of devices. It is populated predominantly through data provided by Mobile and Web SDKs, which serve as the principal sources for all device-related information.

Strucure of master_device table.

Strucure of master_device table.

The structure of the "master_device" table is meticulously designed to encompass all essential details about devices, including operating system, brand, model, time zone, and language, among other attributes. This architecture is set to be read-only, ensuring its integrity by prohibiting any modifications to its structure.

👍

master_device > contact_key column

The "contact_key" column in the "master_device" table serves as a foreign key that links to the "contact_key" in the "master_contact" table. By associating a device with a "contact_key," it ensures that the device is connected to a specific contact card in the "master_contact" table. Consequently, all devices sharing the same "contact_key" are linked to the same contact. This design allows contacts to maintain a connection to all their devices seamlessly as they switch between them, ensuring a cohesive linkage of a contact's device ecosystem.

📘

Anonymous devices

The "master_device" table is designed to accommodate both authenticated and unauthenticated devices. This flexibility is made possible through the "contact_key" column, which can be nullable. This allows for devices without an associated contact to be registered within the table, enabling the platform to engage with anonymous devices—potential customers—by sending communications to them. To understand how you can craft campaigns that reach both authenticated and anonymous devices within the same journey, refer to Mastering User Journeys Through Strategic Campaign Flows. This approach facilitates targeted engagement strategies, leveraging the capabilities of the platform to interact with a broader audience.