datenbank struktur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • datenbank struktur

    Hi Leute,

    PHP ist noch recht neu für mich und ich habe momentan ein Probelm wie ich meine Datenbank Struktur am besten aufbaue.

    Ich habe zur Zeit eine Tabelle wo die Userdaten gespeichert sind. Username usw

    Nun kann der user einen Charakter erstellen und diesem bestimmte Fähigkeiten beibringen. Diese Fähigkeiten habe ich bereits in ner Tabelle gespeichert.

    Struktur der Fähigkeiten die auf Elemente aufbauen (Feuer, Wasser usw)

    ID | Name | Beschreibung | ATK | Deff | Speed | Element

    Tabelle 2 mit Fähigkeiten die beim Lehrer gelernt werden können

    ID | Name | Beschreibung | ATK | Deff | Speed | Lehrer

    mein Probelm ist nun wie bekomme ich es übersichtlich hin das wenn ein user eien Fähigkeit lernt diese zu speichern.

    meine erste Überlegung war eine Tabelle zu erstellen mit folgendem aufbau

    ID | UserID | FaehigkeitID | Typ

    zb.
    1 | 1 | 1| Element
    1 | 1 | 45| Lehrer

    nun ist da aber das Problem das diese Tabelle dann sehr viele einträge haben wird und das glaube ich dann sehr Severlastig werden wird.

    Habt ihr vllt eine andere Lösung?

  • #2
    Du scheinst alles doppelt zu speichern. Wozu?
    Google mal nach Normalisierung!

    Kommentar


    • #3
      in wie fern doppelt?

      Beispiel:
      game_elemets
      ID | Name | Beschreibung | ATK | Deff | Speed | Element
      1 | Feuerball | noch frei | 25 | 5 | 12 | Feuer

      game_lehrer
      ID | Name | Beschreibung | ATK | Deff | Speed | Lehrer
      1 | Kick | ein Kick | 17 | 10 | 17 | Mister X

      gelernte_faehigkeiten
      ID | UserID | FaehigkeitID | Typ
      1 | 1 | 1 | Feuer
      2 | 1 | 1 | Lehrer

      nun kann ich die Tabelle gelernte Fähigkeiten durchsuchen nach Feuer und/oder Lehrer Fähigkeiten und anhand der daten die werte der fähigkeiten aus den entsprechenden Tabellen holen.

      2. Möglichkeit währe die gelernte_fähigkeiten Tabelle so auf zu bauen

      ID | UserID| Name | Beschreibung | ATK | Deff | Speed | TypA | TypB
      1 | 1 | Feuerball | ... | 25 | 5 | 12 | Element | Feuer
      2 | 1 | Kick | ein Kick | 17 | 10 | 17 | Lehrer | Mister X


      PS: die Tabelle game_element und game_lehrer enthalten unterschiedliche Fähigkeiten

      Kommentar


      • #4
        Oh ich hatte angenommen eine Fähigkeit besteht aus je einem Eintrag in der Element- und einem in der Lehrertabelle. Aber jetzt ist mir klar, dass es nicht UND sondern ENTWEDER ODER ist.

        Dennoch sind beide Sorten von Fähigkeiten sich so ähnlich, dass es sich anbietet, sie in einer gemeinsamen Tabelle zu speichern. Die Applikationslogik und Performancebetrachtungen könnten dagegen sprechen, sind mir aber bisher nicht bekannt.

        User(ID, ...)
        Faehigkeit(ID, Name, Beschreibung, ATK, Deff, Speed, Element, Lehrer)
        User_Faehigkeit(User_ID, Faehigkeit_ID)

        Kommentar


        • #5
          Jo, der user kann zu anfang bei der registrierung ein Element und einen Lehrer wählen, und dementsprechend bekommt er dann nur die fähigkeiten zum lernen angezeigt, die dem lehrer / element entsprechen die er gewählt hat.

          Glaub werde mal einen ersten ersten versuch starten mit meiner ersten DB struktur. und schauen wie es sich mit der auslasung usw verhält.

          Kommentar


          • #6
            OffTopic:
            das hat nichts PHP zu tun => *verschieb*

            Kommentar

            Lädt...
            X