Janis
Aus ProgrammingWiki
Archivierte Version vom 2026-02-02T18:36:39+00:00. Aktuelle Version
Homelab
Ziele
Das Ziel dieses Projekts ist die Erstellung einer zentralen Dokumentation für ein privates Home-Lab. Da in einem Netzwerk mit mehreren Servern und Containern schnell der Überblick über belegte Ports und IP-Adressen verloren geht, soll diese Datenbank Redundanzen vermeiden und Konflikte verhindern.
3. Kritische Reflexion & Modellierung
Normalformen
Die Datenbank befindet sich in der 3. Normalform. Wären Attribute wie IP-Adresse direkt in der Tabelle Service gespeichert, entstünden Redundanzen. Durch die Auslagerung in die Tabelle System wird jeder Server nur einmal definiert.
Kardinalitäten
- 1:n (System zu Service): Ein Server kann mehrere Services hosten, aber ein Service läuft (in diesem Modell) auf genau einem Host.
- n:m (Service zu Kategorie): Die Klassifizierung von Services ist komplex, da Dienste oft mehrere Funktionen erfüllen (z.B. ist Nextcloud sowohl Storage als auch Network). Eine direkte Speicherung (z.B. Kategorie1, Kategorie2) hätte die 1. NF verletzt. Daher wurde die Beziehung über die Assoziationstabelle ServiceKategorie aufgelöst, welche durch ihren zusammengesetzten Primärschlüssel (ServiceID + KategorieID) zudem doppelte Zuordnungen verhindert.
