• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Logische Verknüpfung in MYSQL

forwardpoint

New member
Hallo Liebes Forum,

Ich habe eine Idee von der ich nicht ganz weiß wie ich Sie umsetzen soll.
Es geht darum das Bestimmte Charaktere viele gemeinsame Eigentschaften haben und deswegen in einer Tabelle stehen.
Sie habenjedoch auch ein paar Eigenschaften in dennen Sie sich Gruppenweise unterscheiden. Jetzt will ich Sie Gruppenweise miteinander vergleichen.
Aber wie ist die Verknüpfung logischerweise dazu?

Character:

+-------------+----------+----------+----------+
| ID | 1 | 2 | 2 |
+-------------+----------+----------+----------+
| Name | Gandalf | Randale | Django |
+-------------+----------+----------+----------+
| Gilde | Magier | Krieger | Diplomat |
+-------------+----------+----------+----------+
| Fähigkeiten | 1 | 1 | 2 |
+-------------+----------+----------+----------+


Magiefähigkeiten:

+-------------+----------+----------+
| ID | 1 | 2 |
+-------------+----------+----------+
| Magiefarbe | weiß | grau |
+-------------+----------+----------+
| Magiestärke | 11 | 9 |
+-------------+----------+----------+

Kriegerfähigkeiten:

+-------------+----------+----------+
| ID | 1 | 2 |
+-------------+----------+----------+
| Kraft | 90 | 100 |
+-------------+----------+----------+
| Geschick | 120 | 190 |
+-------------+----------+----------+
| Ausdauer | 110 | 90 |
+-------------+----------+----------+

Diplomatenfähigkeiten:

+-------------+----------+----------+
| ID | 1 | 2 |
+-------------+----------+----------+
| Sprachen | 3 | 4 |
+-------------+----------+----------+
| Höfflich | 400 | 500 |
+-------------+----------+----------+
| Listig | 200 | 390 |
+-------------+----------+----------+


Danke für die Hilfe...

LG Niki
 
Du JOINSt die Tabellen und nutzt IF um den richtigen Wert der richtigen "Gilde" zuzuordnen. Finde das DB Design aber auch nicht wirklich gut. Aber das haben wir gerade in einem anderen Forum schon diskutiert und sind nicht wirklich zu einem schluss gekommen.

Lg Kasalop
 
Hallo,

Design ist relativ, die genaue Anforderung habe ich nicht verstanden ...
... aber du solltest beim Design immer auch den Zweck beachten, also was wird mit den Daten danach gemacht.

Eine eigene Tabelle je Fähigkeit ist recht überschaubar auf den ersten Blick aber im Nachhinein, wenn man diese in Abfragen packen muss, wird es kompliziert.

Ich würde sowas in der Art vorschlagen, wie gesagt habe die Anforderungen nicht 100% durchschaut ( Eine Gilde ist ja normalerweise eine Ansammlung von Charakteren ... )
Im Vorschlag ist eine relation zu viel, du musst dich hier entscheiden ob du die Skills via Gilde oder via Charakter zuweisen willst ( Im Vorschlag sind beide Varianten dabei ).

db_schema.png

Es gibt also nur 1 Tabelle mit Skills, via Gilde und skillset kann man n Eigenschaften pro Gilde bzw. Character zuweisen. ( Der Weg geht also über Character > Gilde > skillset > skill , in skill hast du dann beliebig viele Skills zum zuweisen an ein skillset welches wiederrum an einer Gilde hängt, ein Character kann dann 1 Gilde zugewiesen werden )

Das skillset könnte man auch weglassen, ist nur optional, wenn man von Gilde auf Skills geht würde es genauso funktionieren.
 
Zurück
Oben