0530 Tabular Schemas¶
The 053x models cover specialized types that represent the popular technologies. These types inherit from common schema element types:
- SchemaAttribute - this is the place where the data is stored.
- SchemaType - ths is the type of the data - typically defining what values can be stored and how they are structured/formatted. For example, the schema type may be a primitive value (PrimitiveSchemaType) or a structure (ComplexSchemaType).
RootSchemaType is an informational type in that it does not add new attributes to the type system. Instead, it provides a marker to indicate that types that inherit from it are typically the root of a schema definition. It is this element that connects to assets and ports.
TabularSchemaType is an example of a RootSchemaType that describes the structure of an asset that is a single table of data. For example, this could be a file that is organized into columns such as in a CSV file or spreadsheet.
The image above shows the content of a CSV file called
CostCodes.csv. It is catalogued using a CSVFile asset entity. Linking from it using the AssetSchemaType relationship would be a TabularSchemaType entity describing the structure of the data in the file.
A TabularColumn entity is used to describe one of the columns in a tabular schema. It is linked to the TabularSchemaType entity using the AttributeForSchema relationship. The type information for each column is directly embedded on the TabularColumn entity through the TypeEmbeddedAttribute classification.
A TabularFileColumn is a specialization of TabularColumn to enable a column in a file to have a distinctive subtype from a column in a database - represented by RelationalColumn.
The TabularColumnType entity has been deprecated because it restricts tabular columns to primitive types and some technologies will be able to support more types.
Raise an issue or comment below