Skip to content

Data Objects

table_chart The Data Objects screen is where you define the core building blocks of your data solution. A data object typically represents a table, view, or query in your target database.

Data Objects screen

  • Add new data objects to your project, specifying a name and the connection where the object lives.
  • Edit existing objects to update names, descriptions, and other properties.
  • Delete objects you no longer need.
  • Browse all objects in your project using the list view.

Each data object contains Data Items, the columns or fields that make up its structure. For each Data Item, you can set:

  • Name: the column name.
  • Data type: the SQL data type (e.g., INT, NVARCHAR(100), DATE).
  • Nullability: whether the column allows null values.
  • Ordinal position: the column’s order in the table.
  • Default value: an optional default for the column.

Business keys identify which columns uniquely define a record in your data object. This is essential for patterns like Data Vault, where business keys drive how data is loaded and linked.

Relationships link data objects to each other, similar to foreign keys. They help ADL understand how your data objects connect, which is useful for templates that generate join logic or relationship documentation.

The Relationships tab shows both sides of the picture:

  • Outgoing: relationships this object owns, which you can add, edit, and remove. When adding one, ADL suggests a type (such as contains, foreign key, or types from your project’s relationship rules) and a cardinality.
  • Incoming: relationships other objects have pointing at this one, shown read-only with a shortcut to navigate to the owning object. An incoming contains relationship is shown as the object’s Parent.

Objects related by contains are drawn nested inside their parent on the Design screen’s Model mode — see Containment & Child Objects.

Tag your data objects and individual data items with classifications like PII, Sensitive, or any custom labels your project uses. These classifications can be referenced by templates to generate appropriate handling logic.

Template mappings tell ADL which templates should be used to generate output for each data object. You can assign one or more templates to any data object.

Extensions are custom key-value pairs that let you attach any additional metadata to your data objects. Templates can reference extensions to customize their output — for example, storing a schema name or a deployment flag.

  • Start with connections first: before creating data objects, make sure you’ve set up your Data Connections so you have somewhere to assign each object.
  • If you have an existing database, use the Metadata Importer to import its structure directly instead of creating objects by hand.
  • The Design screen gives you a visual map of your data objects and their relationships.