Janis
Homelab
Ziele
Das Ziel war die Erstellung einer zentralen Dokumentation für ein privates Homelab. 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, sowie ein tieferes Verständnis der einzelnen Beziehungen bieten.
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):Die Beziehung wurde als "ein System hostet n Services" modelliert. Das zeigt sich auch in echt, da ein Docker-Host viele Container betreibt, ein Container aber technisch an einen Host gebunden ist.
- 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.
Die Datenbank zeigt, dass selbst für Private IT_Infrastrukturen der Einsatz solcher einen großen Mehrwert bietet. Die erstellte Struktur bietet die möglichkeit durch SQL-Abfragen flexible Analysen vorzunehmen. Um es zukünftig zu erweitern und verbessern, könnte man ein dynamisches Web-Frontend entwickeln, dann aber nicht mehr im PW.
