Hallo zusammen,
ich brüte gerade vor folgendem Problem:
In meiner meiner Datenbank, welche die Eigenschaften von Dateien (Name, Erstellungs-/Änderungsdatum etc.) in einer Tabelle gespeichert hat, möchte ich vor dem Hinzufügen neuer Datensätze herausfinden, ob die Datei schon vorhanden ist.
Leider gibt es ja keine eindeutige Möglichkeit, eine Datei zu identifizieren, denn alle Paramenter könnte der User ja verändert haben (Dateigröße, Änderungsdatum, Checksumme etc. ändern sich u.U. nach Dateimodifizierung, Erstellungsdatum ändert sich bei Umkopieren auf anderen Datenträger etc.)
Deshalb soll per
SQL nach allen diesen Dateieigenschaften (per "OR"?) zusammen gesucht werden und eine Liste sortiert nach den häufigsten Treffern ausgegeben werden. Nun könnte ich abfragen und erkennen, zu wie viel Prozent die Einträge in meiner Tabelle diesen Kriterien entsprechen.
Würde ein User also eine Datei umbenennen und versuchen, diese erneut einzulesen, sollte die
SQL-Abfrage ergeben, dass eine z.B. 80% Übereinstimmung vorliegt.
Ich könnte somit bis zu einem gewissen Prozenzsatz davon ausgehen, ob diese Datei schon in meiner
DB vorhanden ist oder nicht.
Könnte man dieses Problem per
SQL lösen?
Ich habe schon mit Count(*) und einer Abfrage der Dateieigenschaften per "OR" gearbeitet und nach der ID gruppiert. Aber leider liefert das Ergebnis niemals eine Datei mehrfach auf, sofern sie mehrfach den Suchbedingungen entspricht. Sonst könnte man diese Mehrfachauflistung einer Datei zur Feststellung heranziehen, wie oft sie dem gesuchten Wert entspräche.
Habt ihr ein eine Idee wie das zu lösen wäre? Vielen Dank schonmal für Eure Gedanken...
Grüße
Pfoto