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.