Schema / Canonical Data / Semantics
Kind: category
Record: architecture-category:schema-canonical-data-semantics
Canonical: Ontology
The Schema / Canonical Data / Semantics category holds 13 architecture principles.
Listed in Principle categories, after Self-Healing / Recovery / Deployment Safety and before Security / Privacy / Compliance / Governance.
Principle
- Schema Validation
- Type Safety
- Canonical Model
- Canonical Data Model
- Canonical Schema
- Canonicalization
- Single Source of Truth
- Normalization
- Semantic Consistency
- Ubiquitous Language
- Intent-Revealing Interface
- Principle of Least Surprise
- Database Normalization
Layer
Linked from
Schema / Canonical Data / Semantics
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_schema_validation["Schema Validation"]
n_type_safety["Type Safety"]
n_canonical_model["Canonical Model"]
n_canonical_data_model["Canonical Data Model"]
n_canonical_schema["Canonical Schema"]
n_canonicalization["Canonicalization"]
n_single_source_of_truth["Single Source of Truth"]
n_normalization["Normalization"]
n_semantic_consistency["Semantic Consistency"]
n_ubiquitous_language["Ubiquitous Language"]
n_intent_revealing_interface["Intent-Revealing Interface"]
n_principle_of_least_surprise["Principle of Least Surprise"]
n_database_normalization["Database Normalization"]
n_canonical_model --> n_semantic_consistency
n_canonical_model --> n_ubiquitous_language
n_canonical_model --> n_single_source_of_truth
n_canonical_data_model --> n_canonical_model
n_canonical_data_model --> n_normalization
n_canonical_schema --> n_canonical_data_model
n_canonical_schema --> n_schema_validation
n_semantic_consistency --> n_ubiquitous_language
n_ubiquitous_language --> n_intent_revealing_interface
n_intent_revealing_interface --> n_principle_of_least_surprise
n_principle_of_least_surprise --> n_intent_revealing_interface
n_database_normalization --> n_single_source_of_truthSchema Validation
- Kind: mechanism
- Category: Schema / Canonical Data / Semantics
- Severity: mandatory
- Scope: data, API, message
- Layer: Contracts Core
Type Safety
- Kind: mechanism
- Category: Schema / Canonical Data / Semantics
- Severity: mandatory
- Scope: function, module, API, data
- Layer: Contracts Core
Canonical Model
- Kind: principle
- Category: Schema / Canonical Data / Semantics
- Severity: contextual
- Scope: domain, integration, data
- Layer: Contracts Core
Canonical Data Model
- Kind: pattern
- Category: Schema / Canonical Data / Semantics
- Severity: contextual
- Scope: integration, enterprise data
- Layer: Contracts Core
Canonical Schema
- Kind: artifact
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: data, message, API
- Layer: Contracts Core
Canonicalization
- Kind: technique
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: input, data, security
- Layer: Contracts Core
Single Source of Truth
- Kind: principle
- Category: Schema / Canonical Data / Semantics
- Severity: mandatory
- Scope: configuration, data, rule, schema
- Aliases: SSOT
- Layer: Contracts Core
Normalization
- Kind: technique
- Category: Schema / Canonical Data / Semantics
- Severity: contextual
- Scope: database, schema, data model
- Layer: Contracts Core
Semantic Consistency
- Kind: quality-attribute
- Category: Schema / Canonical Data / Semantics
- Severity: mandatory
- Scope: domain, API, data
- Layer: Contracts Core
Ubiquitous Language
- Kind: activity
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: bounded context, domain, codebase
- Layer: Contracts Core
Intent-Revealing Interface
- Kind: principle
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: API, method, class, module
- Aliases: Intent-Revealing API
- Layer: Contracts Core
Principle of Least Surprise
- Kind: principle
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: API, UX, module behavior
- Aliases: Principle of Least Astonishment, POLA
- Layer: Contracts Core
Database Normalization
- Kind: technique
- Category: Schema / Canonical Data / Semantics
- Severity: recommended
- Scope: schema, data modeling, integrity
- Layer: Contracts Core