predictive-maintenance

German Version

Datenbankmodell V2 im plaintext-Format

Hier ist ein Datenbankmodell für die MongoDB-Datenbank predictive_maintenance_db_v2, basierend auf den erstellten Collections und deren Feldern. Dieses Modell beschreibt die Struktur der Collections, die Beziehungen zwischen den Collections sowie die wichtigen Felder und Datentypen.

Datenbankmodell für die MongoDB-Datenbank predictive_maintenance_db_v2

predictive_maintenance_db
│
├── vehicles
│   ├── vehicleId: String (Primary Key, eindeutig für jedes Fahrzeug)
│   ├── manufacturer: String (z.B. "BMW", "Audi")
│   ├── model: String (z.B. "X5", "A4")
│   ├── vin: String (Fahrgestellnummer, z.B. "WB123456")
│   ├── mileage: Number (aktueller Kilometerstand)
│   ├── first_registration: Date (Erstzulassungsdatum)
│
├── sensorData
│   ├── sensorId: String (eindeutige ID für Sensordaten)
│   ├── vehicleId: String (Referenz zur vehicles-Collection)
│   ├── sensorType: String (z.B. "temperature", "pressure")
│   ├── value: Number (Messwert des Sensors)
│   ├── mileage: Number (Kilometerstand zum Zeitpunkt der Messung)
│   ├── timestamp: Date (Zeitpunkt der Messung)
│   ├── unit: String (Einheit des Messwerts, z.B. "°C", "km/h")
│
├── workshopOrders
│   ├── orderId: String (eindeutige ID für Werkstattaufträge)
│   ├── vehicleId: String (Referenz zur vehicles-Collection)
│   ├── begin: Date (Beginn des Werkstattauftrags)
│   ├── end: Date (Ende des Werkstattauftrags)
│   ├── planned: Boolean (geplant oder ungeplant)
│   ├── downtime: Boolean (ob das Fahrzeug stillgelegt wurde)
│   ├── cost: Number (Kosten des Werkstattauftrags)
│   ├── mileage: Number (Kilometerstand zum Zeitpunkt des Werkstattauftrags)
│
├── defects
│   ├── defectId: String (eindeutige ID für Mängel)
│   ├── vehicleId: String (Referenz zur vehicles-Collection)
│   ├── begin: Date (Beginn des Mangels)
│   ├── end: Date (Ende des Mangels)
│   ├── mileage: Number (Kilometerstand zum Zeitpunkt des Mangels)
│   ├── downtime: Boolean (ob das Fahrzeug stillgelegt wurde)
│   ├── cost: Number (Kosten zur Behebung des Mangels)

Beschreibung der Collections und ihrer Felder

  1. vehicles Collection:
    • Enthält grundlegende Informationen zu jedem Fahrzeug, einschließlich Hersteller, Modell, Fahrgestellnummer (VIN), aktuellem Kilometerstand und Erstzulassungsdatum.
    • Das vehicleId-Feld dient als Primärschlüssel und Referenz für andere Collections.
  2. sensorData Collection:
    • Speichert die Sensormessdaten, die von den Fahrzeugen erfasst wurden.
    • Jedes Dokument enthält eine Referenz zu einem vehicleId, den Typ des Sensors, den Messwert, die Einheit des Messwerts und den Kilometerstand zum Zeitpunkt der Messung.
  3. workshopOrders Collection:
    • Speichert Werkstattaufträge, die für Fahrzeuge durchgeführt wurden.
    • Jedes Dokument enthält den Start- und Endzeitpunkt des Auftrags, ob er geplant war, ob das Fahrzeug stillgelegt wurde, die Kosten des Auftrags und den Kilometerstand während des Auftrags.
  4. defects Collection:
    • Speichert Informationen zu Mängeln, die bei den Fahrzeugen aufgetreten sind.
    • Jedes Dokument enthält den Beginn und das Ende des Mangels, den Kilometerstand während des Mangels, ob das Fahrzeug stillgelegt wurde und die Kosten zur Behebung des Mangels.

Beziehungen zwischen den Collections

Typische Abfragen und Anwendungsfälle

Datenbankmodell im JSON-Format

{
  "database": "predictive_maintenance_db",
  "collections": [
    {
      "name": "vehicles",
      "fields": [
        {
          "name": "vehicleId",
          "type": "String",
          "description": "Primary Key, eindeutig für jedes Fahrzeug"
        },
        {
          "name": "manufacturer",
          "type": "String",
          "description": "Hersteller des Fahrzeugs (z.B. 'BMW', 'Audi')"
        },
        {
          "name": "model",
          "type": "String",
          "description": "Modell des Fahrzeugs (z.B. 'X5', 'A4')"
        },
        {
          "name": "vin",
          "type": "String",
          "description": "Fahrgestellnummer des Fahrzeugs"
        },
        {
          "name": "mileage",
          "type": "Number",
          "description": "Aktueller Kilometerstand des Fahrzeugs"
        },
        {
          "name": "first_registration",
          "type": "Date",
          "description": "Erstzulassungsdatum des Fahrzeugs"
        }
      ]
    },
    {
      "name": "sensorData",
      "fields": [
        {
          "name": "sensorId",
          "type": "String",
          "description": "Eindeutige ID für Sensordaten"
        },
        {
          "name": "vehicleId",
          "type": "String",
          "description": "Referenz zur vehicles-Collection"
        },
        {
          "name": "sensorType",
          "type": "String",
          "description": "Typ des Sensors (z.B. 'temperature', 'pressure')"
        },
        {
          "name": "value",
          "type": "Number",
          "description": "Messwert des Sensors"
        },
        {
          "name": "mileage",
          "type": "Number",
          "description": "Kilometerstand zum Zeitpunkt der Messung"
        },
        {
          "name": "timestamp",
          "type": "Date",
          "description": "Zeitpunkt der Messung"
        },
        {
          "name": "unit",
          "type": "String",
          "description": "Einheit des Messwerts (z.B. '°C', 'km/h')"
        }
      ]
    },
    {
      "name": "workshopOrders",
      "fields": [
        {
          "name": "orderId",
          "type": "String",
          "description": "Eindeutige ID für Werkstattaufträge"
        },
        {
          "name": "vehicleId",
          "type": "String",
          "description": "Referenz zur vehicles-Collection"
        },
        {
          "name": "begin",
          "type": "Date",
          "description": "Beginn des Werkstattauftrags"
        },
        {
          "name": "end",
          "type": "Date",
          "description": "Ende des Werkstattauftrags"
        },
        {
          "name": "planned",
          "type": "Boolean",
          "description": "Ob der Auftrag geplant ist"
        },
        {
          "name": "downtime",
          "type": "Boolean",
          "description": "Ob das Fahrzeug stillgelegt wurde"
        },
        {
          "name": "cost",
          "type": "Number",
          "description": "Kosten des Werkstattauftrags"
        },
        {
          "name": "mileage",
          "type": "Number",
          "description": "Kilometerstand zum Zeitpunkt des Werkstattauftrags"
        }
      ]
    },
    {
      "name": "defects",
      "fields": [
        {
          "name": "defectId",
          "type": "String",
          "description": "Eindeutige ID für Mängel"
        },
        {
          "name": "vehicleId",
          "type": "String",
          "description": "Referenz zur vehicles-Collection"
        },
        {
          "name": "begin",
          "type": "Date",
          "description": "Beginn des Mangels"
        },
        {
          "name": "end",
          "type": "Date",
          "description": "Ende des Mangels"
        },
        {
          "name": "mileage",
          "type": "Number",
          "description": "Kilometerstand zum Zeitpunkt des Mangels"
        },
        {
          "name": "downtime",
          "type": "Boolean",
          "description": "Ob das Fahrzeug stillgelegt wurde"
        },
        {
          "name": "cost",
          "type": "Number",
          "description": "Kosten zur Behebung des Mangels"
        }
      ]
    }
  ]
}

Erläuterungen

Fazit

Dieses Datenbankmodell bietet eine umfassende Struktur für die Speicherung und Analyse von Fahrzeugdaten im Kontext der prädiktiven Wartung. Die Integration der Felder Fahrgestellnummer, Kilometerstand, Einheit, Hersteller und Erstzulassung ermöglicht detaillierte Analysen und Vorhersagen zur Fahrzeugleistung und Wartung.

Zur API Schnittstelle für V2

(https://github.com/harzmann/predictive-maintenance/blob/main/docs/API_MONGODB_V2.md)

Lizenz

Autor: Jörg Harzmann

Dieser Inhalt ist unter einer CC BY-NC Lizenz veröffentlicht.