1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Gerätedatenbank

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von Otaku-Kun, 18 Januar 2012.

  1. Otaku-Kun

    Otaku-Kun Neuer Benutzer

    Hallo erst einmal^^

    Ich soll für meine Firma eine Gerätedatenbank entwerfen für die Desktop Rechner, Notebooks und andere Geräte.
    Und bin mir bei ein paar Sachen unsicher und es werden mit der zeit sicherlich noch mehr fragen auftauchen die ich dann hier zu fragen gedenke.
    Es wäre also nett wenn ihr mir ab und zu etwas aushelfen könntet ^^'.

    Jetzt bin ich dabei das Datenmodell aufzustellen und frage mich ob es nicht sin macht Die Desktop PCs und die Notebooks als eigenständige Tabellen zu machen und dann noch eine Geräte Tabelle für alle anderen Geräte und für diese Tabelle Lager ich dann die Typen aus.

    Das würde ich gerne deshalb so machen weil nicht jedes Gerät zwingend eine Serienummer besitzt die Desktop und Notebooks aber schon.

    Dazu hier noch ein Beispiel:[​IMG]

    P.S. Das ist der erste grobe grund gedanke.
     
  2. Charly

    Charly Datenbank-Guru

    Hallo Otaku-Kun,

    die einzelnen Gerätearten wie Desktop oder Notebook würde ich als Subtypen unter die Tabelle Geräte einordnen.
    Alle allgemeingültigen Attribute kommen dann in die Gerätetabelle und alle gerätespezifischen Attribute in die Subtabellen.
    Das Ganze lässt sich auch verfeinern indem man z.B. Notebooks und Desktops unter Computer und Computer wieder unter Geräte einordnet.
    So erhält man eine Baumstuktur in die die Geräte eingeordnet werden können.

    Gruß Charly
     
  3. Otaku-Kun

    Otaku-Kun Neuer Benutzer

    Erst einmal danke für die sehr schnelle Antwort!

    Also ich bin mir nicht sicher ob ich das richtig verstanden habe.

    Ich habe also meine Tabelle Geräte in dieser habe ich ein Attribut Subtypen, die wiederum eine eigene Tabelle bilden, in diesem Fall dann z.B. Computer die eine Verallgemeinerung der Desktop und Notebook PCs sind und für alle weiteren Subtypen lege ich neue Tabellen an.

    Oder habe ich da jetzt etwas missverstanden?
     
  4. Charly

    Charly Datenbank-Guru

    Eine 'Subtabelle' verweist mit einem FK auf eine übergeordnete Tabelle.

    Beispiel:

    Geräte {GeräteID, Hersteller}
    Computer {GeräteID, Seriennummer}
    Desktops {GeräteID, GehäuseArt}
    Notebook s{GeräteID, Akkulaufzeit}

    Wobei der FK von Computer auf Geräte und der FK von Desktops und Notebooks auf Computer zeigt.
    Ein Vorteil ist der Zugriff auf die Attibute eines Geräts über nur eine ID.

    Gruß Charly
     
    Walter gefällt das.
  5. Otaku-Kun

    Otaku-Kun Neuer Benutzer

    Vielen Dank für die bisherige Hilfe!
    Nachdem ich meine Geräte und Software Tabellen in der vorgeschlagenen weise erstellt habe stehe ich nun einem neuen Problem gegenüber.

    Und zwar soll ich eine Historie erstellen die mitzeichnen soll welche Software von wann bis wann auf welchem Gerät und welchem User benutzt wurde.
    Gleichzeitig soll die Historie aber nicht in eine Datei ausgelagert werden, sondern soll fester Bestandteil der DB sein.

    Meine Problem ist nun das ich nicht die Historie in der Datenbank lassen kann so dass, das Modell Atomar bleibt.
    Oder gibt es doch eine Möglichkeit?

    Ich hatte daran gedacht die Historie als eigene Datenbank zu erstellen die zusammen mit der anderen zusammenarbeitet.
    Jedoch weiß ich nicht inwiefern das sinnvoll oder realisierbar ist.
     
  6. ukulele

    ukulele Datenbank-Guru

    Eine eigene Datenbank bietet dir keinen wirklichen Vorteil.

    Wenn deine History wie oben beschrieben aussehen soll ist das sehr einfach in einer Tabelle abzubilden:

    History{HistoryID,UserID,GeräteID,SoftwareID,von,bis}
     
  7. Otaku-Kun

    Otaku-Kun Neuer Benutzer

    Ich habe halt denn fall das ich die Gerätebezeichnungen als Unique und Not Null gesetzt habe was so bleiben sollte.
    Wenn jetzt aber der fall auftritt das ein Gerät sowohl in der Gerätetabelle als auch in der Historie dieselbe Bezeichnung trägt ist dieser Wert ja nicht mehr Unique.
    Dies trifft auf einige Attribute bei mir zu.

    Es wäre ja auch möglich das ich die Datensätze wenn sie in die Historie eingetragen werden in Old_Geräte umbenenne.
    Gäbe es noch andere alternativen die sich besser eignen würden?
     
  8. ukulele

    ukulele Datenbank-Guru

    Die Gerätebezeichnung muss nicht in der History Tabelle stehen, lediglich die GeräteID als Fremdschlüssel. Außerdem, bezieht sich UNIQUE nicht nur auf die Werte in der Spalte einer Tabelle?
     

Diese Seite empfehlen