M.Schmidt: Datenbank Design

Hallo,

ich Programmiere zur Zeit ein "Browser Online Strategie Spiel" ist ja zur Zeit in ;-)

Nun hab ich ein Problem:

Ich habe mehrere SonnenSystem (zb. 1 bis 5)
Jedes Sonnensystem besitz 10 Planeten.
Jeder Planet hat einen Namen,Besitzer,Punktewert.
Jeder Benutzer kann mehere Planeten in mehreren Systemen
besitzen.

Kann mir einer beim ERD helfen ???

Danke + Gruß im vorraus

M.Schmidt

  1. Hi..

    also wenn ich kurz überlege

    Tabelle für Sonnensysteme
    Tabelle für Planeten
    Tabelle für Benutzer

    Tabelle mit n:m mit BenutzerID, PlanetID, SonnenSystemID

  2. Hallo,

    Ich habe mehrere SonnenSystem (zb. 1 bis 5)
    Jedes Sonnensystem besitz 10 Planeten.
    Jeder Planet hat einen Namen,Besitzer,Punktewert.
    Jeder Benutzer kann mehere Planeten in mehreren Systemen
    besitzen.

    Tabelle für Sonnensysteme
    Tabelle für Planeten
    Tabelle für Benutzer

    Tabelle mit n:m mit BenutzerID, PlanetID, SonnenSystemID

    Naja, wenn ich die ursprüngliche Anforderung lese, dann kann man sich die vierte Tabelle sparen, da Besitzer und Sonnensystem Eigenschaften von Planeten sind, die auch in deren Tabelle abgelegt sein sollten. Ein Planet kann ja nur einem Benutzer und nur zu einem Sonnensystem gehören. m:n-Beziehungen sind da fehl am Platz.

    Grüße
      Klaus

    1. Servus,

      Tabelle für Sonnensysteme
      Tabelle für Planeten
      Tabelle für Benutzer

      Tabelle mit n:m mit BenutzerID, PlanetID, SonnenSystemID

      Ich würde die Zuordnungen in 3 Tabellen ablegen.

      Benutzer_Planet_zuord
      Planet_Sonnensys_zuord
      und
      Benutzer_Sonnensys_Zuord

      Naja, wenn ich die ursprüngliche Anforderung lese, dann kann man sich die vierte Tabelle sparen, da Besitzer und Sonnensystem Eigenschaften von Planeten sind, die auch in deren Tabelle abgelegt sein sollten. Ein Planet kann ja nur einem Benutzer und nur zu einem Sonnensystem gehören. m:n-Beziehungen sind da fehl am Platz.

      Das hätte beim erkennen des Fehlers den Vorteil, dass er womöglich hinterher nicht die ganze App ändern muss, sondern nur die DB mit ein paar Scripten Aktualisieren muss.

      Naja gegen Deine Lösung spricht im Regelfall nicht`s wenn man das DB Design sehr wohl überlegt hat.

      Gruss Matze