erDiagram
  networks {
    int id PK
    string name
    text description
    text common_threats
    text recommended_protection
  }

  threats {
    int id PK
    string name
    text description
    int probability
    int confidentiality
    int integrity
    int availability
    text affected_assets
    string category
  }

  technologies {
    int id PK
    string name
    text description
    float effectiveness
    string protection_type
    text target_threats
    text advantages
    text limitations
    text suitable_networks
  }

  recommendations {
    int id PK
    int threat_id FK
    int technology_id FK
    text recommendation_text
    string priority
  }

  analysis_results {
    int id PK
    string network_type
    string threat_name
    int probability
    int confidentiality
    int integrity
    int availability
    int asset_value
    float cia_score
    float initial_risk
    string risk_level
    float protection_effectiveness
    float residual_risk
    float risk_reduction
    float security_index
    string security_status
    float priority_score
    text selected_technologies
    text recommendations
    datetime created_at
  }

  threats ||--o{ recommendations : has
  technologies ||--o{ recommendations : maps
