Problem bei Datenbankmodellierung

Adan0s

Grünschnabel
Guten Tag,

zuerst die Aufgabe:
Es geht um eine Inventur von verschiedenen Arbeitsplätzen. Mitarbeiter Hans Peter hat Maus XY, Tastatur XZ, Windows XP mit dem Key K-E-Y-1, OfficeXP mit der Lizenz K-E-Y-2 usw.

Aus Performancegründen würde ich am liebsten Typen wie Tastatur, Maus, OfficeXP etc auslagern, dass diese in der Haupttabelle dann nur noch mit dem individuellem Key/Herstellerinfo und UserID verknüpft wird.
Wichtig ist jedoch, dass ich auch anhand der Datensätze z.B. alle Lizenzen von Windows XP auslesen möchte, ohne z.B. zu wissen, bei welchem Mitarbeiter jetzt welche eingesetzt wird.
Also ich möchte eine normale Inventur, zusammen mit der Möglichkeit, das Inventar (Hardware/Software) auch einzeln auflisten zu lassen.
Und da ist auch mein Problem. Ich weiß nicht genau, wie ich das realisieren soll.
Ich habe mal ein Schema aufgestellt, wie der Report aussehen sollte und ein erster Versuch an der Datenbankmodellierung, aber so kann ich z.b. nicht nur die Lizenzen auslesen.

17006737.png


Kann jemand der hier anwesenden mir helfen?

MfG, Adan0s
 
Zuletzt bearbeitet:
Hi,

ich finde es eher problematisch, Hard- und Software zu trennen, da ja beide Inventar sind. Wie soll denn da die Verknüpfungstabelle aussehen? Willst Du da dann auch zwei machen, eine mit Hard-, die andere mit Software?

Ich würde die zusammen in eine Tabelle Inventar packen, die noch eine Verknüpfung zu einer Typtabelle hat:

Inventar:
i_id | t_id | name | info

Typen:
t_id | name

Mitarbeiter lässt Du so, dann brauchst Du nur noch die Verknüpfung

Mitarbeiterinventar:
m_id | i_id

Anzahl aller WindowsXP-Installation:

SQL:
SELECT COUNT(Inventar.i_id) AS c
   FROM Inventar INNER JOIN Mitarbeiterinventar
      ON (Inventar.i_id = Mitarbeiterinventar.i_id AND Inventar.name = 'WindowsXP')

Von welchem DBMS reden wir hier übrigens?

LG
 
Danke für die schnelle Antwort. Das Backend wird über MS SQL Server 08 laufen.

Ich habe dein Vorschlag noch um eine Tabelle für die Beschreibung des Typs erweitert, jetzt hab ich alles so, wie ich es brauche. Vielen Dank nochmal. :)
 
Zurück