Auswahlverfahren für digitale Daten Selection process for digital data
Die Erfindung betrifft ein Auswahlverfahren zur Ausführung auf einem digitalen Rechner zur Optimierung der Auswahl- und Zugriffsgeschwindigkeit von auf einem Speichermedium abgelegten digitalen Daten, insbesondere Adressdaten.The invention relates to a selection method for execution on a digital computer to optimize the selection and access speed of digital data stored on a storage medium, in particular address data.
Die gegenwärtige Epoche wird häufig alsThe current epoch is often called
"Informationszeitalter" bezeichnet. Dies hängt zusammen mit der durch die elektronische Datenverarbeitung zur Verfügung gestellte Möglichkeit, Informationen in großer Menge innerhalb vergleichsweise kurzer Zeit zu verarbeiten. Symptomatisch ist die sich ständig vergrößernde Anzahl von Datenbanken, die es dem Nutzer ermöglichen sollen, die von ihm benötigten oder gewünschten Informationen zu erhalten."Information Age" referred to. This is related to the possibility provided by electronic data processing to process large amounts of information within a comparatively short time. Symptomatic is the constantly increasing number of databases, which should enable the user to get the information he needs or wants.
In diesem Zusammenhang sind insbesondere Adressdatenbanken besonders hervorzuheben. Sie gewinnen vor allem im Geschäftsleben zunehmend an Bedeutung, wenn es darum geht, Kontakte aufzubauen zu möglichen Lieferanten, Kunden, Vertriebs- und Kooperationspartnern oder dgl . , die ein ganz spezifisches Anforderungsprofil aufweisen, d.h. spezifische Kriterien erfüllen.In this context, address databases are particularly noteworthy. They are becoming increasingly important, especially in business life, when it comes to establishing contacts with potential suppliers, customers, sales and cooperation partners or the like. which have a very specific requirement profile, i.e. meet specific criteria.
Gerade auf dem Gebiet von Adressdatenbanken ist eine hohe Flexibilität des Datenbanksystems besonders wichtig. Grund hierfür ist, daß gerade bei umfassenden Adressdatenbanken praktisch permanent irgendwelche Änderungen an den Einträgen vorzunehmen sind. So kann ein eingetragenes Unternehmen beispielsweise seine Produktpalette erweitern, mit einer anderen - eingetragenen oder nicht eingetragenen - Firma fusionieren, einen eine bestimmte Produktgruppe betreffenden Firmen-
teil ausgliedern, seinen Sitz verlegen, die Firmierung ändern, in Konkurs gehen und vieles andere mehr. Nur dann, wenn die Adressdatenbank immer auf dem neuesten Stand ist, indem sie auf entsprechende Änderungen kurzfristig reagiert, ist sie für den Anwender interessant. Weitere wichtige Kriterien neben der Aktualität der Datenbank sind die Anzahl der eingetragenen Datensätze, die Spezifiziertheit der zu jedem Datensatz zur Verfügung gestellten Informationen bzw. Auswahlkriterien sowie die Auswahl- und Zugriffsgeschwindigkeit.A high level of flexibility in the database system is particularly important in the area of address databases. The reason for this is that, especially with extensive address databases, any changes to the entries have to be made practically permanently. For example, a registered company can expand its product range, merge with another - registered or unregistered - company, a company relating to a certain product group. Outsource part, relocate, change company name, go bankrupt and much more. Only if the address database is always up-to-date by reacting to corresponding changes at short notice is it of interest to the user. In addition to the up-to-dateness of the database, other important criteria are the number of data records entered, the specificity of the information or selection criteria provided for each data record, and the selection and access speed.
Die Mehrzahl der heute verwendeten Datenbanken basieren auf dem hierarchischen Datenmodell, dem Netzwerk- Datenmodell oder dem relationalen Datenmodell. Während die ersten beiden Datenmodelle eine bäum- bzw. netzförmige Struktur aufweisen, beruht das relationale Datenmodell auf Tabellen. Dabei werden alle Informationen einer Datenbank, also sowohl die Objekte wie auch ihre Beziehungen auf die gleiche Art durch Tabellen dargestellt. Beziehungen zwischen Objekten sind vorhanden, wenn ein Wert in mehreren Relationen vorkommt. Erst bei einer Anfrage an die Datenbank werden vorhandene Beziehungen aktiviert. Die Durchführung von Abfragen ist relativ aufwendig, denn die Relationen unterstützen keinen schnellen Suchalgorithmus . Entweder müssen die einzelnen Tupel sequentiell nach einem Merkmal durchsucht werden, oder der Algorithmus muß effizienzsteigernde Hilfdatenstrukturen selbst erzeugen.The majority of the databases used today are based on the hierarchical data model, the network data model or the relational data model. While the first two data models have a tree or network structure, the relational data model is based on tables. All information in a database, i.e. both the objects and their relationships, are represented in the same way by tables. Relationships between objects exist when a value occurs in several relations. Existing relationships are only activated when the database is queried. The execution of queries is relatively complex because the relations do not support a fast search algorithm. Either the individual tuples have to be searched sequentially for a feature, or the algorithm itself has to generate efficiency-enhancing auxiliary data structures.
Bestehende Adressdatenbanken arbeiten mit indexierten Feldern. Die dynamische Pflege des Datenbestandes derartiger Datenbanken ist schwierig und aufwendig. Veränderungen innerhalb eines Eintrages, beispielsweise die Erweiterung der Produktpalette eines eingetragenen
Herstellers, erfordern häufig die Anlage neuer Felder; entsprechendes gilt häufig im Falle von Neueintragungen. Dies macht die Änderung der Programmierung erforderlich, um die Abfrage der neuen Felder zu ermöglichen. Eine den hohen Anforderungen der Nutzer entsprechende Aktualität läßt sich bei derartigen Adressdatenbanken nicht erreichen, schon gar nicht bei einer großen Zahl von Einträgen.Existing address databases work with indexed fields. The dynamic maintenance of the database of such databases is difficult and complex. Changes within an entry, for example expanding the product range of a registered one Manufacturers, often require the creation of new fields; The same often applies in the case of new entries. This makes it necessary to change the programming in order to be able to query the new fields. An up-to-dateness corresponding to the high demands of the users cannot be achieved with such address databases, especially not with a large number of entries.
Was die Auswahl- und Zugriffsgeschwindigkeit anbelangt, so wird bei Verwendung bisheriger Datenbanksysteme die Verkürzung der Rechenzeit im allgemeinen durch Verwendung leistungsfähiger Hochleistungsrechner bewerkstelligt, die jedoch eine natürliche Leistungsgrenze aufweisen und aus wirtschaftlichen Gründen nur in wenigen Fällen zum Einsatz kommen können. Insbesondere bei der Online-Abfrage von Datenbankinformationen in Netzwerkdatenbanken ist aber eine Minimierung der Rechenzeit unbedingt erforderlich, um unnötige Wartezeiten Online und damit erhöhte Abfragekosten zu vermeiden.As far as the selection and access speed is concerned, when using previous database systems, the computing time is generally reduced by using powerful high-performance computers which, however, have a natural performance limit and can only be used in a few cases for economic reasons. In particular, when querying database information online in network databases, it is essential to minimize the computing time in order to avoid unnecessary online waiting times and thus increased query costs.
Aufgabe der vorliegenden Erfindung ist es daher, ein verbessertes Auswahlverfahren für digitale Daten, insbesondere für Adressdaten, zu schaffen, welches selbst bei großen Datenmengen relativ geringe Anforderungen an die Hardware stellt und durch eine besonders kurze Auswahl- und Zugriffsgeschwindigkeit insbesondere für den Online-Betrieb in NetzWerkdatenbanken geeignet ist .It is therefore an object of the present invention to provide an improved selection method for digital data, in particular for address data, which places relatively low demands on the hardware even with large amounts of data and, through a particularly short selection and access speed, in particular for online operation in Network databases is suitable.
Diese Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst .This object is achieved with the features of claim 1.
Dabei sieht ein zur Ausführung auf einem digitalen Rechner geeignetes Auswahlverfahren zur Optimierung der
Auswahl- und Zugriffsgeschwindigkeit von auf einem Speichermedium abgelegten digitalen Daten vor, daß die Daten in einem Datenfeld strukturiert abgelegt sind und daß im Rahmen einer Abfrage zunächst einzelne Suchkriterien betreffende Suchvektoren logisch miteinander verknüpft werden, bevor der hieraus resultierende Ergebnisvektor zur Auswahl von Datensätzen, die die gewünschten Suchkriterien kumulativ erfüllen, mit dem Datenfeld verknüpft wird. Auf diese Weise werden zunächst lediglich Suchvektoren, welche jeweils einem bestimmten Suchkriterium bzw. Suchbegriff zugeordnet sind und die Information enthalten, welcher Datensatz dieses Kriterium erfüllt, logisch miteinander verknüpft, insbesondere über die UND-, ODER- und NICHT- Funktion. Die zu bewegende Datenmenge ist somit zunächst minimal, insbesondere wenn nur diejenigen Suchvektoren bewegt werden, die in der betreffenden Anfrage bzw. Auswahl tatsächlich von Interesse bzw. Bedeutung sind. Doch selbst dann, wenn im Online- Betrieb zu Beginn einer Abfrage sämtliche für die Auswahl zur Verfügung stehenden Suchvektoren zum Nutzer der Datenbank übertragen werden, bedarf es hierfür aufgrund der vergleichsweise kleinen Datenmenge nur einer minimalen Übertragungszeit . Erst am Ende der Verknüpfungsoperation zwischen den Suchvektoren wird der resultierende Vektor mit dem Datenfeld verknüpft und die entsprechenden Daten bzw. Datensätze, die jeweils nur einmal vorhanden sind, aus dem abgelegten Datenfeld ausgelesen. Dadurch, daß lediglich kleine Datenmengen bewegt werden und daß lediglich logische Verknüpfungen und keine sequentiellen Abfragen erfolgen, ist es möglich, selbst bei größten Datenmengen in sehr kurzer Zeit ein gewünschtes Abfrageergebnis zu erhalten. Auf diese Weise können auch weniger leistungsfähige Rechenanlagen zum Verwalten und Abfra-
gen komplexer Datenbestände verwendet werden. Das Datenfeld kann dabei zellenförmig aufgebaut sein, wobei jede Zeile alle gewünschten Informationen über einen Eintrag enthält. Dabei ist es vorteilhaft, daß die Datenfelder statisch sind, d.h. die maximale Anzahl der eintragbaren Datensätze bereits vorgegeben ist . Bei einem Datenfeld, das noch nicht seinen Endzustand erreicht hat, werden die verbleibenden freien Zeilen durch Nullen markiert. Die Erstellung von Suchvektoren erfolgt durch Gruppierung von Daten, wie beispielsweise Länderzugehörigkeit, etc. Die Suchvektoren können, müssen jedoch nicht, bereits im Vorfeld - ggf. automatisch - erstellt werden und stehen dann bei der Abfrage bereits zur Verfügung.This provides a selection process suitable for execution on a digital computer to optimize the Selection and access speed of digital data stored on a storage medium before that the data is stored in a structured manner in a data field and that search vectors relating to individual search criteria are logically linked to one another before the resulting result vector for the selection of data records which the cumulatively meet the desired search criteria with which the data field is linked. In this way, initially only search vectors, which are each assigned to a specific search criterion or search term and contain the information as to which data record fulfills this criterion, are logically linked to one another, in particular via the AND, OR and NOT functions. The amount of data to be moved is initially minimal, in particular if only those search vectors are moved that are actually of interest or meaning in the query or selection in question. However, even if all search vectors available for selection are transmitted to the user of the database in online operation at the beginning of a query, this requires only a minimal transmission time due to the comparatively small amount of data. Only at the end of the linking operation between the search vectors is the resulting vector linked to the data field and the corresponding data or data records, which are only available once, are read from the stored data field. The fact that only small amounts of data are moved and that only logical links and no sequential queries take place make it possible to obtain a desired query result in a very short time, even with large amounts of data. In this way, less powerful computing systems can be managed and queried. complex data sets can be used. The data field can have a cellular structure, with each line containing all the desired information about an entry. It is advantageous that the data fields are static, ie the maximum number of data records that can be entered has already been specified. For a data field that has not yet reached its final state, the remaining free lines are marked with zeros. Search vectors are created by grouping data, such as country affiliation, etc. The search vectors can, but do not have to, be created in advance - possibly automatically - and are then already available when queried.
Im Sinne des vorstehend Gesagten zeichnet sich eine bevorzugte Weiterbildung der Erfindung durch eine regelmäßige automatische Erstellung von Suchvektoren aus. Dabei werden sämtliche Datensätze - vornehmlich nachts - automatisch durchgelesen, und all diejenigen Datensätze, die ein bestimmtes Suchkriterium erfüllen, werden in dem diesem Kriterium entsprechenden Suchvektor vermerkt . So erhält im Falle einer Adressdatenbank beispielsweise der Suchvektor "LänderZugehörigkeit Taiwan" an all den Stellen eine Eins, wo der zugeordnete Datensatz irgendeinen Hinweis auf Taiwan gibt, beispielsweise in Form der Vorwahl- Nummer ++886 bei der Telefon- bzw. Telefaxnummer, durch die Länderkürzel ROC oder TW bei der Adressangabe oder durch sonstige Merkmale. Gemäß einem weiteren Beispiel erhält der Suchvektor "Verband" an all den Stellen eine Eins, wo in dem entsprechenden Datensatz in der Bezeichnung das Wort "Verband" enthalten ist. Während ein und desselben Durchlaufs können mehrere Listen (bzw. Suchvektoren) gleichzeitig erstellt bzw.
aktualisiert werden. Bei einer täglich automatisch ablaufenden Suchvektoren-Routine stehen somit stets aktuellste Suchvektoren zur Durchführung von beliebigen Abfragen zur Verfügung. Die für die jeweilige Abfrage benötigte Zeit bleibt trotzdem minimal. Denn statt der Durchführung entsprechender Queries während der Abfrage sind die Suchvektoren, die das Ergebnis jener automatisch ablaufendem Suchvektoren-Routine darstellen, ausgelagert und stehen bereits zu Beginn der Abfrage zur Verfügung, um mit minimalem Aufwand in den Arbeitsspeicher der Datenverarbeitungsanlage des Anfragenden heruntergeladen zu werden. Dies gilt selbst dann, wenn tausende von Listen bzw. Suchvektoren aufbereitet sind.In the sense of the above, a preferred development of the invention is characterized by a regular automatic creation of search vectors. All data records - primarily at night - are read automatically, and all those data records that meet a specific search criterion are noted in the search vector corresponding to this criterion. In the case of an address database, for example, the search vector "country affiliation Taiwan" is given a one at all the places where the assigned data record gives some indication of Taiwan, for example in the form of the prefix number ++ 886 for the telephone or fax number, by the Country code ROC or TW when specifying the address or other characteristics. According to a further example, the search vector “association” is given a one at all those places where the word “association” is contained in the corresponding data record in the description. During the same run, several lists (or search vectors) can be created or be updated. With a search vector routine that runs automatically every day, the most up-to-date search vectors are therefore always available for carrying out any queries. The time required for each query remains minimal. Instead of carrying out corresponding queries during the query, the search vectors, which are the result of that automatically running search vector routine, are outsourced and are available at the start of the query so that they can be downloaded into the main memory of the data processing system of the requester with minimal effort. This applies even if thousands of lists or search vectors have been prepared.
Vorteil des beschriebenen Verfahrens ist es, daß ein konventioneller digitaler Rechner als schnelle Online- Datenbank genutzt werden kann. Dabei sind keine "Superrechner" erforderlich, da die Zugriffsgeschwindigkeit auch bei komplexen Abfragen sehr hoch und der Speicherbedarf im Vergleich zu konventionellen Datenbanken sehr klein ist. Dies beruht u.a. darauf, daß alle Daten nur einmal auftauchen, weshalb die bewegte Datenmenge gering ist . So läßt sich in Anwendung der Erfindung mit einer Standard-Hardware beispielsweise eine Adressdatenbank betreiben, die bei 3 Mio. eingetragenen Adressen und 1000 verfügbaren Suchkriterien, von denen in einer Abfrage beispielsweise zehn miteinander verkünpft werden, das Abfrageergebnis innerhalb von Sekunden liefert. Vergleichbares ist in Anwendung bekannter Datenbanksysteme selbst bei um ein Vielfaches größerem Hardware-Aufwand nicht möglich.The advantage of the described method is that a conventional digital computer can be used as a fast online database. No "supercomputers" are required, since the access speed is very high even with complex queries and the memory requirement is very small compared to conventional databases. This is based, among other things, on make sure that all data appear only once, which is why the amount of data moved is small. Thus, using the invention, standard address hardware can be used, for example, to operate an address database which, with 3 million addresses entered and 1000 search criteria available, of which ten are combined in a query, for example, delivers the query result within seconds. Comparable is not possible in the use of known database systems, even if the hardware expenditure is many times greater.
Eine nach dem erfindungsgemäßen Verfahren arbeitende Adressdatenbank kann zudem überaus flexibel auf
jegliche Änderung reagieren; eine Änderung der Programmierung ist selbst bei Hinzufügen von Suchvektoren nicht erforderlich. Dies gestattet dem Nutzer einer Adressdatenbank sogar die Erstellung eigener, selbstdefinierter Suchvektoren, die im Rahmen seiner Abfrage berücksichtigt werden können; so kann beispielsweise ein Suchvektor "schwarze Schafe", in dem allen Einträgen eine Eins zugeordnet ist, mit denen in der Vergangenheit schlechte Erfahrungen gemacht wurden, bei der Abfrage über die NICH -Funktion mit den übrigen Suchvektoren verknüpft werden, wodurch eben jene "schwarzen Schafe" von vornherein ausgeschlossen werden. Auch die Ergebnisvektoren früherer Abfragen können als anwenderspezifische Suchvektoren für zukünftige Abfragen gespeichert werden. Alles dies dokumentiert die ungeahnte Flexibilität des erfindungs- gemäßen Verfahrens. Ein weiterer Vorteil ist es, daß Suchvektoren erstellt werden können, ohne den Datenbankbestand zu blockieren. D.h., während bei konventionellen Datenbanken bei der Erstellung von Key-Feldern für die Datenabfrage zumindest ein Teil der Daten für gewisse Zeit blockiert ist, geht beim vorliegenden Verfahren der normale Mehrbenutzer (Multiuser) Betrieb weiter, während neue Suchvektoren erstellt bzw. aktualisiert werden. Damit ist das Verfahren bestens für den Betrieb in einer Multiuser-Netzwerkdatenbank geeignet . Außerdem sind mit dem erfindungsgemäßen Verfahren Abfragen durchführbar, die in einer konventionellen Datenbank, die mit Key-Feldern arbeitet, nicht möglich sind. So können beispielsweise alle Aussteller auf einer Messe mit dem entsprechenden Suchvektor in kürzester Zeit ermittelt werden, ohne daß diese Information notwendigerweise im Datenfeld selbst vorhanden ist.
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, daß jeweils ein Suchvektor bestehend aus Nullen und Einsen einem bestimmten Suchkriterium bzw. Suchbegriff zugeordnet ist. So weist beispielsweise bei einer Adressdatenbank der Suchvektor "Sitz in Deutschland" jeweils dort Einsen auf, wo entsprechende Einträge im Datenfeld vorhanden sind, wogegen andere Ländereinträge zu einer Null im entsprechenden Suchvektor führen. Bei einer gegebenen Wortbreite des Prozessors von b bits können so b Abfragen mit einer einzigen CPU-Instruktion abgefragt werden. Die Datensätze der Suchvektoren sind nämlich durchschnittlich um den Faktor n x 10° bit kleiner als diejenigen Datensätze bei sequenziellen Abfragen komplexer Begriffe in konventionellen Datenbanken. Auch ist die logische Verknüpfung von Nullen und Einsen wesentlich maschinennäher als die Verwendung komplexer Suchbegriffe. Schließlich ist die sehr gute Ko primierbarkeit der Suchvektoren vorteilhaft bei Netzwerkabfragen. Somit wird durch die Verwendung derartiger Suchvektoren die Rechen- und Übertragungsgeschwindigkeit erhöht und der Speicherbedarf verringert .An address database working according to the method according to the invention can also be extremely flexible respond to any change; It is not necessary to change the programming even when adding search vectors. This even allows the user of an address database to create his own, self-defined search vectors that can be taken into account in his query; For example, a search vector "black sheep", in which a one is assigned to all entries with which bad experiences have been made in the past, can be linked to the other search vectors when queried via the NICH function, as a result of which "black sheep""be excluded from the outset. The result vectors of previous queries can also be saved as user-specific search vectors for future queries. All of this documents the unimagined flexibility of the method according to the invention. Another advantage is that search vectors can be created without blocking the database. That is, while, in conventional databases, at least some of the data is blocked for a certain period of time when key fields are created for data retrieval, normal multiuser operation continues in the present method, while new search vectors are created or updated. The method is therefore ideally suited for operation in a multiuser network database. In addition, the method according to the invention can be used to carry out queries that are not possible in a conventional database that works with key fields. For example, all exhibitors at a trade fair can be identified in a very short time using the corresponding search vector, without this information necessarily being available in the data field itself. An advantageous development of the method according to the invention provides that in each case a search vector consisting of zeros and ones is assigned to a specific search criterion or search term. For example, in the case of an address database, the search vector “headquarters in Germany” has ones where the corresponding entries are present in the data field, whereas other country entries lead to a zero in the corresponding search vector. Given a processor word width of b bits, b queries can be queried with a single CPU instruction. The data sets of the search vectors are namely on average a factor of nx 10 ° bit smaller than those data sets for sequential queries of complex terms in conventional databases. The logical combination of zeros and ones is much closer to the machine than the use of complex search terms. Finally, the very good ability to coordinate the search vectors is advantageous for network queries. Thus, the use of such search vectors increases the computing and transmission speed and reduces the memory requirement.
Des weiteren sieht eine vorteilhafte Ausführungsform vor, daß bei der logischen Verknüpfung der Suchvektoren zunächst ein Validierungsvektor vorgeschaltet wird. Dies heißt, daß im Validierungsvektor nur an Stellen, wo gültige Einträge vorhanden sind, Einsen stehen und ansonsten Nullen auftauchen. Dies ist beispielsweise dann erforderlich, wenn alte Einträge eines Datensatzes ungültig gemacht werden sollen. Dann würde vor diesem Datensatz im Validierungsvektor eine Null stehen. Der Datensatz läßt sich unter entsprechender Abänderung des Validierungsvektors an der betreffenden Stelle auch
lediglich vorübergehend ungültig machen, beispielsweise wenn - bei einer Lieferantendatenbank - die betreffende Firma vorübergehend Lieferschwierigkeiten hat . Hier wird wieder die besonders hohe Flexibilität des erfindungsgemäßen Verfahrens deutlich.Furthermore, an advantageous embodiment provides that when the search vectors are logically linked, a validation vector is first connected upstream. This means that in the validation vector, there are ones only in places where there are valid entries and otherwise zeros appear. This is necessary, for example, if old entries in a data record are to be invalidated. Then there would be a zero in front of this data record in the validation vector. The data record can also be changed by changing the validation vector accordingly only make it temporarily invalid, for example if - in the case of a supplier database - the company concerned has temporary delivery difficulties. Here again the particularly high flexibility of the method according to the invention becomes clear.
Weiterhin ist es vorteilhaft, wenn sämtliche gerade benötigten Suchvektoren in den Arbeitsspeicher geladen werden. Dies erhöht die Berechnungsgeschwindigkeit und verkürzt somit die Rechenzeit. Das Verfahren ist selbst mit einer Standard-Hardware-Ausstattung durchführbar, da die Suchvektoren nur eine sehr geringe Speicherkapazität benötigen.It is also advantageous if all the search vectors that are currently required are loaded into the main memory. This increases the calculation speed and thus shortens the calculation time. The method can even be carried out with standard hardware equipment, since the search vectors require only a very small storage capacity.
Außerdem sieht eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens vor, daß die Suchvektoren bei Neueinträgen in die Datenbank automatisch angepaßt werden. Dies bedeutet, daß bei jedem Neueintrag eine Überprüfungsroutine durchlaufen wird, die die den Suchvektoren entsprechenden Suchkriterien bzw. Suchbegriffe bei diesem einen Eintrag abfragt und dem jeweiligen Suchvektor an der diesen Eintrag entsprechenden Position in Abhängigkeit von der Eingabe eine Eins bzw. Null zuweist. Es können aber auch die Ergebnisvektoren, die aus einer Verknüpfung von Suchvektoren bei einer früheren Abfrage hervorgegangen sind, z.B. Mailingliste '97, als neuer Suchvektor abgelegt werden.In addition, an advantageous development of the method according to the invention provides that the search vectors are automatically adapted when new entries are made in the database. This means that a check routine is run with each new entry, which queries the search criteria or search terms corresponding to the search vectors for this one entry and assigns one or zero to the respective search vector at the position corresponding to this entry, depending on the input. However, the result vectors which resulted from a combination of search vectors in an earlier query can also be used, e.g. Mailing list '97, are saved as a new search vector.
Weiterhin sieht eine vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens vor, daß die digitalen Daten auf einem Festspeicher als nicht flüchtigen Speichermedium abgelegt werden. Dies kann beispielsweise eine Festplatte, ein Datenband, CD-ROM, EPROM oder Diskette sein.
Schließlich ist vorteilhafterweise die Verwendung eines derartigen Verfahrens auf einem digitalen Rechner (Server) in einem Netzwerk zur Online-Abfrage einer Netzwerkdatenbank vorgesehen, da gerade bei Online- Abfragen hohe Zugriffs- und Abfragegeschwindigkeiten erforderlich sind, um unnötige Kosten aufgrund Rechenzeit bzw. Hardwareeinsatz zu vermeiden. Außerdem wird hierdurch ein effizienter Mehrbenutzer-Betrieb gewährleistet. Die Suchvektoren können ohne Eingriff in das Datenfeld erstellt werden, wodurch die Ausfallzeiten gering sind.Furthermore, an advantageous embodiment of the method according to the invention provides that the digital data are stored on a read-only memory as a non-volatile storage medium. This can be, for example, a hard disk, a data tape, CD-ROM, EPROM or floppy disk. Finally, the use of such a method on a digital computer (server) in a network for online query of a network database is advantageously provided, since high access and query speeds are required especially in the case of online queries in order to avoid unnecessary costs due to computing time or hardware use . This also ensures efficient multi-user operation. The search vectors can be created without intervention in the data field, which means that downtimes are low.
Im Folgenden wird die Erfindung anhand zweier Beispiele näher erläutert. Darin wird jeweils von einem Adressenfeld mit n Datensätzen ausgegangen. Bei der Abfrage wird zunächst der Validierungsvektor mit n Zeilen vorgeschaltet, der für jeden gültigen Eintrag eine Eins aufweist .The invention is explained in more detail below with the aid of two examples. An address field with n data records is assumed in each case. The query is preceded by the validation vector with n lines, which has a one for each valid entry.
Im Beispiel 1 ist das Adressenfeld mit n Einträgen voll besetzt. Bei der Abfrage wird zunächst der Validierungsvektor vorgeschaltet und durch "und" mit einem ersten Suchvektor, der die im Adressenfeld aufgelisteten Abonnenten auflistet, logisch verknüpft. Des weiteren wird ein Suchvektor, der die im Adressenfeld aufgelisteten Teilnehmer am Lastschriftverfahren anzeigt, ebenfalls durch "und" verbunden. Der resultierende Vektor wird dann mit dem Adressenfeld verknüpft, und als Ergebnis erhält man die gewünschten Datensätze.
B e i s p i e lIn example 1, the address field is fully populated with n entries. When queried, the validation vector is first connected in front and logically linked by "and" to a first search vector that lists the subscribers listed in the address field. Furthermore, a search vector which indicates the participants in the direct debit procedure listed in the address field is also connected by "and". The resulting vector is then linked to the address field and the result is the desired data sets. Example
Adressenfeld:Address field:
1 Hans Mustermann, 2 Paul Meyer, ... 3 Karl Müller, ... 4 Rudi Hörig, ...1 Hans Mustermann, 2 Paul Meyer, ... 3 Karl Müller, ... 4 Rudi Hörig, ...
n Egon Zecher, ...
n Egon Zecher, ...
Suchvektoren:Search vectors:
Validierungs- Suchvektor Suchvektor Suchvektor vektorValidation search vector Search vector Search vector
"gültiger "Abonnent" "Lieferant" "LastschriftEintrag" verfahren""valid" subscriber "" supplier "" direct debit entry "proceed"
Abfrage :Query:
gültiger Eintrag und Abonnement und Lastschriftverfahrenvalid entry and subscription and direct debit
1 Hans Mustermann, Hans Mustermann, 0 Paul Meyer, ... 0 0 Karl Müller, ... 01 Hans Mustermann, Hans Mustermann, 0 Paul Meyer, ... 0 0 Karl Müller, ... 0
1 und Rudi Hörig, ... Rudi Hörig, ...1 and Rudi Hörig, ... Rudi Hörig, ...
Falls die diversen Suchvektoren an "ungültigen" Stellen ohnehin mit Nullen vorbesetzt sind, wird kein Validierungsvektor benötigt.If the various search vectors are already filled with zeros at "invalid" places, no validation vector is required.
Im Beispiel 2 ist das für n Einträge vorbereitete Adressfeld nicht voll besetzt. An den nichtbesetzten Stellen weist der Validierungsvektor den Eintrag 0 auf. Das Beispiel veranschaulicht die Abfrage eines zahntechnischen Labors an eine Adressdatenbank zur Vorbereitung eines Mailings, das dem Aufbau neuer Geschäftsbeziehungen dienen soll. Das Mailing soll sich dabei richten an sämtliche Zahnärzte, deren Praxis im deutschen Postleitzahlbereich 8 liegt, soweit es sich nicht um Zahnärzte mit einem angeschlossenen Labor handelt; ferner sollen bestehende eigene Kunden das Mailing nicht erhalten. Zur Durchführung dieser Abfrage
werden der Validierungsvektor, der Suchvektor "Zahnarzt" und der Suchvektor "deutscher Postleitzahlbereich 8" über die UND-Funktion miteinander und über die NICHT-Funktion mit dem Suchvektor "Zahnlabor" und dem Suchvektor "eigener Kunde" verknüpft. Der Ergebnisvektor wird dann mit dem Adressenfeld verknüpft, und als Ergebnis erhält man die gewünschten Datensätze.In example 2, the address field prepared for n entries is not fully occupied. The validation vector has the entry 0 at the vacant positions. The example illustrates the query of a dental laboratory to an address database to prepare a mailing that is to be used to establish new business relationships. The mailing is intended for all dentists whose practice is in the German postcode area 8, unless it is a dentist with an attached laboratory; furthermore, existing own customers should not receive the mailing. To perform this query the validation vector, the search vector "dentist" and the search vector "German postcode area 8" are linked to one another via the AND function and via the NOT function to the search vector "dental laboratory" and the search vector "own customer". The result vector is then linked to the address field and the result is the desired data records.
B e i s p i e lExample
Adressenfeld:Address field:
1 A.B.1 A.B.
2 CD.2 CD.
3 E.F.3 E.F.
4 G.H.4 G.H.
5 I.K.5 I.K.
6 L.M.6 L.M.
7 N.O.7 N.O.
8 P.Q.8 P.Q.
n-1 leer n leer
n-1 empty n empty
Suchvektoren :Search vectors:
Validierungs- Suchvektor Suchvektor Suchvektor Suchvektor ve torValidation search vector Search vector Search vector Search vector ve tor
"gültiger "Zahnarzt" "Zahnlabor" "DE-P Z- "eigener Eintrag" Bereich 8" Kunde""valid" dentist "" dental laboratory "" DE-P Z- "own entry" area 8 "customer"
1 2 3 4 5 6 7 81 2 3 4 5 6 7 8
Abfrage:Query:
gültiger Eintrag eines Zahnarztes ohne eigenes Labor im Postleitzahlbereich 8, der nicht eigener Kunde istValid entry of a dentist without his own laboratory in postcode area 8 who is not his own customer
Ergebnisvektor Adressfeld Result vector address field
Das Mailing wird an A.B . und ai i P.Q. verschickt .
The mailing is sent to A.B. and ai i P.Q. sent.