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.
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)
vehicles
Collection:
vehicleId
-Feld dient als Primärschlüssel und Referenz für andere Collections.sensorData
Collection:
vehicleId
, den Typ des Sensors, den Messwert, die Einheit des Messwerts und den Kilometerstand zum Zeitpunkt der Messung.workshopOrders
Collection:
defects
Collection:
vehicles
zu sensorData
, workshopOrders
und defects
:
vehicleId
-Feld in sensorData
, workshopOrders
und defects
stellt eine Beziehung zur vehicles
-Collection her und dient als Fremdschlüssel. Dadurch ist es möglich, Sensordaten, Werkstattaufträge und Mängel mit den jeweiligen Fahrzeugen zu verknüpfen.db.sensorData.find({ "vehicleId": "V001" })
db.workshopOrders.find({ "vehicleId": "V001", "mileage": { "$gt": 20000, "$lt": 50000 } })
db.defects.find({ "downtime": true })
{
"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"
}
]
}
]
}
vehicles
: Enthält Informationen zu den Fahrzeugen, einschließlich vehicleId
, manufacturer
, model
, vin
, mileage
und first_registration
.sensorData
: Speichert Sensormesswerte, die mit vehicleId
verknüpft sind, und enthält sensorType
, value
, mileage
, timestamp
und unit
.workshopOrders
: Dokumentiert Werkstattaufträge mit Bezug zu Fahrzeugen, inklusive begin
, end
, planned
, downtime
, cost
und mileage
.defects
: Speichert Informationen zu Mängeln, einschließlich begin
, end
, mileage
, downtime
und cost
.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.
(https://github.com/harzmann/predictive-maintenance/blob/main/docs/API_MONGODB_V2.md)
Autor: Jörg Harzmann
Dieser Inhalt ist unter einer CC BY-NC Lizenz veröffentlicht.