Jump to content

ICT:Conceptual Mermaid Diagram v 4.0

From Costa Sano MediaWiki

Conceptual ER Diagram

This page presents the conceptual Entity–Relationship (ER) diagram of the Costasano Heritage Database.

It visualizes the domain model independently of technical implementation details.

The diagram is intended for:

  • conceptual understanding
  • onboarding new contributors
  • design discussions
  • documentation
  • validation of modeling decisions

It is not a database schema diagram.


Scope

This diagram shows:

  • core entities
  • conceptual responsibilities
  • main relationships
  • hierarchies

It deliberately omits:

  • junction tables
  • lookup tables
  • Cargo/MediaWiki mechanics
  • technical fields
  • optimization structures

These belong to the logical DBML schema, not the conceptual model.

See:

ICT:Data Model – DBML Schema


Reading guide

Entities

Boxes represent conceptual entities:

  • HeritageObject — subject of study
  • Person — individual actor
  • Organization — collective actor
  • Place — spatial location
  • DigitalAsset — interpretation of a file
  • File — storage only
  • ResearchChapter — narrative structure


Relationship conventions

Symbol Meaning
-- exactly one
--o{ one-to-many
}o--o{ many-to-many

Labels describe the conceptual meaning of the relationship, not database mechanics.


Diagram

<mermaid> erDiagram

   %% ========================
   %% CORE ENTITIES
   %% ========================
   HERITAGE_OBJECT {
       id
       title
       description
       date_from
       date_to
   }
   PERSON {
       id
       firstname
       lastname
   }
   ORGANIZATION {
       id
       name
   }
   PLACE {
       id
       name
       type
   }
   DIGITAL_ASSET {
       id
       description
       citation
   }
   FILE {
       id
       filename
   }
   RESEARCH_CHAPTER {
       id
       title
   }


   %% ========================
   %% CONCEPTUAL RELATIONSHIPS
   %% ========================
   %% documentation
   HERITAGE_OBJECT }o--o{ DIGITAL_ASSET : documented_by
   PERSON }o--o{ DIGITAL_ASSET : documented_by
   ORGANIZATION }o--o{ DIGITAL_ASSET : documented_by
   %% participation / roles
   HERITAGE_OBJECT }o--o{ PERSON : involves
   HERITAGE_OBJECT }o--o{ ORGANIZATION : involves
   PERSON }o--o{ ORGANIZATION : member_of
   %% spatial context
   HERITAGE_OBJECT }o--|| PLACE : located_in
   ORGANIZATION }o--|| PLACE : located_in
   DIGITAL_ASSET }o--o| PLACE : spatial_context
   %% narrative structure
   HERITAGE_OBJECT }o--o{ RESEARCH_CHAPTER : interpreted_in
   %% storage boundary
   DIGITAL_ASSET ||--|| FILE : interprets
   %% hierarchies
   HERITAGE_OBJECT ||--o{ HERITAGE_OBJECT : parent_of
   DIGITAL_ASSET ||--o{ DIGITAL_ASSET : derived_from
   RESEARCH_CHAPTER ||--o{ RESEARCH_CHAPTER : parent_of
   PLACE ||--o{ PLACE : parent_of

</mermaid>


Design notes

Separation of concerns

The diagram emphasizes strict responsibility boundaries:

  • Files store data
  • DigitalAssets interpret files
  • Persons and Organizations act
  • Places locate
  • HeritageObjects represent subjects
  • ResearchChapters structure interpretation

No entity should cross these boundaries.


Technology independence

This diagram must remain valid even if:

  • Cargo is replaced
  • MediaWiki is replaced
  • the database changes

If the diagram requires technical constructs to explain relationships, the model is too implementation-driven.


Maintenance rule

Whenever the conceptual meaning of entities or relationships changes:

  1. update Entity Definitions first
  2. update this diagram
  3. then update DBML/schema

Never modify the schema without updating the conceptual layer.


Status

Conceptual ER Diagram – Version 4.0