<Desc/Clms Page number 1>
Procédé pour introduire, mettre en mémoire, collationner et extraire des données
La présente invention concerne l'introduction, la mise en mémoire, le collationnement et l'extraction de données dans un système de base de données informatisé comportant des dispositifs de mise en mémoire qui sont généralement des disques fixes. Plus particulièrement, l'invention concerne un procédé dans lequel il existe une très grande quantités de données mises en mémoire à tout moment (de l'ordre de centaines de millions de bytes) et dans lequel il existe également un passage de données très important impliquant qu'une proportion importante des bytes est retranscrite dans les dispositifs de mise en mémoire au cours d'une journée.
Plus particulièrement, l'invention concerne un procédé dans lequel les données doivent être collationnées de différentes manières suivant les instructions reçues d'un utilisateur.
Un exemple de situation nécessitant un procédé de ce genre est celui d'un système de gestion de coupons pour des coupons de vente, qui sont préparés par les fabricants de marchandises et-qui sont envoyés soit directement aux clients, soit aux revendeurs pour leur distribution. Ces coupons sont utilisés pour l'achat de marchandises aux points de vente au détail. Pour le remboursement de ces coupons, le revendeur renvoie les
<Desc/Clms Page number 2>
coupons à un magasin central où les coupons sont triés et classés par catégorie par le fabricant, suivant le type de produit et suivant leur valeur. D'une manière générale, un fabricant particulier peut avoir des centaines de type de produits différents et, dans chaque type de produit, il peut y avoir plusieurs valeurs de coupons différentes.
Le procédé de la présente invention comprend l'introduction et la mise en mémoire des données provenant des coupons reçus, le collationnement des données et la production de nombreux rapports différents indiquant les modes d'achat des consommateurs, les performances des fabricants, les performances des revendeurs et l'avantage du coupon pour la vente de tout type de produit particulier. Il existe seulement un petit nombre de type de rapports pouvant être produits par le collationnement des informations.
Quand tous les rapports nécessaires ont été produits, les données peuvent être remplacées par de nouvelles données reçues et provenant des coupons, des millions de coupons arrivant chaque semaine.
Jusqu'à présent, un procédé de ce genre nécessitait la création d'une base de données pour chacun des paramètres de données primaires. Pour le collationnement des données, un processeur devait comparer la référence croisée (en utilisant éventuellement des techniques de bases de données relationnelles), différentes bases de données afin de retrouver toutes les données souhaitées et utiliser ensuite les données collationnées pour produire des instructions d'impression pour un rapport. Ce procédé présente, toutefois, comme inconvénient important, qu'il faut une capacité de traitement très importante pour réaliser les millions d'accès qui sont requis pour la multiplicité des références croisées à effectuer pour chaque catégorie de données.
Dans cette situation, la corruption des données
<Desc/Clms Page number 3>
peut se produire facilement et, à cause de la complexité du procédé, des boucles fermées peuvent s'introduire dans le processeur, ce qui diminue fortement l'efficacité du traitement. Un autre inconvénient est le fait qu'il faut une capacité de mise en mémoire très importante pour les bases de données et que le temps d'adressage est augmenté en conséquence.
L'invention vise à proposer un procédé permettant de surmonter ces difficultés.
Conformément à la présente invention, il est prévu un procédé pour introduire, mettre en mémoire, collationner et extraire des données, le procédé étant effectué par un processeur connecté à plusieurs dispositifs de mise en mémoire et à des interfaces d'entrée et de sortie, le procédé comprenant les étapes suivantes : initialiser les dispositifs de mise en mémoire en : déterminant les paramètres des données et l'ordre hiérarchique des paramètres ; assignant séquentiellement des structures d'emplace- ment de mémoire dans le dispositif de mise en mémoire pour : une base de données ; plusieurs tableaux dans la base de données, correspondant chacun à une valeur du paramètre de premier ordre ; plusieurs enregistrements dans chaque tableau, chaque enregistrement correspondant à une valeur du paramètre de deuxième ordre ;
et plusieurs zones dans chaque enregistrement, chaque zone correspondant à une valeur du paramètre de troisième ordre ; produisant et mettant en mémoire des cartes de pixels d'interface d'entrée pour introduire des données et des instructions pour la reprise, le collationnement
<Desc/Clms Page number 4>
et l'extraction des données, chaque carte de pixels d'interface étant associée à un tableau du dispositif de mise en mémoire ; produisant un ensemble de programmes de reprise de collationnement et de sortie associé à un ensemble de tableaux, chaque programme étant associé à une combinaison d'instructions ; produisant un tableau de références croisées relatif à chaque combinaison possible d'instructions reçues avec le programme correspondant ;
recevoir une valeur pour le paramètre de premier ordre à l'interface d'entrée et reprendre et afficher la carte de pixels d'entrée de données correspondante et en recevant ensuite les données ; mettre en mémoire les données reçues aux emplacements de mémoire indiqués ; recevoir une valeur pour le paramètre de premier ordre à l'interface d'entrée et reprendre et afficher la carte de pixels d'entrée d'instruction correspondant ; recevoir des instructions ; combiner les instructions reçues, accéder au tableau de références croisées et reprendre un programme indiqué dans le tableau de références croisées ; faire adresser par le processeur les emplacements de mémoire, reprendre les données et collationner les données reprises sous le contrôle du programme choisi ; et extraire les données collationnées.
Le procédé comprend, de préférence, l'étape supplémentaire consistant à analyser les données collationnées et à vérifier le format des données collationnées avec un format de référence et à modifier ultérieurement le format si la référence ne correspond pas.
L'invention sera mieux comprise grâce à la description ci-après de certains de ses modes de réalisation préférés donnés à titre d'exemples uniquement
<Desc/Clms Page number 5>
et en se référant aux figures en annexe, qui sont respectivement :
La figure 1, une vue schématique d'une structure de base de données créée par un procédé de la présente invention,
Les figures 2 et 3, des diagrammes synoptiques représentant le procédé.
Si l'on examine les figures, on peut y voir une structure de base de données 1 (voir figure 1) qui est produite par le procédé pour introduire, mettre en mémoire, collationner et extraire les données, comme le montre les diagrammes synoptiques des figures 2 et 3. Les étapes 15 à 22 de la figure 2 constituent les étapes de création d'une structure de base de données pour initialiser le dispositif de mise en mémoire, tandis que les étapes 30 à 39 de la figure 3 représentent les étapes d'un procédé effectué par le système de base de données.
Le procédé de la présente invention est effectué par un système de base de données informatisé en utilisant une unité de traitement de centrale d'un mini-ordinateur connecté aux interfaces d'entrée et de sortie, c'est-àdire aux terminaux et à différentes imprimantes à impacts et à laser. Les dispositifs de stockage, qui sont, dans ce mode de réalisation, des disques fixes, sont connectés également à l'unité de traitement centrale. La construction particulière de l'unité de traitement centrale et les différents éléments de matériels connectés à celle-ci ne seront pas décrits en détail, vu qu'ils ne constituent pas une partie essentielle de l'invention. Le procédé de l'invention peut être mis en oeuvre en utilisant tout processeur approprié ayant la capacité requise pour la quantité de données à traiter.
Si l'on met en oeuvre le procédé avec tout processeur approprié, on peut obtenir une efficacité améliorée et une diminution des risques de corruption des données.
<Desc/Clms Page number 6>
La figure 1 représente une partie du système de base de données qui comprend des bus 2 d'adresses et de données bidirectionnels connectés à des dispositifs de mise en mémoire, c'est-à-dire aux disques fixes 3,4 et 5.
Le disque 3 a une capacité de 50 megabyte et est destiné à être utilisé pour la mise en mémoire des programmes comme décrit ci-après. Le disque 4 a une capacité de 600 megabyte et est utilisé pour mettre en mémoire une masse de données et, finalement, le disque 5 a une capacité de 320 megabyte et est utilisé pour mettre en mémoire des cartes de pixels d'interface d'entrée et certains programmes, comme décrit également ci-après.
L'étape 15 du procédé comprend l'identification des paramètres des données à mettre en mémoire. Dans l'exemple d'un système de gestion de coupon, les paramètres identifiés sont le fabricant, le revendeur et le type de coupon. A la réception des instructions de l'utilisateur, le système de base de données trie ces paramètres suivant le premier, le deuxième et le troisième ordre hiérarchique. D'une manière générale, trois paramètres A, B et C sont identifiés, tandis que C est subordonné à B et que B est à son tour subordonné à A dans l'ordre hiérarchique. Dans l'exemple du système de gestion de coupon, le paramètre A serait le fabricant, le paramètre B serait le détaillant, tandis que le paramètre C serait le type de coupon.
Le processeur du système de base de données attribue alors des emplacements de mémoire du disque 4 pour un certain nombre de tableaux dont chacun correspond à une valeur pour le paramètre A, chacun étant associé, par exemple, à un fabricant de marchandises particulier. Ces tableaux sont désignés généralement par le numéro 6 et 3 trois d'entre eux sont représentés par la figure 1, c'est- à-dire le tableau a, le tableau ss et le tableau ô. A l'étape 17, le processeur attribue des emplacements de
<Desc/Clms Page number 7>
mémoire dans chaque tableau à la création de structures d'enregistrement 7, tous les enregistrements étant associés à une valeur du paramètre B. Trois structures d'enregistrement 7, l'enregistrement a, l'enregistrement B et l'enregistrement 8, sont représentées comme faisant partie du tableau.
Enfin, le processeur crée plusieurs structures de zone, la zone a, la zone ss et la zone 5, dans chaque enregistrement, chaque structure de zone étant associée au paramètre C. Quand il attribue des emplacements de mémoire, le processeur s'assure qu'il existe une capacité supplémentaire disponible pour mettre en mémoire des zones, des enregistrements ou des tableaux supplémentaires suivant le cas. A ce stade, le disque 4 met en mémoire un certain nombre de tableaux dans chacun duquel existent des enregistrements et dans chacun duquel existent des zones, chaque tableau étant associé à une valeur du paramètre A, chaque enregistrement étant associé à une valeur du paramètre B et chaque zone étant associée à une valeur du paramètre C.
Il est inutile de dire que chaque valeur du paramètre C aura un certain nombre de zones 8 différentes associées à celle-ci et que, d'une manière semblable, chaque valeur du paramètre B aura un certain nombre d'enregistrements 7 associés à celui-ci.
Après que la structure de base de données 1 a été
EMI7.1
- met en mémoire des cartes définie, le processeur crée et met en mémoire des cartes de pixels d'entrée sur le disque 4 à l'étape 19. Ces cartes de pixels sont associées chacune à un tableau 6 et contiennent des messages pour que l'utilisateur introduise des données. Une carte de pixels d'entrée de données d'échantillon 9 est représentée par la figure 1 et la carte de pixels 9 représentée concerne la valeur 5 du paramètre et est donc associée au tableau 5. La carte de pixels 9 comprend des messages 10 et 11 pour introduire des valeurs des paramètres B et C.
En pratique, il existe généralement un grand nombre de cartes de pixels d'entrée
<Desc/Clms Page number 8>
pour chaque tableau en fonction de la dimension de la base de données qui est produite.
D'une manière analogue à l'étape 19, le processeur crée à l'étape 20 des cartes de pixels d'entrée d'instructions contenant des messages pour que l'utilisateur introduise des instructions pour le collationnement des données mises en mémoire et pour l'extraction des données collationnées. Chaque carte de pixels d'entrée d'instruction est également associée à un tableau particulier 6 qui contient des messages pour l'introduction par l'utilisateur d'instructions définissant la combinaison des données qui sont requises.
Par exemple, dans un système de gestion de coupon, un ensemble typique d'instructions pourrait ordonner au système de base de données de produire un rapport des modes d'utilisation pour un type de coupon particulier chez tous les revendeurs. Une instruction de ce genre impliquerait que le processeur ait accès uniquement à un tableau, car un type de coupon serait associé à un fabricant seulement, mais de très nombreux enregistrements dans ce tableau et de très nombreuses zones dans ces enregistrements seraient nécessaires pour y accéder car il existe de nombreux revendeurs différents traitant ce type de coupon particulier.
A l'étape 21, on produit des programmes, un programme étant associé à chaque combinaison d'instructions d'entrée. La manière de produire les programmes est classique, et ne fait pas partie de la présente invention. Toutefois, une caractéristique importante est qu'il existe un programme associé à chaque combinaison d'instructions pouvant être reçues en cas d'affichage d'une carte de pixels d'instructions d'entrée. Enfin, à l'étape 22, le processeur produit un tableau de références croisées, qui met en rapport chaque programme avec une combinaison d'instructions. Les programmes produits sont mis en
<Desc/Clms Page number 9>
mémoire sur le disque 3, tandis que les cartes de pixels d'interface d'entrée sont mises en mémoire sur le disque 5 avec certains autres programmes et le tableau de références croisées.
Les étapes 30 à 39 du procédé (voir figure 3) représentent la manière d'introduire, de mettre en mémoire, de collationner et d'extraire les données. Ces étapes sont effectuées en continu au cours de la journée à la réception des données. Dans l'exemple de système de gestion de coupon, elles sont effectuées en réponse aux données provenant des coupons arrivant dans un magasin depuis les détaillants. A l'étape 30, un utilisateur indique au processeur les données à introduire et indique une valeur pour le paramètre A, puis le processeur recherche alors automatiquement et affiche une liste de toutes les cartes de pixels d'entrée de données associées à ce tableau. Un utilisateur choisit une carte de pixels et, en utilisant les messages qui sont affichés, introduit les données requises (valeur pour les paramètres
EMI9.1
B et C). Le processeur el.
B et C). Le processeur effectue ensuite des cycles d'adressage et des cycles de mise en mémoire de données en accédant au tableau correspondant et, dans le tableau, en accédant aux enregistrements et aux zones correspondantes pour la mise en mémoire des données. Compte tenu de la nature hiérarchique de la base de données et de la manière suivant laquelle les données sont produites, ces cycles peuvent être effectués de manière efficace et rapide.
A l'étape 31, le système de base de données reçoit des instructions d'entrée pour reprendre, collationner et extraire les données mises en mémoire.
Ceci est effectué de manière analogue à l'introduction des données en utilisant la carte de pixels d'instructions d'introduction. Le processeur combine toutes les instructions reçues et, en utilisant un code produit par cette combinaison (qui peut être un vecteur), a accès au
<Desc/Clms Page number 10>
tableau de références croisées et à l'étape 33 et reprend le programme correspondant. Le programme qui est choisi contient toutes les instructions nécessaires pour effectuer la combinaison des instructions qui ont été reçues de l'utilisateur. On a constaté que ceci demande nettement moins de travail de traitement qu'il ne le faudrait pour produire chaque fois l'ensemble des instructions en fonction de la combinaison d'instructions.
Tout ce qui est nécessaire est d'avoir accès au tableau de références croisées, de rechercher le programme et de l'introduire dans la mémoire et de mettre en oeuvre ensuite les instructions du programme. A l'étape 34, le processeur effectue l'adressage des données correspondantes, les reprend et collationne les données suivant les instructions du programme. Cette fois encore, par suite de la manière de mettre en mémoire les données dans une seule base de données avec un certain nombre de tableaux associés aux paramètres hiérarchiques de premier ordre, le nombre d'accès requis est maintenu à un minimum.
Après collationnement des données qui ont été reprises, le processeur, suivant les instructions provenant d'un programme repris dans le disque 5, vérifie les données afin de contrôler le format. Ceci implique des comparaisons avec des formats de référence prédéfinis. Un exemple est l'impression d'un chèque dans lequel certaines données sont numériques et une conversion en forme alpha qui est également requise pour l'impression du chèque. A l'étape 36, on prend une décision quant à savoir si le format convient ou non pour l'impression d'un document et, si ce n'est pas le cas, le format est modifié automatiquement à l'étape 37. Dans l'exemple ci-dessus, ceci implique la transformation des données numériques en données alpha, sous le contrôle de programmes appropriés.
A l'étape 38, le système de base de données utilise des instructions de traitement de texte en combinaison avec les données
<Desc/Clms Page number 11>
collationnées (et éventuellement modifiées) pour produire des instructions d'impression et, à l'étape 39, les documents contenant les données sont imprimés.
On comprendra que l'invention simplifie considérablement l'introduction, la mise en mémoire, la reprise et le collationnement des données à cause de la structure hiérarchique d'une seule base de données qui évite le besoin de disposer de bases de données à référence croisée. Grâce à la production de la structure de
EMI11.1
- l'introduction des base de données 1, non seulement l'introduction des données est simplifiée, mais l'accès et la reprise des données sont également simplifiés et on a constaté que les programmes utilisés pour le collationnement des informations sont également nettement plus simples que ce n'était le cas antérieurement.
Comme toutes les actions du processeur sont plus simples qu'antérieurement, les risques d'erreurs humaines se produisant au cours de l'enregistrement des programmes, de l'introduction des données ou de l'introduction des instructions pour reprendre les données se trouvent considérablement réduits, si bien qu'il existe beaucoup moins de risques de corruption des données.
L'invention n'est pas limitée au mode de réalisation décrit ci-dessus, mais peut subir des variations de construction et de détail.
<Desc / Clms Page number 1>
Method for entering, storing, collating and extracting data
The present invention relates to the introduction, storage, collation and extraction of data in a computerized database system comprising storage devices which are generally fixed disks. More particularly, the invention relates to a method in which there is a very large amount of data stored in memory at any time (of the order of hundreds of millions of bytes) and in which there is also a very significant data passage involving that a significant proportion of the bytes is transcribed in the memory devices during the course of a day.
More particularly, the invention relates to a method in which the data must be collated in different ways according to the instructions received from a user.
An example of a situation requiring a process of this kind is that of a coupon management system for sales coupons, which are prepared by the manufacturers of goods and which are sent either directly to customers or to resellers for distribution. . These coupons are used to purchase merchandise at retail outlets. For the reimbursement of these coupons, the reseller returns the
<Desc / Clms Page number 2>
coupons at a central store where the coupons are sorted and classified by category by the manufacturer, according to the type of product and according to their value. Generally speaking, a particular manufacturer may have hundreds of different types of products and, in each type of product, there may be several different coupon values.
The method of the present invention includes entering and storing data from coupons received, collating the data, and producing many different reports indicating the purchasing patterns of consumers, the performance of manufacturers, the performance of resellers and the benefit of the coupon for the sale of any type of particular product. There are only a small number of types of reports that can be produced by collating information.
When all the necessary reports have been produced, the data can be replaced by new data received from the coupons, with millions of coupons arriving every week.
Until now, such a process has required the creation of a database for each of the primary data parameters. For data collation, a processor had to compare the cross-reference (possibly using relational database techniques), different databases in order to find all the desired data and then use the collated data to produce printing instructions for a report. This method has, however, as an important drawback, that a very large processing capacity is required to achieve the millions of accesses which are required for the multiplicity of cross-references to be made for each category of data.
In this situation, data corruption
<Desc / Clms Page number 3>
can occur easily and, due to the complexity of the process, closed loops can get into the processor, which greatly decreases the processing efficiency. Another drawback is the fact that a very large memory capacity is required for databases and that the addressing time is increased accordingly.
The invention aims to provide a method for overcoming these difficulties.
In accordance with the present invention, a method is provided for entering, storing, collating and extracting data, the method being carried out by a processor connected to several memory devices and to input and output interfaces, the method comprising the following steps: initializing the storage devices by: determining the parameters of the data and the hierarchical order of the parameters; sequentially assigning memory location structures in the memory device for: a database; several tables in the database, each corresponding to a value of the first order parameter; several records in each table, each record corresponding to a value of the second order parameter;
and several zones in each record, each zone corresponding to a value of the third-order parameter; producing and storing input interface pixel maps to input data and instructions for recovery, collation
<Desc / Clms Page number 4>
and extracting the data, each interface pixel card being associated with a table of the storage device; producing a set of recovery and exit resumption programs associated with a set of tables, each program being associated with a combination of instructions; producing a cross-reference table relating to each possible combination of instructions received with the corresponding program;
receiving a value for the first order parameter at the input interface and accepting and displaying the corresponding data input pixel map and then receiving the data; store the received data in the memory locations indicated; receiving a value for the first order parameter at the input interface and accepting and displaying the corresponding instruction input pixel map; receive instructions; combine the instructions received, access the cross-reference table and resume a program indicated in the cross-reference table; have the memory address by the processor, transfer the data and collate the data collected under the control of the chosen program; and extract the collated data.
The method preferably includes the additional step of analyzing the collated data and verifying the format of the collated data with a reference format and subsequently modifying the format if the reference does not match.
The invention will be better understood from the following description of some of its preferred embodiments given by way of examples only
<Desc / Clms Page number 5>
and with reference to the appended figures, which are respectively:
FIG. 1, a schematic view of a database structure created by a method of the present invention,
Figures 2 and 3, block diagrams representing the process.
If we look at the figures, we can see a database structure 1 (see figure 1) which is produced by the process to enter, store, collate and extract the data, as shown in the block diagrams of the Figures 2 and 3. Steps 15 to 22 of Figure 2 constitute the steps of creating a database structure to initialize the memory device, while steps 30 to 39 of Figure 3 represent the steps of a process performed by the database system.
The method of the present invention is carried out by a computerized database system using a central processing unit of a minicomputer connected to the input and output interfaces, that is to say to the terminals and to different impact and laser printers. The storage devices, which in this embodiment are fixed disks, are also connected to the central processing unit. The particular construction of the central processing unit and the various pieces of equipment connected to it will not be described in detail, since they do not constitute an essential part of the invention. The method of the invention can be implemented using any suitable processor having the capacity required for the quantity of data to be processed.
If the method is implemented with any suitable processor, it is possible to obtain improved efficiency and a reduction in the risks of data corruption.
<Desc / Clms Page number 6>
FIG. 1 represents a part of the database system which comprises bidirectional address and data buses 2 connected to memory devices, that is to say fixed disks 3, 4 and 5.
Disk 3 has a capacity of 50 megabytes and is intended to be used for storing programs as described below. Disk 4 has a capacity of 600 megabyte and is used to store a mass of data and, ultimately, disk 5 has a capacity of 320 megabyte and is used to store pixel input interface cards and some programs, as also described below.
Step 15 of the method includes identifying the parameters of the data to be stored. In the example of a coupon management system, the parameters identified are the manufacturer, the reseller and the type of coupon. Upon receiving user instructions, the database system sorts these parameters according to the first, second and third hierarchical order. Generally, three parameters A, B and C are identified, while C is subordinate to B and B is in turn subordinate to A in hierarchical order. In the example of the coupon management system, parameter A would be the manufacturer, parameter B would be the retailer, while parameter C would be the coupon type.
The processor of the database system then allocates memory locations on disk 4 for a certain number of tables, each of which corresponds to a value for parameter A, each being associated, for example, with a particular manufacturer of goods. These tables are generally designated by the number 6 and 3 three of them are represented by FIG. 1, that is to say table a, table ss and table ô. In step 17, the processor allocates locations for
<Desc / Clms Page number 7>
memory in each table when creating record structures 7, all the records being associated with a value of the parameter B. Three record structures 7, record a, record B and record 8, are represented as part of the array.
Finally, the processor creates several zone structures, zone a, zone ss and zone 5, in each record, each zone structure being associated with the parameter C. When it allocates memory locations, the processor ensures that 'there is additional capacity available to store additional zones, records or tables as appropriate. At this stage, the disk 4 stores a certain number of tables in each of which there are records and in each of which there are zones, each table being associated with a value of parameter A, each record being associated with a value of parameter B and each zone being associated with a value of the parameter C.
It is needless to say that each value of parameter C will have a number of different fields 8 associated with it and that, similarly, each value of parameter B will have a number of records 7 associated with it. this.
After database structure 1 has been
EMI7.1
- stores defined maps, the processor creates and stores input pixel maps on the disk 4 in step 19. These pixel maps are each associated with an array 6 and contain messages so that the user enters data. A sample data input pixel map 9 is shown in FIG. 1 and the shown pixel map 9 relates to the value 5 of the parameter and is therefore associated with table 5. The pixel map 9 comprises messages 10 and 11 to enter values of parameters B and C.
In practice, there are generally a large number of input pixel cards
<Desc / Clms Page number 8>
for each table depending on the size of the database that is produced.
In a manner analogous to step 19, the processor creates in step 20 instruction input pixel cards containing messages for the user to enter instructions for collating the data stored in memory and for extracting the collated data. Each instruction input pixel card is also associated with a particular table 6 which contains messages for the introduction by the user of instructions defining the combination of the data which are required.
For example, in a coupon management system, a typical set of instructions could instruct the database system to produce a usage report for a particular coupon type at all resellers. An instruction of this kind would imply that the processor has access only to a table, since a coupon type would be associated with only one manufacturer, but very many records in this table and very many zones in these records would be necessary to access it because there are many different dealers dealing with this particular type of coupon.
In step 21, programs are produced, a program being associated with each combination of input instructions. The manner of producing the programs is conventional, and is not part of the present invention. However, an important feature is that there is a program associated with each combination of instructions that can be received when displaying a pixel map of input instructions. Finally, in step 22, the processor produces a cross-reference table, which relates each program to a combination of instructions. Product programs are implemented
<Desc / Clms Page number 9>
memory on disk 3, while the input interface pixel cards are stored on disk 5 with certain other programs and the cross-reference table.
Steps 30 to 39 of the process (see Figure 3) show how to enter, store, collate and extract the data. These steps are performed continuously during the day upon receipt of the data. In the example coupon management system, they are performed in response to data from coupons arriving in a store from retailers. In step 30, a user indicates to the processor the data to be entered and indicates a value for the parameter A, then the processor then automatically searches and displays a list of all the data input pixel maps associated with this table. A user chooses a pixel map and, using the messages that are displayed, enters the required data (value for the parameters
EMI9.1
B and C). The el processor.
B and C). The processor then performs addressing cycles and data storage cycles by accessing the corresponding table and, in the table, accessing the records and the corresponding areas for data storage. Given the hierarchical nature of the database and the manner in which the data is produced, these cycles can be performed efficiently and quickly.
In step 31, the database system receives input instructions for retrieving, collating and extracting the data stored in memory.
This is done analogously to entering data using the input instruction pixel map. The processor combines all the instructions received and, using a code produced by this combination (which can be a vector), has access to the
<Desc / Clms Page number 10>
cross-reference table and in step 33 and resumes the corresponding program. The program that is chosen contains all the instructions necessary to perform the combination of the instructions that have been received from the user. It has been found that this requires considerably less processing work than it would take to produce each set of instructions as a function of the combination of instructions.
All that is necessary is to have access to the cross-reference table, to search for the program and enter it into the memory and then to implement the instructions of the program. In step 34, the processor addresses the corresponding data, takes it back and collates the data according to the instructions of the program. Again, due to the manner of storing data in a single database with a number of tables associated with first order hierarchical parameters, the number of accesses required is kept to a minimum.
After collating the data which has been taken up, the processor, following the instructions coming from a program taken up on disk 5, checks the data in order to check the format. This involves comparisons with predefined reference formats. An example is the printing of a check in which some data is numeric and a conversion to alpha form which is also required for the printing of the check. In step 36, a decision is made as to whether or not the format is suitable for printing a document and, if this is not the case, the format is automatically changed in step 37. In In the example above, this involves transforming digital data into alpha data, under the control of appropriate programs.
In step 38, the database system uses word processing instructions in combination with the data
<Desc / Clms Page number 11>
collated (and possibly modified) to produce printing instructions and, in step 39, the documents containing the data are printed.
It will be understood that the invention considerably simplifies the introduction, storage, recovery and collation of data because of the hierarchical structure of a single database which avoids the need for having cross-reference databases . Through the production of the structure of
EMI11.1
- the introduction of databases 1, not only is the introduction of the data simplified, but the access and the recovery of the data are also simplified and it has been found that the programs used for the collation of the information are also much simpler than was the case previously.
As all the processor actions are simpler than before, the risks of human errors occurring during the recording of programs, the introduction of data or the introduction of instructions to retrieve data are considerably reduced, so there is much less risk of data corruption.
The invention is not limited to the embodiment described above, but may be subject to variations in construction and detail.