Ok, ich habe jetzt konkrete Vorstellungen und auch schon teilweise so umgesetzt.
Ich speichere zu jedem Lied die folgenden Werte:
- Laut
- Leise
- Fröhlich
- Traurig
- Tanzbarkeit
Wie ich die Referenzen ermittel, erkläre ich, sobald das Programm fertig ist. Gleichzeitig setze ich auch die Idee um, die ich mit der Shuffle-Funktion hatte. Mir ist noch nicht ganz klar, wie ich die Relationen der Lieder untereinander am effektivsten Abbilde bzw. wie ich die
SQL-Datenbank dazu bringe, die Relationen abzubilden.
Für die Shufflefunktion muss ich die Gewichtung der Verbindung zwischen zwei Liedern sowie deren letzte Änderung speichern. In einer normalen SQLite-Datenbank habe ich ein Tabellenschema nach Schema F erstellt. Wie wir bereits im Laufe des Threads festgestellt haben, kommen bei 5000 Liedern ungefähr 12,5 Mio Zeilen raus. Das Anlegen der Daten dauert ungefähr 20 Minuten. Die Datenbank wird 600 MB groß.
Olli, du schlägst vor, SQLite die Relationen abbilden zu lassen. Wie würde das funktionieren? Irgendwie fehlt mir noch ein greifbarer Anstoß.
Alternativen gehen von der Datenbank weg und schlagen ein natives Datenformat vor. Allerdings mache ich mir hier über die Performance sorgen. Ich werde ich aber nochmal selbst genauer nachforschen...