mysql update

Original geschrieben von Bleem
nö leider es müssen 56 sein :)
aber das is ja nicht das schlimme...

ich hab da noch eine andere db mit 145 :(
und das is viel zum schreiben :(
...
Das ist einfach nicht normal. Du solltest dich mal mit der Normalisierung von Tabellen beschäftigen. Das ist ja der reinste Performance-Killer.
 
Also nun möcht ich aber doch mal gerne wissen, was das für Tabellen sein sollen... Kannst du das mal bitte erläutern? Wird schon keine Super-Idee sein, die dir andere klauen wollen denk ich mal - aber vielleicht bekommst dann ne Lösung, wie man das auch "human" regeln kann ;)
 
es ist für ein php-rollenspiel...
das ich versuch zumachen...

und ich wüsste nicht wie ich das mit weniger machen koennte...

insgesamt hab ich 6 db´s
1. 56
2. 48
3. 120
4. 145
5. 67
6. 38


das is zurzeit alles nur in einem db-proggi...is noch nicht in einer mysql db drin....

bin noch am "storyboard" schreiben :)

und diese frage "ob da ne andere lösung geht" is mir gestern durch den kopfgegangen :) weil ich echt eine faule sau bin :)
 
Wie wärs wenn du einfach eine Spalte Inventory machst, in der du alle Items einträgst? Du musst ja nicht für jedes einzelne Item ne Spalte mit dem Inhalt 0 oder 1 haben ;)
 
ja das is schon klar das gibts e :)

nur der char hat ja nit immer nur ein item von einem zeugs dabei :) kann ja auch 5 stück von den haben :)
 
Original geschrieben von Bleem
das is die char tabelle...
persönliche daten...skills...items...etc :)
Und schon sind wir beim Thema. Die Skills sollten in eine eigene Tablle, das Inventar auch und dann könnte man noch überlegen, ob man die "persönlichen Daten" was immer das ist, nicht auch auslagern sollte.
Hier mal ein Beispiel für die Vorteile:
Angenommen der Charakter bekommt ein neues Item. Dann kannst du nur die Inventorytabelle updaten. Die restlichen 50 Spalten oder so ;), werden beim Update absolut nicht benötigt. Etc., etc.
 
Original geschrieben von Bleem
nur der char hat ja nit immer nur ein item von einem zeugs dabei :) kann ja auch 5 stück von den haben :)
Dann überleg dir wie man das codieren kann... z.b. kannst du in die Inventar-Spalte folgendes schreiben:

01x2345 02x324 03x2346

Musst du dann nur noch auslesen und verarbeiten. Die Stellen vor dem x geben beispielsweise den Lagerungsort an und die Ziffern dahinter die Id des Items.

Wolfsbeins Lösung ist aber noch besser, eine eigene Inventar-Tabelle mit 3 spalten: ID des "trägers", Lagerungsort und um welches Item es sich handelt. Dann kannst du mit einer simplen SQL-Abfrage alle Items auflisten, die dein Char hat.
 
Viel kann ich dem auch nicht mehr hinzufügen... Ich denke dass es auf jeden Fall sinnvoller wäre, die Daten auf mehrere Tabellen aufzusplitten.

Du kannst in dieser Inventory Tabelle dann auch den Items eigene Werte (angriffsstärke, etc.) zuordnen, was ja auf jeden Fall sinnvoll ist... Dann haste auch keine "Doppeleinträge" ("redundant" ist glaub ich, das fachwort dafür) von irgendwelchen gegenständen.

antihero
 
Zurück