@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?
seltsame Fehlermeldung in sqlite3
- __blackjack__
- User
- Beiträge: 14040
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
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.
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.
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.
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.
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
)
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