Materials Module — Model Diagram

Click on any highlighted model to open its list view.

Back to Explorer
Browsable model (click to open) Internal model Foreign key Many-to-many
%%{init: {'securityLevel': 'loose', 'theme': 'default', 'flowchart': {'curve': 'basis', 'nodeSpacing': 30, 'rankSpacing': 60}}}%%
flowchart TD

    subgraph classification["Materials & Classification"]
        MaterialCategory["MaterialCategory"]
        Material["Material"]
        MaterialComponent["MaterialComponent"]
        MaterialComponentGroup["MaterialComponentGroup"]
    end

    subgraph props["Properties"]
        MaterialPropertyGroup["MaterialPropertyGroup"]
        MaterialProperty["MaterialProperty"]
        MaterialPropertyValue["MaterialPropertyValue"]
    end

    subgraph analysis["Samples & Analysis"]
        AnalyticalMethod["AnalyticalMethod"]
        SampleSeries["SampleSeries"]
        Sample["Sample"]
    end

    subgraph comp["Compositions & Measurements"]
        Composition["Composition"]
        ComponentMeasurement["ComponentMeasurement"]
    end

    %% ---- FK relationships (solid) ----
    SampleSeries -->|"material"| Material
                        Sample -->|"material"| Material
                        Sample -->|"series"| SampleSeries
                        MaterialProperty -->|"group"| MaterialPropertyGroup
                        MaterialProperty -->|"default_basis_component"| MaterialComponent
                        MaterialPropertyValue -->|"property"| MaterialProperty
                        MaterialPropertyValue -->|"analytical_method"| AnalyticalMethod
                        Composition -->|"sample"| Sample
                        Composition -->|"group"| MaterialComponentGroup
                        Composition -->|"fractions_of"| MaterialComponent
                        ComponentMeasurement -->|"sample"| Sample
                        ComponentMeasurement -->|"group"| MaterialComponentGroup
                        ComponentMeasurement -->|"component"| MaterialComponent
                        ComponentMeasurement -->|"analytical_method"| AnalyticalMethod

                        %% ---- M2M relationships (dashed) ----
                        Material -.-|"categories"| MaterialCategory
                        Sample -.-|"properties"| MaterialPropertyValue
                        SampleSeries -.-|"temporal_distributions"| TD_ext["TemporalDistribution (ext)"]
                        AnalyticalMethod -.-|"sources"| Src_ext["Source (ext)"]

                        %% ---- Styling ----
                        classDef clickable fill:#dbeafe,stroke:#1e40af,stroke-width:2px,color:#1e3a5f
                        classDef internal fill:#f3f4f6,stroke:#9ca3af,stroke-width:1px,color:#4b5563
                        classDef external fill:#fef9c3,stroke:#ca8a04,stroke-width:1px,color:#713f12,font-style:italic

                        class Material,MaterialCategory,MaterialComponent,MaterialComponentGroup clickable
                        class MaterialProperty clickable
                        class AnalyticalMethod,SampleSeries,Sample clickable
                        class MaterialPropertyGroup,Composition,ComponentMeasurement,MaterialPropertyValue internal
                        class TD_ext,Src_ext external

                        %% ---- Click handlers ----
                        click Material href "/materials/materials/" _self
                        click MaterialCategory href "/materials/categories/" _self
                        click MaterialComponent href "/materials/components/" _self
                        click MaterialComponentGroup href "/materials/componentgroups/" _self
                        click MaterialProperty href "/materials/properties/" _self
                        click AnalyticalMethod href "/materials/analytical_methods/" _self
                        click SampleSeries href "/materials/sample_series/" _self
                        click Sample href "/materials/samples/" _self