Seite 2 von 2

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 18:45
von __blackjack__
@Cortez: Da wo Du denkst Du musst 0 eintragen wenn der Benutzer keinen Wert angegeben hat, musst Du nicht 0 eintragen sondern `None`. Und daran kannst Du dann beim auslesen auch wieder erkennen, das der Benutzer da keinen Wert eingetragen hat, denn Du bekommst da auch wieder `None` zurück. Der Wert `None` vom Typ `NoneType` wird in Python genau für das gleiche verwendet wie der Wert NULL in SQL. Und nur damit wir nicht wirklich aneinander vorbeireden, NULL ist in SQL ein Wert der genau so geschrieben wird N U L L, das ist nicht die Zahl 0 als Wort und gross geschrieben. NULL ≠ 0.

Ansonsten klingt das mit der Spaltenanzahl komisch. Wenn der Benutzer für einen Datensatz dynamisch viele Werte angeben kann, dann sind das keine Spalten sondern Zeilen, also eigene Datensätze, mit einer Datensatz-ID die kennzeichnet um welchen ursprünglchen Datensatz es sich handelt und einer Spaltennummer, und ggf. noch einer zusätzlichen künstlichen ID wenn man keinen zusammengesetzten Primärschlüssel haben möchte.

Welches konkrete Problem versuchst Du hier eigentlich gerade zu lösen?

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 19:48
von Cortez
Ok, danke dir erstmal. Das mit dem none-Wert habe ich, glaube ich, nun ein biss hen Begriffen.

Das Problem ist folgendes: Es geht um eine Tabelle, die Ergebnisse von Sportlern misst. Jeder Datensatz ist sozusagen ein Sportler und jede Spalte ein Versuch. Also wenn ein Sportler z.B. beim Hochsprung an der 1,40 m Marke scheitert, ist der Wettkampf vorbei und er hat keine Versuche mehr. Wenn er aber immer weiter kommt, braucht er auch immer mehr Versuche, eben bis er nicht mehr über die Stange kommt. Und da man im Vorfeld nicbt vorausseheb kann, wer am Ende wieviele Versuche hat, wäre das gut, wenn man das dynamisch machen könnte.

Hoffe, ich habe das ein bisschen verständlich erklären können.

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 19:53
von Sirius3
Du hast demnach am besten eine Tabelle mit den Feldern Sportler_ID, Sprugnummer, Höhe, wie es __deets__ schon beschrieben hat.

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 23:27
von Cortez
Ja, aber es soll ja auch die Anzahl der Versuche und die Höhe von jedem Versuch ermittelbar sein.

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 23:46
von Sirius3
Ist es ja auch. Am besten arbeitest Du erst ein SQL-Tutorial durch, um zu lernen, wie man das dann umsetzt.

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Montag 7. Januar 2019, 23:49
von sparrow
Du siehst eine Tabelle in einer relationale Datenbank wie eine Tabelle in einer Tabellenkalkulation.
Nur weil beides gleich heißt, ist es nicht identisch.

Du hast eine Tabelle, die den Sportler repräsentiert.
Eine Tabelle, die die Sportart repräsentiert.
Eine Tabelle, die den Wettkampf repräsentiert.
Eine Tabelle, die die Versuche repräsentiert.

Die Tabelle für die Versuche hat dann in etwa folgende Spalten:
Fremdschlüssel Sportler
Fremdschlüssel Wettkampf
Fremdschlüssel Sportart
Integer versuchsnummer
Double ergebnis

Für jeden Versuch gibt es dann eine Eintrag in die Versuche-Tabelle.

Stichwörter um das Thema zur vertiefen: Relationen in einer Datenbank und Normalisierung.

Re: seltsame Fehlermeldung in sqlite3

Verfasst: Dienstag 8. Januar 2019, 17:56
von Cortez
Ja, das mit dem SQL-Lite Tutuorial ist vielleicht eine gute Idee. Ich merke gerade, dass ich von der Antwort, die mir sparrow gegeben habe, nur Bahnhof verstehe.
Das Tutorial, das ich auf Youtube durch habe, ist dann scheinbar doch nicht so ausführlich.
Hätte jemand einen Vorschlag für ein gutes Tutorial? (wenn möglich so, dass es auch Normalsterbliche verstehen 😊)