Skip to content

DwaModel

Namespace DataWarehouseAutomation.DwaModel

Section titled “ Namespace DataWarehouseAutomation.DwaModel”

BusinessKeyDefinition

A business key definition is a special object that is defined as an optional property of a data object mapping. In other words, the business key definition can be a part of describing the relationship between a source data object and a target data object.

Cardinality

This object captures the cardinality and ordinality of a relationship. Cardinality refers to the uniqueness of data values contained in a column (attribute) of a database table. It defines the number of occurrences of one entity that are associated with the number of occurrences of another entity through a relationship.

CardinalityRange

The possible range for a from/to component for the cardinality. For example “min”: “1”, “max”: “N” This way, you can define “at least 1 to many”. Or “0 or 1 to 1”.

DataClassification

Used to define a list of classifications (labels) and notes to add to various components of the schema definition.

DataConnection

Connectivity information, that can be used for either a DataObject or DataObjectQuery. This is be a key, token, reference, connection string and similar.

DataItem

Data items belong to data objects or data object queries. This means that a given data item always has a parent object. They describe the individual elements, such as the columns in a table or headers in a file.

DataItemMapping

The individual to , column-to-column mapping.

DataItemQuery

DataObject

The definition of a data set, file, or table. The Data Object can be the ‘source’ or ‘target’ in a . A Data Object which acts as target in one mapping, can be a source in another mapping, building up the data logistics lineage.

DataObjectMapping

The mapping between a source and target data set / table / file.

The DataObjectMapping is the element that defines an individual source-to-target mapping / ETL process. It is a mapping between a source and target object - referred to as DataObjects. The DataObject is in fact a reusable definition in the Json schema.

This definition is used twice in the DataObjectMapping: as the *SourceDataObjects* and as the *TargetDataObject* - both instances/lists of , implemented as or .

The other key component of a DataObjectMapping is the *DataItemMapping*, which describes the column-to-column (or transformation-to-column). The SourceDataObject, TargetDataObject and DataItemMapping are the mandatory components of a DataObjectMapping.There are many other attributes that can be set, and there are mandatory items within the DataObjects and DataItems.These are all described in the Json schema.

DataObjectMappingList

The schema's top-level object is a 'DataObjectMappingList'. It is an array of individual source-to-target mappings called 'DataObjectMappings', commonly referred to as 'mappings'. In code, this means a DataObjectMappingList is defined as a List of .

A DataObjectMapping is a unique ETL mapping / transformation that moves, or interprets, data from a given source to a given destination. The decision to start the format with an array / list that contains potentially multiple DataObjectMappings relates to the Data Warehouse virtualization use-case. In these implementations, multiple individual mappings together create a single view object. As an example, consider the loading of a Core Business Concept / Hub type entity from various different sources. If you would use these different mappings to generate ETL processes you would create one physical ETL object for each mapping. However, if you are seeking to generate a view that represents the target table the result you would use the collection (list) of mappings to generate separate statements that are unioned in the single view object.

DataObjectQuery

A data query is a bespoke code element that is scoped for a specific function or purpose, and can act as a ‘source’ in a source-target mapping. This applies to both data object and data item level. When acting the data object object, the data query replaces the source data object in the mapping. This is a data object query, which could be a view, script, or procedure that provides the data in the mapping instead of a table or file.

Extension

A free form key/value pair addition that can contain additional context.

Relationship

A relationship from one data object to another. This can apply at conceptual, logical, and physical level. The intent of this class is to support lineage relationships (e.g. parent/child) as well as foreign keys and sub- and supertypes.

IDataItem

IDataItem can be either a or .

IDataObject

IDataObject can be either a or .

IMetadata

IMetadata can be either a , a , or a .