User Tools

Site Tools


Sidebar

Welcome to DIDO WIKI

dido:public:ra:1.2_views:3_taxonomic:4_data_tax:04_modeltypes:start

2.3.4.4 Data Model Taxonomy

Overview

Return to Start

Data Models are typically presented at three distinct levels of abstraction or data model types: Conceptual, Logical, and Physical. Many Data Models are captured using Entity Relationship Diagram (ERD), thus, for this explanation, ERD is used to highlight the differences in these model types. ERD models contain Entities with Attributes and Relationships, which, depending on the data model type, differ in the purposes they are created for and the audiences they are meant to target. In Object-Oriented (OO) Modeling, Entities are equivalent to Objects, Attributes are equivalent to Attributes and/or Methods; and relationships can be considered as a broad category of relationship types (i.e., Association, Composition, Aggregation, Abstraction, Containment, etc. 1)

  • Conceptual Model is to establish the entities (objects), their attributes (methods), and their relationships. This is implementation-independent. For example, there may be “inherited” relationships, but these are just concepts. When they move to logical, these will be converted to objects that inherit from each other or be converted to containment in non-Object-Oriented (OO) paradigms.
  • Logical Data Model defines the structure of the data elements and sets the relationships between them. The relationships go beyond conceptual and are based on the logical target. For example, RDBMS, OO, and procedural or functional programming languages.
  • Physical Data Model describes the database-specific implementation of the data model. The Entities(objects), attributes (methods), and relationships are mapped to actual implementation. For example, Java, Python, HTML, Postgres, Oracle, etc.
Note: One conceptual model may have multiple Logical Models and one Logical Model may have multiple Physical Models. For example, in classic three-tier architecture, the Conceptual Model might spawn several Logical Models such as one for each of the tiers: presentation, middle, and data. The Logical Model might spawn several Physical Models, one for HTML, Javascript, Java, and Postgres, and Oracle.

The differences between the Conceptual vs Logical vs Physical models are summarized by Visual Paradigm Online2):

Table 1: Characteristics of the three data model types
ERD feature Conceptual Logical Physical
Entity (name) Yes Yes Yes
Relationship Yes Yes Yes
Column Yes Yes
Column’s Type Optional Yes
Primary Key Yes
Foreign Key Yes

The reason these models are important within the DIDO world is because at the heart of a DIDO (Blockchain, Distributed Ledger Technology (DLT), Directed Acyclic Graph (DAG), etc.) is data which is represented in the real world using Data Models (i.e., Conceptual, Logical, or Physical). Data that uses the Conceptual Data Model is the most portable and interoperable with other instantiations. Data modeled using the Logical Model might be portable within a DIDO Platform (i.e., Bitcoin, Ethereum, Iota, etc.). Data modeled using the Physical Model, as a general rule, represents the data in its intended implementations, e.g., a Smart Contract, and is the least portable to other platforms and has the highest barriers to interoperability.

[char][✓ char, 2022-03-20]New Section -- review

1)
Class Diagram, Wikipedia, Accessed: 6 October 2021, https://en.wikipedia.org/wiki/Class_diagram
2)
Data Modeling: Conceptual vs Logical vs Physical Data Model, Visual Paradigm Onlline, Accessed: 28 September 2021, https://online.visual-paradigm.com/knowledge/visual-modeling/conceptual-vs-logical-vs-physical-data-model/
dido/public/ra/1.2_views/3_taxonomic/4_data_tax/04_modeltypes/start.txt · Last modified: 2022/05/27 19:52 by nick
Translations of this page: