ich habe folgende Aufgabe und frage mich, wie ich sie am besten bewältige:
Es besteht eine SQLITE-Datenbank mit einer Textetabelle mit ca. 80 Datensätzen. Jeder Datensatz hat eine ID und einen beliebig langen Text (ca. 200 Zeichen). In einer weiteren Tabelle stehen 60 Datensätze. Eine ID und diesmal nur ein Zeichen (ein Char - Alphabet gross + Alphabet klein + einige Sonderzeichen).
Nun muss ich aus der Textetabelle alle Texte filtern, die ein Zeichen (oder am besten gleich mehrere Zeichen) aus der anderen Tabelle am häufigsten beinhalten.
Um das ganze vielleicht leichter zu verstehen: Lösungvorschlag 1 ->
Lösungsvorschlag 1:
Eine weitere Tabelle in der Datenbank, mit den 60 Zeichen und der ID aus der Textetabelle als Spalten. Dann alle Texte einfach mit einem index (text[x]) durchlaufen, analysieren und die Anzahl der vorkommenden Zeichen in der jeweiligen Spalte speichern. Dann könnte man zur Laufzeit über eine SQL-Abfrage einfach die Tabelle nach einem Zeichen sortieren und hätte so die Id des Textes, in dem das Zeichen am häufigsten vorkommt.
Unschön: die dritte (Analyse-)Tabelle muss zu Beginn einmal generiert werden, die zwei anderen dürfen sich danach nicht mehr verändern.
Lösungvoschlag 2:
Eigentlich wie Lösungvorschlag 1, allerdings mit einer virtuellen Liste, die man zur Laufzeit füllt. Ich denke aber, so eine Analyse benötigt zu viel Zeit. Zudem wüsste ich nicht, welche Art von Liste ich verwenden sollte. Ideen?
Lösungvorschlag 3:
Das ganze mit Regular Expressions lösen. Mmmh. Da hab ich leider keine Ahnung von. Wäre super, wenn hier jemand einen kurzen Tipp geben könnte, ab das damit vielleicht ganz leicht
Gibt es evtl. noch andere Lösungvoschläge?
Vielen Dank für etwaige Antworten,
viele Grüße!