Announcement

Collapse
No announcement yet.

Abfrage aus unterschiedlichen Tabellen?!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage aus unterschiedlichen Tabellen?!

    hi!

    ich versuche mal mein problem zu beschreiben:

    ich sitze gerade dran, eine tabelle zu erstellen, in der verschiedene geräte einer ip adresse zugeordnet werden kann. die geräte sollen sich aus unterschiedlichen tabellen beziehen. beispielsweise aus der tabelle computer, oder aus der tabelle switche.

    ich bin mir überhaupt nicht sicher, wie ich das realisieren soll.

    hab mir gedacht, ich packe eine zwischen tabelle dazwischen, in der ich die geräte einer bestimmten komponente zuordne (siehe anhang).

    ist mein gedanke soweit richtig?

    wenn ja, wie soll die abfrage aussehen???
    Attached Files

  • #2
    Nun ja, im Prinzip könnte man es so machen, aufgrund der vorliegenden Info würde ich das aber nicht tun, da zu kompliziert ohne Mehrwert. Für deine Beschreibung reicht eine Tabelle mit dem Gerätetypen und einer Tabelle mit den Geräten selber. Die IP-Adresse ist dann eine Spalte innerhalb dieser Tabelle, die gefüllt sein aber auch leer bleiben kann. Trifft auch auf die restlichen Felder in der Gerätetabelle zu, die man bei Bedarf dann anhängt. Zb Taktfrequenz, wenn man CPU's oder Speicher eintragen will, Drehzahl für Festplatten oder Lüfter, Lautstärke bei Boxen usw. Ich sehe anhand deiner derzeitigen Angaben keinen Grund, das komplizierter als nötig zu machen. Aber vielleicht hast du uns einfach nicht alles erzählt um feststellen zu könnnen, ob diese Aufteilung nicht doch Sinn macht.

    bye,
    Helmut

    Comment


    • #3
      also wenn ich das jetzt richtig verstanden habe, soll ich wirklich ALLE geräte in eine tabelle packen?!

      es soll später mal richtig umfangreich werden. also es soll sich nicht nur auf drucker oder computer beschränken, sondern es sollen später noch switche, usb sticks, token, usw. hinzufügen.

      an was ich gerade arbeiten ist ist eine art "adminportal", in der sämtliche rechner, user, hardware, patchungen, usw. dokumentiert werden sollen.

      aus diesem grund habe ich auch gedacht, ist diese unterteilung mittels einer zwischentabelle so sinnvoll.

      ich stell mir das halt jetzt laut deiner beschreibung so vor, dass ich eine tabelle mit später mal hunderten spalten haben, von denen ich dann pro entsprechende komtponente wirklich nur die wenigsten dann brauche?! ist das dann nicht sehr speicherfressend?

      Comment


      • #4
        Hi,

        ich würde die Tabellen Komponente_Geräte und IP-Adressen zu einer Tabelle 'Geräte', die aber noch keinen speziellen Eigenschaften zu den Geräten enthält, zusammenfassen.
        Und in der Tabelle Computer, Drucke, ... auf diese Tabelle verweisen:

        Code:
        Geraete
        |=======|==============|=====|
        |  id   |  Ip-Adresse  | Kid |
        |=======|==============|=====|
        |  1    |   10.71.51.  |  1  |
        |-------|--------------|-----|
        |  2    |   10.54.545. |  2  |
        |-------|--------------|-----|
        |  3    |   10.71.51.  |  1  |
        |-------|--------------|-----|
        
        Komponenten
        |=======|==============|
        |  id   |  Bezeichnung | 
        |=======|==============|
        |  1    |   Drucker    |
        |-------|--------------|
        |  2    |   Computer   |
        |-------|--------------|
        |  3    |   Sonstige   |
        |-------|--------------|
        
        Computer
        |=======|=============|========|
        |  id   |  geraete_id |  Host  |
        |=======|=============|========|
        |   1   |       2     | ansek1 |
        |-------|-------------|--------|
        |   2   |     Null    |itprakt1|
        |-------|-------------|--------|
        |   3   |     Null    | ritz1  |
        |-------|-------------|--------|
        
        Drucker
        |=======|=============|==============|
        |  id   |  geraete_id |  Bezeichner  |
        |=======|=============|==============|
        |   1   |     Null    |   1154141    |
        |-------|-------------|--------------|
        |   2   |      1      |   1154141    |
        |-------|-------------|--------------|
        |   3   |      3      |   1154141    |
        |-------|-------------|--------------|
        So bräuchtest du die Komponenten noch nicht einmal aufführen, da du einfach alle Komponenten nach der GeräteId durchsuchen könntest.
        "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

        Viele Grüße Novi

        Comment


        • #5
          Speicherfressend - wie definierst du das? Stelle dir mal vor, du würdest 2000 Geräte verwalten und dabei 2 Gb Platz brauchen, das nur zu 10% genutzt wird, dafür sind deine Abfragen simpel und schnell. Bei den Plattenpreisen heutzutage muss man schon ganz andere Aufgabenstellungen haben wie zB Millionen von Datensätzen oder Archivierung gescannter Dokumente, damit es Sinn macht, Einfachheit für Platz zu opfern (meine persönliche Meinung).
          Aber da du nicht alle Anforderungen genannt hast, kann man auch nur einen Tipp aufgrund der vorhandenen Info geben. Und in diesem Fall bleibe ich zurzeit noch bei meiner Meinung.
          Was aber nicht heisst, dass alles in eine Tabelle soll. Die Gerätetypen haben wir ja schon draussen, wenn mal sowas wie ein Lieferant dazukommt, wird der auch nicht jedesmal mit allen Daten direkt in der Gerätetabelle stehen sondern in einer Lieferantentabelle und nur die Lieferantennummer in der Gerätetabelle. Die Kunst wird es sein, bei einer Erweiterung diese Unterscheidung zu treffen, ob neue Spalte oder eigene Tabelle.
          Aber vielleicht erstellst du mal eine vollständige Liste mit allen Informationen, die du speichern willst und dann sehen wir weiter. Nur, für jeden Gerätetyp eine eigene Tabelle finde ich nicht so sinnvoll, da hast du dann später hunderte Tabellen und dann bastle mal deine Queries - jedesmal wenn eine neue Tabelle dazukommt, kannst du die überarbeiten, weil du sonst unter Umständen die neuen Daten nicht bekommst.

          bye,
          Helmut

          PS: speicherschonend ist zB, wenn man bei Textfeldern mit variabler Länge VARCHAR und nicht CHAR verwendet.

          Comment


          • #6
            hi!

            erstmal vielen dank für eure unterstützung!

            @hwoes,

            worüber ich mir mit deiner lösung noch gedanken mach, sind die relationships der tabellen untereinander.

            beispielsweise können mehrere user an einem oder mehreren pcs arbeiten. umgekehrt genau so. hier istalso eine n:m beziehung.

            nun will ich später auch usb sticks verwalten. in dem fall wäre es eine 1:n beziehung, da der stick nur von einem user genutzt wird.

            wie verhält es sich denn dann, wenn ich nun alle geräte in eine tabelle schreibe??

            dies war nämlich auch ein grund, warum ich die geräte in den unterschidlichen tabellen schreiben wollte.

            oder kann man da über die gerätetypen tabelle tricksen, um hier zu unterscheiden????

            edit:
            was ich vielleicht noch zum besseren verständnis dazu schreiben sollte:
            geräte wie usb sticks, token, usw sollen sich sowohl auf den computer, als auch auf den user beziehen. ich will also sehen, welcher user welchen usb stick ausgehändigt bekommen hat, gleichzeitig soll ersichtlich sein, an welchem rechner der stick freigeschaltet wurde. das gleiche auch mit tokens und/oder anderen geräten.
            Zuletzt editiert von ErAzOr; 02.11.2009, 11:17.

            Comment

            Working...
            X