Marcus: Primary Key - Verständnis frage

Hi @all,

ich bin gerade dabei mich in sachen Datenbanken einzuarbeiten und hätte da eine Verständnis Frage.
Um besser ins Thema rein zu kommen habe ich mir vorgenommen eine kleine Datenbank zu basteln, in dem ich unsere Linux-Systeme einpflegen werde.
Dafür habe ich Verschiedene Tabellen verwerndet (ich weiß, man könnte das noch verfeinern, aber mir geht es erst mal um das Grundverständnis):

~Tabelle1_Kunde~
id_Kunde (PK)
kundenname

~Tabelle2_LinuxVersion~
linuxOS (PK)

~Tabelle3_Standort~
standort (PK)

u.s.w.

Wenn wir uns mal die Tablle "Tabelle3_Standort" anschauen. Der Name ist ja schon selbsterläuternd, ich hab eine Tabelle, in den ich die Standorte der Linux-Maschinen eintragen möchte.
Jetzt zu meiner Frage, kann ich den Standort gleich als PK verwenden ? Oder muss ich da noch eine Zeile mit z.B.: idStandort eintragen, der dann als PK benutz wird, z.B. so:

~Tabelle_Standort~
id_Standort (PK)
standort

Wenn ich die zweite Variante benutzen muss, kann mir jemand erklären warum das so ist?

  1. Hello,

    ~Tabelle1_Kunde~
    id_Kunde (PK)
    kundenname

    ~Tabelle2_LinuxVersion~

    id_ver  (PK)
      linuxOS

    ~Tabelle3_Standort~

    id_standort (PK)
      standort

    ~Tabelle4_Geraet
      id_geraet
      id_kunde
      id_ver
      id_standort

    Stell Dir vor, Du hast die Daten schon alle erfasst, und dann findest Du lauter Rechtschreibfehler. Wenn Du Datenwerte als ständige Referenzschlüssel einsetzt, hast Du dann ein Problem. Du müsstest die Änderungen dann in allen anderen Tabellen einpflegen. M$-ACCESS macht das unter dem Stichwort "Schlüsselweitergabe"

    Das sollte man aber nicht nachmachen, finde ich

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hello,

      Hello,

      ~Tabelle1_Kunde~
      id_Kunde (PK)
      kundenname

      ~Tabelle2_LinuxVersion~
        id_ver  (PK)
        linuxOS

      ~Tabelle3_Standort~
        id_standort (PK)
        standort

      ~Tabelle4_Geraet

      id_geraet  (PK)

      id_kunde
        id_ver
        id_standort

      Tabelle 4 sollte natürlich auch einen PK haben.

      Übrigens hat sich das bei mir sehr bewährt, dass ich Eigenschlüssel immer so nenne, wie die Tabelle. Man sieht das in Tabelle 4. Derjenige, der so heißt, wie die Tabelle, ist der Eigenschlüssel (PK), die anderen zeigen durch ihren Namen sofort an, auf welchen PK sie sich beziehen.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

  2. Hallo,

    zu Toms Antwort möchte ich noch ergänzen, dass es dir weiterhelfen wird, die Normalisierung anzuwenden. http://de.wikipedia.org/wiki/Normalisierung_(Datenbank).

    Markus