Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Suchergebnis nach Trefferhäufigkeit auswerten und sortieren (https://www.delphipraxis.net/58090-suchergebnis-nach-trefferhaeufigkeit-auswerten-und-sortieren.html)

Pfoto 1. Dez 2005 11:13

Datenbank: NexusDB embedded • Version: 2.02 • Zugriff über: NexusDB Komponenten

Suchergebnis nach Trefferhäufigkeit auswerten und sortieren
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz