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