1 cardinality simple link - result?

JBGJ

21-01-2020

So in the office we have a discussion about what the specific result of a 1 cardinality simple link is. It would be awesome to have someone elses take on this.  

 

The ACS documentation (https://docs.adobe.com/content/help/en/campaign-standard/using/developing/adding-or-extending-a-reso...) states that there are 3 different link-types: 

"

  • 1 cardinality simple link : one occurrence of the source table can have at most one corresponding occurrence of the target table.
  • N cardinality collection link : one occurrence of the source table can have several corresponding occurrences of the target table, but one occurrence of the target table can have at most one corresponding occurrence of the source table.
  • 0 or 1 cardinality simple link : one occurrence of the source table can have at most one corresponding occurrence of the target table or none. Note that this kind of Link type can cause performance issue."

So, since there is a difference between the 1 cardinality simple link and the 0 or 1 cardinality simple link, this must mean that when defining a 1 cardinality simple link to a target table, the target table cannot have a null/empty reference to the source table. Or what? 

 

Example: 

Lead table is the source table. 

Profiles (nms:recipient) is the target table. 

 

If we define a 1 cardinality link from source (Lead table) to the target (Profiles). And we then insert a new row in the lead table - will ACS also insert the new row in profiles or will it ignore it? See visualization for reference. 

  

JBGJ_0-1579617592368.png

 

Kind regards, 

J.

1 cardinality simple link ACS Campaign Standard

Accepted Solutions (1)

Accepted Solutions (1)

DavidKangni

MVP

27-01-2020

Hi J,

 

It will not insert a new row in the profiles table. The difference between 1 cardinality and 0 or 1 cardinality links is the data retrieved when doin a query. Basically 1 cardinality is a full join and 0 or 1 cardinality is a left join

Let's say you have 60 leads and 100 profiles

with a 1 cardinality, your query using both tables will return exact matches

with 0 or 1 cardinality, it will return the max number but the fields from the other table will be empty.

 

Thanks

David