Android, SQLite Skalierbare Datenbank

  • Antworten:3
Dani Sahne
  • Forum-Beiträge: 107

11.09.2013, 16:30:51 via Website

Hallo,

in meiner App wird eine Datenbank verwendet um die Informationen zu einer DVD (Name, EAN, Erscheinungsjahr, FSK, Schauspieler, usw) zu speichern. Allerdings möchte ich meinen Nutzern die Möglichkeit geben eigene Spalten zu definieren. Wie stelle ich das an? Gibts da irgendwo Tutorials dazu?

Mit n bisschen googeln hab ich folgendes gefunden (ht tp://adaframework.com/), hat schon jemand Erfahrungen damit, bzw kann mir sagen ob das überhaupt das ist was ich suche.

PS: Kann ich mit SQLite in Android auch eine rellationelles DBSystem realisieren?

Mfg, Dani

— geändert am 11.09.2013, 16:35:51

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

11.09.2013, 19:24:15 via Website

Allerdings möchte ich meinen Nutzern die Möglichkeit geben eigene Spalten zu definieren. Wie stelle ich das an?

Eine simple Möglichkeit wäre, in deiner Tabelle zB 5 freie Felder zu definieren, die der User dann in der App benennen kann.
Eine flexiblere Lösung wäre etwa, eine 2 Tabelle mit einer Relation zur ersten herzustellen:

create table felder (Tab1ID integer, name text, wert text);

wobei Tab1ID der Primärschlüssel deiner eigentlichen Tabelle ist und die Zeilen der 2. Tabelle so an die der ersten gebunden werden.

Darüber hinaus kann man das natürlich auch mit Konstrukten lösen, die keiner Normalform genügen (können) ;-)

Was davon für dich brauchbar ist, hängt davon ab wie/wozu diese Felder verwendet werden sollen.


Kann ich mit SQLite in Android auch eine rellationelles DBSystem realisieren?

Was meinst du denn damit?

Am ähnlichsten kommt dem wohl der Begriff "Relationale Datenbank", und SQLite genügt dieser Definition offensichtlich.

— geändert am 11.09.2013, 19:24:44

Antworten
Dani Sahne
  • Forum-Beiträge: 107

11.09.2013, 20:20:38 via Website

Ja, ich meinte "relational", dass mit den freien Feldern is zwar einfach, aber undynamisch.

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

11.09.2013, 22:45:02 via Website

Dann nimmste halt die Lösung mit den 2 Tabellen.

Antworten