Pokemondatenbank

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Boah, was für ein ERD


    Also, was ich bisher gesehen habe:

    • Sollten die Attacken nicht auch mit der Tabelle Typ verbunden sein?
    • Für was ist die Tabelle Geschlecht? Müsste die nicht eher irgendwie mit Form zu tun haben (je nachdem was da drin ist)
    • Für was ist die Tabelle Formänderung?

    Das ist alles was ich gerade auf die Schnelle erblickt habe, werde aber nochmals in Ruhe einen Blick darauf werfen wenn ich mehr Zeit habe.

  • Ok, allgemein empfehle ich dir mal überall Testwerte einzutragen und zu versuchen den Pokedex zu programmieren. Es ist unmöglich an diesem Punkt schon alle zusammenhänge zu sehen die effektiv benötigt werden. Während der Entwicklung des Pokedexes wirst du dann merken welche Verbindungen benötigt werden und welche überflüssig sind. Von den Tabellen her hast du glaube ich alles abgedeckt, es ist jedoch schwer bei einer Datenbank die schon so viele Tabellen hat noch nachzuvollziehen was mit wem wie in Beziehung steht. So frage ich mich z.B. ob die Fangorte nicht auch mit den Editionen verbunden werden müssen etc.


    Nochmals: Ich empfehle dir mit dem Entwickeln des Pokedexes anzufangen und dann während der Entwicklung die Datenbank so anzupassen wie du es benötigst. Du versuchst alles auf einmal abzudecken was aber kaum funktionieren wird. Mach dir auch nicht die Arbeit jetzt schon überall Daten einzutragen. Erstelle überall einen Testdatensatz und versuche mal den Eintrag deines Lieblingspokemons zu erstellen.

  • Boah, was für ein ERD


    Also, was ich bisher gesehen habe:

    • Sollten die Attacken nicht auch mit der Tabelle Typ verbunden sein? Ja, aber in einer m:n-Beziehung
    • Für was ist die Tabelle Geschlecht? Müsste die nicht eher irgendwie mit Form zu tun haben (je nachdem was da drin ist) Die Tabelle Geschlecht enthällt die prozentuale Verteilung des Geschlechts also x%männlich x%weiblich (bei neutral beides 0)
    • Für was ist die Tabelle Formänderung? Turtok->Mega-Turtok, Arceus->Feuer-Arceus

    Das ist alles was ich gerade auf die Schnelle erblickt habe, werde aber nochmals in Ruhe einen Blick darauf werfen wenn ich mehr Zeit habe.

  • Ok, allgemein empfehle ich dir mal überall Testwerte einzutragen und zu versuchen den Pokedex zu programmieren. Es ist unmöglich an diesem Punkt schon alle zusammenhänge zu sehen die effektiv benötigt werden. Während der Entwicklung des Pokedexes wirst du dann merken welche Verbindungen benötigt werden und welche überflüssig sind. Von den Tabellen her hast du glaube ich alles abgedeckt, es ist jedoch schwer bei einer Datenbank die schon so viele Tabellen hat noch nachzuvollziehen was mit wem wie in Beziehung steht. So frage ich mich z.B. ob die Fangorte nicht auch mit den Editionen verbunden werden müssen etc. Ähm die sind bereits in einer m:n-Beziehung


    Nochmals: Ich empfehle dir mit dem Entwickeln des Pokedexes anzufangen und dann während der Entwicklung die Datenbank so anzupassen wie du es benötigst. Du versuchst alles auf einmal abzudecken was aber kaum funktionieren wird. Mach dir auch nicht die Arbeit jetzt schon überall Daten einzutragen. Erstelle überall einen Testdatensatz und versuche mal den Eintrag deines Lieblingspokemons zu erstellen.

  • Was genau soll deine Entität "Formen" und was soll dagegen die Entität "Pokémon" modellieren?
    Möchtest du auch Dinge wie die Schrittzahl, bis ein Ei schlüpft, die Level, zu denen Attacken erlernt werden und auch weitere Attribute von Beziehungen abspeichern? (Wenn ja, dann füge diese mal hinzu)
    Warum hast du allgemein noch keine Attribute in deinem Diagramm? (Dadurch kann man ja erst sehen, ob du etwas vergessen hast)

  • Also ich hab das ganze mal mit Attributen gemacht nur ist das Diagramm etwas unübersichtlich


    Aber ich lad es mal als Bild und als mysql workbench model (im Zip Ordner) hoch


    Meine Probleme:


    die Tabelle Editionen (um nicht alles für jede Edition jedes mal aufführen zu müssen bedeutet: 1x Bisasam->Bisaknosp statt 29x Bisasam->Bisaknosp als Entwicklung)


    Wie bringe ich die Änderungsmethoden miteinander in Einklang (einzelne Spalte für Level, Item, pkmn im team,...) oder so wie bisher das man 3 möglichkeiten hat eine Bedingung auszuwählen
    (3 sind es wegen felinara)


    Weitere Ideen was ich ändern kann/sollte?

  • Servus,


    anstatt ein überkompliziertes Datenbank Modell zu machen würde ich mal einfach mit einer groben implementierung starten.
    Fange an die ersten 151 Pokemon einzutragen und diese abrufbar zu machen mit diversen Kriterien, dies nicht über die reine Datenbank sondern über ein kleines UI.
    Lass die Pokemon auch nicht alle deine Eigenschaften haben, sondern beginne an mit den Typen und Attacken, gib ihnen noch den Fangort.
    Wenn dies alles Funktioniert mach mit schwereren Aufgaben weiter, z.B. Mega-Entwicklungen und wie wird es gelößt hat ein Pokemon 2. Eventuell möchtest du auch gleich weiterdenken und die Mega-Entwicklung als andere Form mit dem Metawert ist Mega entwickeln.
    Das wichtigste ist nur das man anfängt und nicht alles überdenkt. Bedenke du bist eine Person und kein 10 Mann Entwicklerteam. Fang klein an und bau darauf auf.
    Dies ist natürlich nur ein Tipp für Programmierer die gerade anfangen zu lernen und nicht viele Projekte abgeschlossen haben, nur sind mir in deinem Modell einige Unstimmigkeiten aufgefallen(z.B. du hast für fast jede region 2 Einträge, für Kanto gar keine und die werte werden nicht benutzt).


    LG Xeni

  • Generelle Anmerkung. Es gibt eine absolut tolle Rest-API für alle möglichen Daten rund ums Thema Pokemon.


    PokeAPI.co


    Kostenlos, nahezu vollständig, wird sehr oft gepflegt und hat ein sinniges Entitäten-Modell im Hintergrund. Also wenn es nicht zwingend notwendig ist die Daten selbst zu erfassen, würde ich mir das wirklich überlegen. In meinen Apps nutze ich die API auch und mittels Caching etc. hab ich eigentlich kaum Nachteile.


    Grüße
    Dominic