Seite 1 von 1

Datenbank oder JSON

Verfasst: Montag 7. Juli 2014, 20:15
von fail
Hallo zusammen,

Ich weiss nicht in welches andere Subforum diese Frage gehört, darum stelle ich es mal hier rein. Ich habe gerade angefangen eine Lernkarteikartensoftware zu programmieren. Diese soll später noch eine Webseite und Android-App bekommen. Später noch, soll man die Karteien in der Cloud speichern können und öffentlich machen für andere Benutzer. Was wäre geeigneter für die Speicherung der Karteikarten: JSON oder eine Datenbank(SQL oder NoSQL?) (oder shelve) ?

Danke im Voraus

-fail

Re: Datenbank oder JSON

Verfasst: Montag 7. Juli 2014, 22:03
von Leonidas
Ich denke ich würde für die Speicherung SQLite nutzen, am besten gleich via SQLAlchemy, dann kann man mit relativ geringem Einsatz eine andere DB nutzen, um die Daten in "der Cloud" zu speichern. Für den lokalen Einsatz reicht SQLite mehr als aus und die Daten scheinen ja auch strukturiert zu sein, so dass ein NoSQL-Ansatz bei dem Problem eher overkill wäre.

Re: Datenbank oder JSON

Verfasst: Dienstag 8. Juli 2014, 11:17
von h0rnung
Kann mich nur anschliessen: SQLite3 ist sehr simpel und du findest viele Standartfunktionen perfekt dokumentiert im Netz. Falls nicht vorinstalliert, müsstest du bei Bedarf den SQLite Browser installieren.

Gruesse

Re: Datenbank oder JSON

Verfasst: Dienstag 8. Juli 2014, 17:05
von fail
Okay, und wie würde ich die Daten synchronisiert zwischen allen Geräten halten?(muss ich etwa bei jeder Veränderung die ganze Datenbank wieder herunterladen? )

Re: Datenbank oder JSON

Verfasst: Dienstag 8. Juli 2014, 17:39
von Hyperion
fail hat geschrieben:Okay, und wie würde ich die Daten synchronisiert zwischen allen Geräten halten?(muss ich etwa bei jeder Veränderung die ganze Datenbank wieder herunterladen? )
Wenn Du keine zentrale Datenbank aufsetzen willst (ggf. mit Zugriff darauf als Webservice), kommst Du da nicht drum herum...

Re: Datenbank oder JSON

Verfasst: Mittwoch 9. Juli 2014, 00:22
von Leonidas
Hyperion hat geschrieben:Wenn Du keine zentrale Datenbank aufsetzen willst (ggf. mit Zugriff darauf als Webservice), kommst Du da nicht drum herum...
Ich würde genau das machen, *wenn* man synchronisieren muss *dann* sollte man das halt sofort mit nem Webservice machen. Ich hatte das so verstanden dass es *später* erst kommen soll und wenn man das später macht kann man derweil einfach lokal SQLite nutzen.

Re: Datenbank oder JSON

Verfasst: Samstag 12. Juli 2014, 20:51
von fail
Meine Idee war für jede Box(Ansammlung von Frage-Antwort-Paaren, z.B. English Box) ein Table zu machen. Aber sqlalchemy scheint eine Klasse für jedes Table zu brauchen. Gibt es eine elegante Lösung(z.B. eine Metaklasse) oder soll ich die Box zu einem Attribut(Reihe) machen, und nur ein riesiges Table haben? :K

-fail

Re: Datenbank oder JSON

Verfasst: Samstag 12. Juli 2014, 21:22
von BlackJack
@fail: Eine Tabelle pro Box wäre mit oder ohne ORM keine elegante Lösung. Tabellen und Spalten sind ”fest” und werden im Datenbankentwurf festgelegt. Variable Daten kommen nur *in* die Tabellen.

Du kannst die Box mit in die Tabelle schreiben, Du könntest aber auch zwei Tabellen anlegen: Eine für die Karten und eine für die Boxen. Eventuell sogar noch eine Tabelle die Karten und Boxen zusammenbringen, falls eine Box aus mehr als nur einer ID und den Karten besteht.

Re: Datenbank oder JSON

Verfasst: Samstag 12. Juli 2014, 22:48
von fail
@Blackjack Okay, danke. Ich werde mal die Box als Attribut der Karte implementieren