Viennamade: Hardware-Landschaft abbilden

Hallo!

Eine Datenbank soll das Hardware-Inventar einer Firma abbilden. Daher jedenfalls eine Tabelle "Workstations". Für den Systemverwalter ist natürlich die MAC-Adresse interessant. In welcher Tabelle wird diese MAC-Adresse sinnvollerweise abgebildet?
Ich denke an eine weitere Tabelle "NICs", denn eine Workstation kann ja auch mehrere NICs haben. Und einen boolean-Feld in dem steht ob diese NIC onboard ist.

Wie sehen das die Netzwerker?

Beste Grüße
Viennamade

  1. Hi,

    Eine Datenbank soll das Hardware-Inventar einer Firma abbilden. Daher jedenfalls eine Tabelle "Workstations". Für den Systemverwalter ist natürlich die MAC-Adresse interessant. In welcher Tabelle wird diese MAC-Adresse sinnvollerweise abgebildet?

    COMPONENTS, die jeweils mit (Primär-)Schlüsseln der Workstations-Datenbank gefüttert wird.

    Du kannst natürlich für bessere Übersicht füpr jede Art von Hardware (Prozessor, RAM,Netzwerkinterfaces etc.) eine eigene Tabelle machen, es kommt halt immer darauf an, auf welche
    Art der Ansicht du die Datenbank optimieren willst. Geht es darum, schnell alle Komponenten im Überblick zu haben bietet sich das an, geht es darum die einzelnen Workstations zu Überblicken müsste man von da ausgehen und Untertabellen danach aufbauen.

    Ich hoffe ich konnte einigermaßen verständlich formulieren, was ich meine. Überlege, was du alles speichern musst, und dann fange an, "Häufchen" zu machen. Wenn alle Optionen auf einem der Haufen liegen kannst du danach dann die Struktur basteln.

    Grüße aus Barsinghausen,
    Fabian

    1. Hallo!

      Eine Datenbank soll das Hardware-Inventar einer Firma abbilden.
      ...

      » COMPONENTS, die jeweils mit (Primär-)Schlüsseln der Workstations-Datenbank gefüttert wird.

      Du kannst natürlich für bessere Übersicht füpr jede Art von Hardware (Prozessor, RAM,Netzwerkinterfaces etc.) eine eigene Tabelle machen, es kommt halt immer darauf an, auf welche
      Art der Ansicht du die Datenbank optimieren willst. Geht es darum, schnell alle Komponenten im Überblick zu haben bietet sich das an, geht es darum die einzelnen Workstations zu Überblicken müsste man von da ausgehen und Untertabellen danach aufbauen.

      Ich hoffe ich konnte einigermaßen verständlich formulieren, was ich meine.

      Hast Du absolut. Mir geht es eher darum die Workstations "im Griff" zu haben, habe für die Variante mit der Tabelle "Components" entschieden und vor dort einen Link auf eine Tabelle "Component-Types" (also NIC, CPU, Disc, etc).

      Vielen Dank Fabian,
      Viennamade

      1. Hi Jungs

        Ich habe mir auch schon ein paar Überlegungen zu einer solchen Datenbank angestellt, weil bei mir zu Hause ziemlich viel (meist funktionsfähige, jedoch ältere) Hardware rumliegt. Für mich sind also die Infos zu den einzelnen Komponenten interessant.

        Es gibt ja ziemlich viel verschiedene Hardware mit unterschiedlichen Eigenschaften und Kombinationsmöglichkeiten. Deshalb kam ich auf die Idee, dies mit einer 'dynamischen' oder besser vielleicht variablen Verknüpfungstabelle zu realisieren. Leider fand ich noch nie die Zeit, diese Idee zu implementieren und möchte nun die Gelegenheit nutzen und euch nach eurer Meinung dazu fragen.

        Du kannst natürlich für bessere Übersicht füpr jede Art von Hardware (Prozessor, RAM,Netzwerkinterfaces etc.) eine eigene Tabelle machen, es kommt halt immer darauf an, auf welche

        Jede wichtige Komponente hat eine eigene Tabelle:
        CPU {_ID_, HerstellerID, Modell, Takt, FSB, Sockel}
        RAM {_ID_, SpeicherTyp, Groesse}
        Mainboard {_ID_, HerstellerID, Modell, CPUSockel, CPUAnzahl [,usw.]}

        Für die Rechner gibt es auch eine eigene Tabelle:
        Computer {_ID_, Name, Beschreibung}

        Nun meine Verknüpfungstabelle:
        Nexus {_ID_, Table1, ID1, Table2, ID2}

        In dieser Tabelle werden die Informationen dann verknüpft. Habe ich ein Mainboard mit der ID 1 im Computer 3, dann sieht der Datensatz so aus:

        Auto_ID, 'Computer', 3, 'Mainboard', 1

        Ein PC, der mit mehreren Prozessoren bestückt ist, benötigt dann halt mehrere Einträge für die CPU.

        Auto_ID, 'Computer', 2, 'CPU', 3
        Auto_ID, 'Computer', 2, 'CPU', 4

        Genau hier liegt meiner Meinung nach einer der Hautpvorteile dieses Systems. Ich kann alles beliebig kombinieren, ohne viel programmieren  zu müssen.

        Will ich nun wissen, welche Hardware im Computer 2 steckt, dann frage ich alle Datensätze ab, in denne 'Computer' und 2 als ID vorkommt.
        Will ich jedoch wissen, wo all meine CPUs sind, dann frage ich einfach alle Datensätze mit der Tabelle 'CPU' ab. Dann bekomme ich alle Computer zurück, und wenn ich irgen wo ein Mainboard mit einer CPU rumliegen habe (Datensatz: Auto_ID, 'CPU', 2, 'Mainboard', 7), dann bekomme ich auch das mit.

        Ich könnte auch eine weitere Tabelle mit Links auf Dateien erstellen. So kann ich Handbücher und Datenblätter mit Komponenten oder mit Bauteilen verknüpfen: Habe ich eine Arbeit über RAM geschrieben, so verknüpfe ich diese mit der RAM-Tabelle und gebe keine ID an: Die Info beziet sich also auf alle RAM-Datensätze.

        Ich hoffe, ihr konntet mir folgen und ich habe nicht zu viel wirres Zeugs geschrieben. Ich würde mich wirklich sehr über eine Rückmeldung freuen.

        FG

        Tom2

        1. Hallo!

          Genau hier liegt meiner Meinung nach einer der Hautpvorteile dieses Systems. Ich kann alles beliebig kombinieren, ohne viel programmieren  zu müssen.

          Also wenn ich richtig verstehe, sparst Du damit etliche SQL-Strings. Ohne diese Verknüpfungstabelle braucht man für jeden Report einen SQL-String, mit der Verknüpfungstabelle genügen 2 oder 4 SQL-Strings um alle erdenklichen Reports zu erstellen?
          Wenn dem so ist, wie bekommt man schön formatierte Reports (links-,rechtsbündig, etc.), oder würdest Du dafür allgemein gültigen Code schreiben der Datendefinitionen ausliest?

          Beste Grüße
          Viennamade