Ich mache eine Zuordnung in einem Datenbank-Kurs an meiner Uni mit MySQL. Wir haben eine Datenbank eines Golfclubs erstellt, wo wir (unter anderem) Spielergebnisse von verschiedenen Spielen speichern können.MySQL AVG() von Varchar möglich?
Jetzt schreibe ich den Bericht für die Aufgabe, und ich versuche zu beweisen, dass es besser ist, ein int als ein varchar zu verwenden, um die Ergebnisse zu speichern. Wenn ein int verwendet wird, erhalten disqualifizierte Spieler als Ergebnis einen NULL-Wert. Wenn ein Varchar verwendet worden wäre, hätten sie eine Zeichenfolge: "Disqualifiziert".
Die Dinge, ich frage mich, sind:
- Hat MySQL automatisch
varchar
zuint
konvertieren, wennavg()
verwendet wird (zum Beispiel), wenn eine Berechnung geschehen? - Wenn dies der Fall ist, verlangsamt das die Datenbank sehr (verglichen mit der Verwendung eines int)?
- Ist es möglich, Berechnungen mit String-Werten durchzuführen? Z.B. Wenn das Ergebnis-Attribut ein
varchar
ist, der "52", "68", "72" enthält, kann der Durchschnitt berechnet werden? - Was passiert, wenn ich die oben aufgelisteten Strings plus ein "disqualifiziertes" Ergebnis habe? Wird diese Zeichenfolge ignoriert, als hätte sie einen NULL eines int ignoriert?
Das ist ein guter Gedanke, dass Sie einen Datenbank-Kurs machen, aber Sie sollten es für sich selbst tun, sonst würden Sie nicht lernen. –
Nun, ich lerne eine ganze Menge, und dieser Kurs ist Teil meines Programms. Ich brauche nur ein bisschen mehr Informationen für diesen Bericht. – lindastralberg