DBRS - Gesucht: Das doppelte Lottchen

Eine Auswahl von gefundenen Dubletten und die Frage nach ihrem Schicksal

Es steht nun einmal fest: Je größer der Inhalt einer Datenbank ist, desto mehr Datensätze sind doppelt vorhanden. Diese doppelt vorhandenen Datensätze, „Dubletten“ genannt, nehmen unnötig Speicherplatz und Verarbeitungszeit in Anspruch.

Und damit nicht genug: Angenommen, in Ihrer Datenbank befänden sich 20.000 Adressen, von denen vielleicht 1000 Dubletten sind. Wenn Sie nun eine Mailing-Aktion (Serienbriefe) an alle Kunden starten, um z.B. neue Leistungen Ihres Unternehmens vorzustellen, kosten Sie die tausend Dubletten alleine ah Porto glatte 1000 DM, sofern es sich um eine übliche 50gr-Drucksache handelt. Von erhöhten Kosten für Druck, Umschläge und Arbeitszeit wollen wir erst gar nicht anfangen! Und was dabei herauskommt, haben Sie auch schon oft genug erlebt: Sie erhalten denselben Prospekt mehrfach zugeschickt - einigen Ihrer Kunden geht es dann genauso.

„Gleich“ ist nicht gleich: „gleich“

Zunächst einmal muß festgehalten werden, daß zwei Datensätze in den seltensten Fällen identisch (will heißen: völlig übereinstimmend) sind. Zur Unterscheidung von Dubletten reicht es also auf keinen Fall aus, Datensätze auf „Gleichheit“ zu untersuchen. Dies sollen einige Beispiele verdeutlichen:

  1. Herr Richter wohnte fast ewige Zeiten lang in Berlin und ist aus beruflichen Gründen nach München zu Maß und Weißwurscht umgezogen. Logisch, daß wir seine Berliner Anschrift noch in der Datenbank haben. Er schreibt uns eine nette Karte aus München (Foto vom Biergarten auf der Rückseite), daß er ab sofort südlich des Weißwurschtäquators logiere. Und weil alles schnell gehen muß, erfaßt man zwar seine neue Anschrift, vergißt aber, die alte zu löschen (wir sind auch nur Menschen). Toll, jetzt gibt es Herrn Richterzweimal (in unserer Datenbank) - UND: Beide Datensätze sind nicht GLEICH, beschreiben aber dieselbe Person.
  2. Unser alter Freund Dr. Strauss hat bereits zwei Produkte aus unserem Hause gekauft und ist vollauf zufrieden damit. Beim ersten Produkt hat er noch seine Privatanschrift angegeben, aber weil das zweite Produkt sein Institut finanziert hat, gibt er folgerichtig bei dessen Registrierung die Dienstanschrift an. Beide Datensätze haben im Grunde auch wieder nichts miteinander zu tun, sind aber dennoch DUBLETTEN.
  3. Weil uns vor kurzem ein interessantes Schreiben von einem Adreßverlag ins Haus flatterte, das uns 30.000 treffsichere Anschriften von Computer-Neukunden der letzten 6 Monate, mit einem Einkommen von monatlich über 5000 DM und der Absicht, mindestens 1000 DM in den nächsten 3 Monaten für Software ausgeben zu wollen versprach, wollten wir unseren Adreßbestand mit diesen potentiel len Käufern „auffrischen“. (Wo die Adreßverlage nur diese „treffsicheren“ Angaben herbekommen haben?) Nur, wer sagt uns, daß unter den gekauften Adressen nicht schon Altkunden von uns sind, die dann zu DUBLETTEN werden würden (Verzeihung das böse Wort, liebe Altkunden)?

Alleine diese Beispiele (man könnte die Liste beliebig ausdehnen) sollen zeigen, daß eine sogenannte „Indifferenz“ (d.h. eine völlige Übereinstimmung) nicht unbedingt in der Übereinstimmung einzelner Felder zu suchen ist. So könnte sich Dr. Strauss (siehe oben 2.) im ersten Fall als Reinhard Strauss und im zweiten Fall als Prof. Dr. Strauss registrieren lassen haben.

Haben Sie etwas Zeit?

Es ist sicher leicht nachzuvollziehen, daß es nahezu unmöglich ist, „per Hand“ alle doppelten Datensätze aus einer Datenbank herauszufinden (um Himmelswillen - weshalb haben Sie sich den Computer denn angeschafft?). Sie müßten dazu jeden Datensatz mit jedem anderen vergleichen, nach der kurzen Zeit von 200 Milliarden Sekunden wäre die Datenbank dann gereinigt. Das sind ca. 30 Millionen Minuten oder 550.000 Stunden oder 23000 Tage oder gute 60 Jahre. Aber finden Sie erstmal einen Angestellten, der sich bereit erklärt, so lange in der Firma zu bleiben.

Natürlich ist es auch möglich, eine sortierte Liste ausdrucken zu lassen und dann untereinanderstehende Datensätze miteinander zu vergleichen. Sie könnten sich natürlich auch einfach ein kleines Programm schreiben, das jeweils zwei Datensätze miteinander vergleicht (oder sind Sie kein Programmierer?). Aber Sie dürften damit keinen großen Erfolg haben, da für einen Computer „Micky Mouse“, „M. Mouse“ und „Mouse, Micky“ grundsätzlich verschieden sind, das Programm also folglich nicht erkennt, daß es sich hierbei um dieselbe Person handelt/handeln könnte. Das Programm müßte also entweder über künstliche Intelligenz (siehe Neuronale Netze) verfügen oder aber ausgefeilte Algorithmen enthalten, die es ermöglichen, ähnliche Datensätze zu erkennen.

Der Dublettenspürhund-Algorithmus

Womit wir schon gleich mitten im Thema wären: ein solches Programm gibt es bereits - es heißt DBRS und kommt aus Pforzheim. Der Trick von DBRS besteht darin, nicht nach Identität, sondern nach Ähnlichkeit zu suchen. Hierfür verwendet DBRS den sogenannten FACT-Algorithmus (Fragmentary Alikeness Comparing Technique), der sogar den Grad der Ähnlichkeit und die Gewichtung verschiedener Unterscheidungsmerkmale berücksichtigt.

Nach dem Start erscheint eine Dialogbox, die den Namen der Datendatei abfragt. Dabei prüft DBRS aufgrund der Dateinamenserweiterung, ob die Datei eine dBASE- („DBF“) oder EASYBASE-Struktur aufweist. Weil nicht auszuschließen ist, daß auch andere Datenbankprogramme in Benutzung sein könnten, hat das Programm klugerweise den Import einer ASCII-Datei ebenfalls vorgesehen.

Wenn also die Datendatei von einem anderen Datenbankprogramm kommt, sollte diese als ASCII abgespeichert sein, wobei die ASCII-Struktur bekannt sein muß (einfach mal mit einem Editor hineinschauen). Nach dieser ASCII-Abfrage folgt sinnigerweise eine Warn-Dialogbox, die auf die Verwendung von Sicherheitskopien hinweist. Weil DBRS eine Datendatei völlig umkrempelt, ist es dringendst anzuraten, die Dublettensuche zunächst nur mit einer Sicherheitskopie der Datendatei zu bewerkstelligen.

Als nächstes findet man sich in einer Dialogbox wieder, die brav alle vorhandenen Feldbezeichner (das sind die Feldnamen wie „Name“, „Vorname“, „Straße“, „Ort“ usw.) auflistet. Nur dann, wenn DBRS die Struktur identifizieren konnte, sind die echten Feldbezeichner auch übernommen worden. Im Falle einer ASClI-Übernahme stehen stupide „Feld 1“, „Feld2“, „Feld3“ usw. untereinander, es sei denn, man hat die Feldnamen vorher in einer speziellen DAI-Datei (DBRS ASCII Information) verewigt. Diese Box mit dem Titel „Ähnlichkeit suchen in welchen Feldern?“ ist gewissermaßen das „Hauptarbeitsfenster“, bevor denn auch gleich die Dublettensuche beginnen soll.

Wer sucht, der findet

Wenn dann die Dublettensuche abgeschlossen ist, zeigt eine Dialogbox das Ergebnis an: „... Datensätze stehen im Verdacht, Dubletten zu sein“. Jetzt folgt der sogen. „Datensatzabgleich“. Dort darf der Mensch etwas „Nachhilfe“ leisten. Wenn ein Datensatz augenscheinlich keine Dublette ist, wählt man „ignorieren“, andernfalls kann die Dublette mit „löschen“ getilgt werden. Ist man sich aber nicht ganz sicher, wäre es ratsam, den dublettenverdächtigen Datensatz zunächst in einen sogen. „Report“ zu übernehmen, der entweder als Datei oder über Drucker ausgegeben wird.

Ach so, der Name

DBRS heißt ganz einfach: „Dubletten-BeReinigungs-System“ für Personal Computer und es gibt das Programm sowohl für MS-DOSen als auch für ATARI ST/TT. Um es den Kunden nicht allzu schwer zu machen, hat man DBRS in 2 Versionen vorrätig, eine Stufe 3 ist in Planung.

DBRS Stufe 1. Der frei verfügbare Hauptspeicher des Rechners muß größer sein als die Datenbank auf dem Medium, da bei der Bearbeitung die GESAMTE (!) Datenbankdatei in den Hauptspeicher geladen wird. Ist weniger Speicher frei als die Adressendatei groß ist, funktioniert die Programmversion „Stufe I “ nicht. Natürlich sollte man nach residenten Programmen und ACCs Ausschau halten, die während der Dublettensuche nicht benötigt werden.

DBRS Stufe 2 kann direkt mit einer Festplatte arbeiten. Hier stellt ein kleiner Arbeitsspeicher keine Einschränkung mehr dar. Für umfangreichere Datenbanken ist Stufe 2 von DBRS sehr zu empfehlen.

Preisfrage

Stufe 1 kostet 552,90 DM, Stufe 2 gibt es für 1675,80 DM, und Stufe 3 ist für ca. 3500 DM geplant. Sonderlösungen und Anpassungen sind gegen Gebühr möglich. Die Stufe 1 von DBRS zielt damit ganz klar auf den semiprofessionellen Anwender, während die Stufe 2 aufgrund des Preises wohl mehr im geschäftlichen Umfeld zu finden sein wird. Gerade im letzteren Fall macht sich die Dublettenbereinigung in barer Münze, weil eingespart, stärker bemerkbar.

In Anbetracht der Funktionsunterschiede scheint mir der Preis angesichts der möglichen Zielgruppe für die Stufe 1 etwas zu hoch, während die Zielgruppe der Stufe 2 den vergleichbar ebenfalls zu hohen Preis eher verschmerzen kann. Auch ist die Stufe 1 mit dem Kompletteinladen der gesamten Datei in den Arbeitsspeicher nicht mehr zeitgemäß. Es ist nur zu offensichtlich, daß die Stufe 1 nicht nur im Funktionsumfang, sondern auch in der Arbeitsweise eine Entwicklungsstufe unter der Nr. 2 liegt (nomen est omen).

Über den Sinn des Programms braucht man wahrhaftig nicht zu streiten und die Idee ist für „Datendublettengeplagte“ schon immer naheliegend gewesen. Gerade dort wo wirklich viel mit Adressdaten gearbeitet wird, dürfte sich die Investition alsbald rentieren. Im Prospekt zu DBRS steht denn auch sehr treffend: „Dubletten kosten Geld“, das dürfte Hobbyanwender und Freaks aber wohl wenig interessieren.

DK

Bezugsquelle:

OMIKRON.Soft + Hardware GmbH Sponheimstraße 12 W- 7530 Pforzheim

Positiv:

Negativ:



Aus: ST-Computer 11 / 1992, Seite 51

Links

Copyright-Bestimmungen: siehe Über diese Seite