Data Model and Schema Design
Campaign data model questions hinge on the xtk (system) and nms (recipient/delivery) namespaces and how you extend them safely. Understand built-in schemas: nms:recipient, nms:delivery, nms:broadLog, nms:trackingLog, xtk:workflow, and the recipient schema selection that drives targeting. Candidates must know how to extend a schema (add fields, links, enumerations) versus create a new schema, and the difference between a 1-1, 1-N, N-N link and how foreign keys and join tables are generated. Know data types, enumerations, keys/uniqueness, and the role of the data schema wizard and SQL preview. Understand targeting dimensions, filtering dimensions, and how offer/consent schemas attach.
Traps: adding fields to nms:recipient without considering index and lock impacts; confusing link cardinality (a 1-N link stores the FK on the child, not the parent); assuming schema changes are reversible (they are additive; drops require care); forgetting that storage/extension schemas should not be edited directly. Another classic: misunderstanding that N-N links require an intermediate table and that xtk:folder-based organization affects UI visibility.
Rule of thumb: extend before you create; keep recipient extensions lean and index selective fields used in filters. Worked example: modeling "customer has many subscriptions" - add a new cus:subscription schema with a 1-N link from recipient (FK on subscription), index the FK, and expose it as a targeting dimension rather than bloating nms:recipient with repeated fields.