Conceptual Model

This Conceptual Data Model section provides an overview of the underlying structure of the database. It explains the key concepts and relationships between different data elements and sets the foundation for the rest of the architecture. This section is designed to provide a high-level understanding of the system’s data architecture, making it a valuable resource for both technical and non-technical readers.

Following the “Conceptual Data Model” section, the “Logical Data Model” section delves deeper into the specifics of the data architecture. It provides a more detailed description of the relationships between data elements and outlines the rules and constraints that govern the system’s data. Together, these two sections provide a comprehensive understanding of the system’s data architecture, from the big picture to the more technical details.

digraph conceptual_model { fontname = "Helvetica" fontsize = 18 splines = true rankdir = "TB" newrank = true ranksep = 1 colorscheme = "blues9" size = 500 node [ colorscheme = "blues9" fontname = "Helvetica" fontsize = 8 shape = "box" labelloc = "c" width = 3 color = 9 fillcolor = 3 style = "filled,solid"; ] edge [ fontname = "Helvetica" fontsize = 8 arrowhead = normal arrowtail = none headport = "_" tailport = "_" arrowhead = none; labeldistance = 1.5; labelangle = -45; ] label = <<B>Conceptual Model</B>> labelloc = "t" subgraph cluster_classification_systems { label = "Classification Systems"; fontsize = 12; color = 1; style = "filled"; colorscheme = "greens9"; node [ colorscheme = "greens9"; ] Component [ label = <<B>Component</B><BR/><I>Component</I>>; ] Element [ label = <<B>Element</B><BR/><I>Element</I>>; ] Element -> Component [ taillabel = "1"; headlabel = "1..n"; label = " consists of" ] } subgraph cluster_rekentools { label = "Calculation Tools"; fontsize = 12; color = 1; style = "filled"; colorscheme = "oranges9"; node [ colorscheme = "oranges9"; ] ConstructionWork [ label = <<B>Construction Work</B><BR/><I>Bouwwerk</I>>; ] EnvironmentalPerformanceOfConstructionWorks [ label = <<B>Environmental Performance of Construction Works</B><BR/><I>Milieuprestatie bouwwerken</I>>; ] { rank = same; ConstructionWork -> EnvironmentalPerformanceOfConstructionWorks [ taillabel = "1"; headlabel = "1"; ] } } subgraph cluster_assessment_strategies { label = "Assessment Strategies"; fontsize = 12; color = 1; style = "filled"; colorscheme = "greens9"; labelloc="b"; node [ colorscheme = "greens9"; ] AssessmentStrategy [ label = <<B>Assessment strategy</B><BR/><I>Beoordeling Strategie</I>>; ] } subgraph cluster_nmd_registry { label = "NMD Registry"; fontsize = 12; color = 1; style = "filled"; colorscheme = "blues9"; node [ colorscheme = "blues9"; ] ConstructionProduct [ label = <<B>Construction Product (or process)</B><BR/><I>Bouwproduct (of -proces)</I>> ] EnvironmentalDeclaration [ label = <<B>Environmental Declaration</B><BR/><I>Milieuprestatieverklaring</I>> ] Classification [ label = <<B>Classification</B><BR/><I>Classificatie</I>> ] EnvironmentalProfile [ label = <<B>Environmental Profile</B><BR/><I>Milieuprofiel</I>>; ] EnvironmentalData [ label = <<B>Environmental Data</B><BR/><I>Milieudata</I>> shape = "diamond"; ] { rank = "same"; EnvironmentalDeclaration -> ConstructionProduct [ taillabel = 1; headlabel = 1; ] } ConstructionProduct -> Classification [ taillabel = "1"; headlabel = "1..n"; label = " can be classified as"; ] EnvironmentalDeclaration -> EnvironmentalProfile [ taillabel = "1"; headlabel = "1..n"; ] { EnvironmentalProfile -> EnvironmentalData [ headlabel = "1..n"; taillabel = "1"; ] } } { EnvironmentalPerformanceOfConstructionWorks -> EnvironmentalDeclaration [ taillabel = "0..n"; headlabel = "0..n"; arrowhead = "normal"; labeldistance = 2; ]; } { ConstructionWork -> ConstructionProduct [ taillabel = "0..n"; headlabel = "1..n"; arrowhead = "normal"; labeldistance = 2; style = "dashed"; ]; } { EnvironmentalData -> AssessmentStrategy [ arrowhead = normal taillabel = "0..n"; headlabel = 1; label = " using"; ] } { rank = "same"; Classification -> Component [ taillabel = "0..n"; headlabel = "1..n"; arrowhead = "normal"; label = "covers"; ] } { rank = same; ConstructionWork -> Element [ headlabel = "1..n"; arrowhead = "normal" label = "build up by a set of" ]; } }

Fig. 1 Schematic overview of conceptual model