---
title: Relational Based XDM
slug: ajo-orchestrated-campaigns-lab-feb25/relational-based-xdm
docTags: 
createdAt: 2025-10-15T21:01:49.087Z
---

![](https://experienceleague.adobe.com/en/docs/journey-optimizer/using/campaigns/orchestrated-campaigns/data-configuration/schemas-datasets/media_1ac0bceb690e93404e27f371fe3ea1060cc2e662f.png?width=2000\&format=webply\&optimize=medium)

:::ExpandableHeading{isOpen="true"}
## Excercise

### Upload Your DDL

- Under **Data Management**, click **Schemas**.
- Click **Create Schema**
- Select the option **Relational Schema**
- Select the option **Upload DDL File**
- Drag and Drop your DDL File, Click **Next**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/bsoY-lONjbbjvKUlukHkQ-20260116-150008.png)

### Entities and Fields to Import

We are creating a flat table with a Primary Key without relatable entities or identity namespaces (we will connect this data to a profile during our campaign workflow). However, we must do a few things here:

- Add your initials to the dataset name so every participant has a different table of their own. "brand\_list\_INITIALS"
- Select the modifiedDate as the version column.&#x20;
- Click Done.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/faM3FDHqqK92ndkGbxf_9-20251015-224856.png)
:::

:::ExpandableHeading{isOpen="true"}
## Lab Material

### Sample DDL

You can either download the file or copy the contents and save it in a note pad (notepad++, notes, textEdit, etc) with the extension .ddl.

::File{src="https://api.archbee.com/api/presign/1Jp0iolWv35Z_mkI7oUiT/EtKUplauVhRUiunC5cJmF-20260116-144535.ddl" label="lab_brand_lists_schema.ddl"}

```sql
-- ============================================================================
-- Lab Brand Lists - Table DDL
-- ============================================================================
-- Purpose: Brand lists for recipient engagement tracking
-- Primary Key: recipientListID
-- ============================================================================

CREATE TABLE lab_brand_lists (
    recipientListID VARCHAR(50) NOT NULL,
    recipientId VARCHAR(255) NOT NULL,
    email VARCHAR(255),
    listId VARCHAR(50),
    modified TIMESTAMP NOT NULL,
    enrollDate TIMESTAMP,
    clickActivity BOOLEAN,
    divisionalPreference VARCHAR(255),
    msisdn VARCHAR(50),
    responseModel INTEGER,
    PRIMARY KEY (recipientListID)
);

-- ============================================================================
-- Column Descriptions
-- ============================================================================
-- recipientListID:       Unique identifier for each brand list entry (PK) compound key (recipientId_ListId)
-- recipientId:           Identifier linking to recipient/customer --> profile
-- email:                 Recipient email address
-- listId:                Brand list identifier
-- modified:              Last modification timestamp (required)
-- enrollDate:            Date/time when recipient enrolled in list
-- clickActivity:         Boolean flag for click engagement
-- divisionalPreference:  Divisional preference selection
-- msisdn:                Mobile phone number (MSISDN format)
-- responseModel:         Propensity Response model integer value
-- ============================================================================
```
:::





