FR2833094A1 - Personal digital assistant for storing and management of relational databases, comprises microprocessor, and user memory which contains recordings of tables defining fixed and variable sized fields - Google Patents

Personal digital assistant for storing and management of relational databases, comprises microprocessor, and user memory which contains recordings of tables defining fixed and variable sized fields Download PDF

Info

Publication number
FR2833094A1
FR2833094A1 FR0115539A FR0115539A FR2833094A1 FR 2833094 A1 FR2833094 A1 FR 2833094A1 FR 0115539 A FR0115539 A FR 0115539A FR 0115539 A FR0115539 A FR 0115539A FR 2833094 A1 FR2833094 A1 FR 2833094A1
Authority
FR
France
Prior art keywords
sep
field
record
size
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0115539A
Other languages
French (fr)
Other versions
FR2833094B1 (en
Inventor
Eric Vergnaud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PENBASE
Original Assignee
PENBASE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PENBASE filed Critical PENBASE
Priority to FR0115539A priority Critical patent/FR2833094B1/en
Publication of FR2833094A1 publication Critical patent/FR2833094A1/en
Application granted granted Critical
Publication of FR2833094B1 publication Critical patent/FR2833094B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The personal digital assistant has a microprocessor (1), read only memory (2) and user memory (3a) which is adapted to contain recordings of tables defining fixed and variable sized fields in a preestablished order. For each table make a first block having the sizes of the fixed size fields and the references of the variable sized fields and a second block containing variable field references, field sizes and field values

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

DISPOSITIF INFORMATIQUE DU TYPE PDA POUR LE STOCKAGE
ET LA GESTION DE BASES DE DONNEES RELATIONNELLES
L'invention concerne un dispositif pour le traitement numérique de données du type dit PDA ("Personal Digital Assistant") : ordinateur de poche tel que ceux commercialisés sous les noms Palmez Pocket PC (V, PSION (g) ou encore EPOC &commat;, ainsi que tout autre dispositif informatique portatif (agendas électroniques, téléphones portables communicants et autres terminaux) et/ou de faible capacité de traitement et de stockage (tels qu'un dispositif embarqué pour véhicule automobile destiné par exemple au téléguidage, ou un dispositif de mesure et traitement de données météorologiques...). Un tel dispositif PDA comprend : des moyens de traitement comportant au moins un microprocesseur (dotés d'au moins une mémoire interne dite registre) ; des moyens, dits mémoire morte, de mémorisation non volatiles directement accessibles en lecture seule par les moyens de traitement, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) non volatile (s) ; des moyens, dits mémoire utilisateur, de mémorisation directement accessibles en lecture et en écriture par les moyens de traitement pour le stockage de programmes et/ou de données utilisateur (programmes et/ou données personnels spécifiques à un utilisateur et/ou à une utilisation particulière du dispositif, données acquises, c'est-à-dire saisies par un utilisateur et/ou mesurées par des moyens de mesure liés au dispositif-données météorologiques par exemple- et/ou télétransmises au dispositif, etc. ), et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) ; des moyens d'alimentation électrique autonomes ; des moyens formant une interface utilisateur comprenant au moins des moyens d'acquisition de données utilisateur et des moyens de restitution desdites données ;
PDA-TYPE COMPUTER DEVICE FOR STORAGE
AND THE MANAGEMENT OF RELATIONAL DATA BASES
The invention relates to a device for digital data processing of the PDA ("Personal Digital Assistant") type: handheld computer such as those marketed under the names Palmez Pocket PC (V, PSION (g) or EPOC &commat; as well as any other portable computing device (electronic organizers, communicating mobile telephones and other terminals) and / or of low processing and storage capacity (such as an on-board device for a motor vehicle intended for example for remote control, or a measuring device and meteorological data processing ...) Such a PDA device comprises: processing means comprising at least one microprocessor (equipped with at least one internal memory called register); means, said non-volatile storage memory, directly read-only access by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); means, called user memory, storage directly accessible in read and write by the processing means for storing programs and / or user data (programs and / or personal data specific to a user and / or a particular use of the device, data acquired, that is to say, entered by a user and / or measured by measuring means related to the device-meteorological data for example- and / or transmitted to the device, etc. ), and consist exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least user data acquisition means and means for restoring said data;

<Desc/Clms Page number 2><Desc / Clms Page number 2>

des moyens logiciels mémorisés dans la mémoire morte et/ou dans la mémoire utilisateur adaptés pour gérer au moins une base de données relationnelle permettant d'organiser le stockage des données utilisateur sous forme d'enregistrements de tables comprenant chacune une pluralité de champs.  software means stored in the read-only memory and / or in the user memory adapted to manage at least one relational database for organizing the storage of user data in the form of table records each comprising a plurality of fields.

Un dispositif PDA est notamment exempt de mémoire de masse à support d'enregistrement magnétique ou optique nécessitant l'intervention d'un dispositif de lecture mettant en oeuvre des moyens mécaniques : les données et programmes utilisateur sont en effet stockés dans une mémoire électronique, qui peut être, par exemple, une mémoire électronique non volatile du type mémoire "flash" (mémoire électronique non volatile réinscriptible sans équipement spécifique, d'accès direct et relativement rapide), ou encore une mémoire électronique volatile du type mémoire"RAM"ou mémoire"SRAM" (mémoire vive, d'accès direct et très rapide), le dispositif devant, dans ce cas-qui est le plus fréquent-, être constamment alimenté en énergie électrique par une batterie fonctionnant hors tension. Ces mémoires, particulièrement onéreuses, présentent de faibles capacités de stockage, actuellement de l'ordre de 8 Mega-octets.  A PDA device is in particular free of magnetic or optical recording medium mass memory requiring the intervention of a reading device using mechanical means: the user data and programs are in fact stored in an electronic memory, which can be, for example, a non-volatile electronic memory type "flash" (rewritable non-volatile electronic memory without specific equipment, direct access and relatively fast), or a volatile memory electronic memory type "RAM" or memory "SRAM" (RAM, direct access and very fast), the device before, in this case-which is the most common-, be constantly supplied with electrical energy by a battery operating off. These memories, particularly expensive, have low storage capacity, currently of the order of 8 megabytes.

Une base de données relationnelle est constituée de tables, formées chacune d'une pluralité d'enregistrements de même nature (correspondant chacun à une ligne de la table) et d'une pluralité de champs (correspondant chacun à une colonne de la table), chaque champ recevant une valeur spécifique pour chaque enregistrement. Les champs peuvent être de type divers (chaîne de caractères, booléen, date, heure, nombre entier, nombre décimal, binaire...), de taille fixe ou de taille variable. Les champs sont ordonnés selon un ordre prédéterminé (ordre des colonnes de la table).  A relational database consists of tables, each formed of a plurality of records of the same nature (each corresponding to a row of the table) and a plurality of fields (each corresponding to a column of the table), each field receiving a specific value for each record. The fields can be of various type (character string, boolean, date, time, integer, decimal, binary ...), fixed size or variable size. The fields are ordered according to a predetermined order (order of the columns of the table).

Les dispositifs PDA connus disposent de moyens logiciels (système de gestion de bases de données) adaptés pour gérer des bases de données définies uniquement avec des champs de taille variable, ce afin de limiter l'espace mémoire occupé par la base de données. Ces dispositifs sont programmés pour insérer chaque enregistrement dans la base de données de la façon suivante : les données d'un enregistrement acquises (notamment saisies par l'utilisateur),  Known PDA devices have software means (database management system) adapted to manage databases defined only with fields of variable size, in order to limit the memory space occupied by the database. These devices are programmed to insert each record in the database in the following way: the data of a record acquired (in particular entered by the user),

<Desc/Clms Page number 3><Desc / Clms Page number 3>

correspondant aux valeurs des différents champs de la table concernée, sont enregistrées à la suite les unes des autres, dans l'ordre prédéterminé desdits champs, lesdites données étant séparées par un caractère séparateur (en général, l'entier 9, correspondant à la saisie d'une tabulation, d'une virgule ou d'un point virgule suivant les machines et formats de données utilisés).  corresponding to the values of the various fields of the table concerned, are recorded one after the other, in the predetermined order of said fields, said data being separated by a separator character (in general, the integer 9, corresponding to the input tab, comma or semicolon depending on the machines and data formats used).

La recherche de la valeur du troisième champ d'un enregistrement nécessite donc, une fois les moyens de lecture (moyens de traitement à microprocesseurs) du PDA"positionnés"sur le début de l'enregistrement, la lecture du premier champ jusqu'à la reconnaissance du caractère séparateur, puis la lecture du second champ jusqu'à la reconnaissance du caractère séparateur, soit quatre opérations pour permettre d'atteindre ledit troisième champ à partir du premier. La construction de la base de données au moyen de champs de taille variable permet, certes, de limiter l'espace mémoire utilisé pour son stockage, mais induit des traitements ultérieurs de données particulièrement lents.  The search for the value of the third field of a recording therefore requires, once the reading means (microprocessor processing means) of the PDA "positioned" on the beginning of the recording, the reading of the first field up to the recognition of the separator character, then the reading of the second field until recognition of the separator character, ie four operations to make it possible to reach said third field from the first. The construction of the database by means of fields of variable size makes it possible, of course, to limit the memory space used for its storage, but induces subsequent processing of particularly slow data.

Ce problème pourrait être résolu par l'utilisation de champs de taille fixe, dimensionnés de façon à permettre l'enregistrement des valeurs les plus grandes pouvant être rencontrées pour chaque champ. Le format des enregistrements de chacune des tables (et notamment la taille des champs de ladite table) serait dans ce cas mémorisé dans un descripteur de la table, de sorte que l'adresse logique de chacun des champs d'un enregistrement, exprimée par rapport à l'adresse dudit enregistrement, serait connue. Le positionnement des moyens de lecture sur le début du troisième champ de l'enregistrement ne nécessiterait donc qu'une seule opération. Une telle structure des enregistrements permet des recherches ultérieures rapides. En contrepartie, elle utilise un espace mémoire très important, que seules des mémoires peu onéreuses du type disque magnétique ou optique peuvent offrir. Ce procédé de construction et de stockage de bases de données est donc totalement inadapté aux PDA, qui disposent d'une faible capacité de mémoire (et sont notamment exempts de mémoire de masse).  This problem could be solved by using fields of fixed size, sized to allow the recording of the largest values that can be encountered for each field. The format of the records of each of the tables (and in particular the size of the fields of said table) would in this case be stored in a descriptor of the table, so that the logical address of each of the fields of a record, expressed relative to at the address of said registration, would be known. The positioning of the reading means on the beginning of the third field of the recording thus requires only one operation. Such a record structure allows for quick subsequent searches. In return, it uses a very important memory space, which only inexpensive memories of magnetic or optical disk type can offer. This method of building and storing databases is therefore totally unsuitable for PDAs, which have a low memory capacity (and are notably free of mass memory).

L'invention se propose d'apporter une solution nouvelle au problème de l'enregistrement de données dans une base de données (notamment  The invention proposes to provide a new solution to the problem of recording data in a database (in particular

<Desc/Clms Page number 4><Desc / Clms Page number 4>

relationnelle) mémorisée dans une mémoire électronique (d'accès direct et de faible capacité) d'un dispositif informatique du type PDA, solution qui soit peu consommatrice d'espace mémoire et qui permette des traitements de données ultérieurs extrêmement rapides.  relational) stored in an electronic memory (direct access and low capacity) of a PDA-type computer device, which consumes little memory space and allows for subsequent data processing extremely fast.

En particulier, l'invention vise à proposer un PDA présentant des vitesses de réalisation de recherches mono-critères ou multi-critères, sur une ou plusieurs tables, dix à cent fois supérieures à celles obtenues dans les dispositifs PDA antérieurs.  In particular, the invention aims to provide a PDA having speeds of performing single-criteria or multi-criteria searches, on one or more tables, ten to one hundred times higher than those obtained in prior PDA devices.

L'invention concerne un dispositif pour le traitement numérique de données comprenant des moyens de traitement comportant au moins un microprocesseur ; des moyens, dits mémoire morte, de mémorisation non volatiles directement accessibles en lecture seule par les moyens de traitement, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) non volatile (s) ; des moyens, dits mémoire utilisateur, de mémorisation directement accessibles en lecture et en écriture par les moyens de traitement pour le stockage de programmes et/ou de données utilisateur, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) ; des moyens d'alimentation électrique autonomes ; des moyens formant une interface utilisateur comprenant au moins des moyens d'acquisition (par saisie, mesure, télétransmission...) de données utilisateur et des moyens de restitution (visuelle, sonore, par transmission à un dispositif distant...) desdites données ; des moyens logiciels mémorisés dans la mémoire morte et/ou dans la mémoire utilisateur adaptés pour gérer au moins une base de données relationnelle. Le dispositif selon l'invention est caractérisé en ce qu'il est adapté pour : - mémoriser, dans la mémoire utilisateur, des données utilisateur sous forme d'enregistrements de tables comprenant chacune des champs de taille fixe et/ou des champs de taille variable définis selon un ordre préétabli (par un opérateur lors de la construction de la base de données), chaque enregistrement de chaque table correspondant à une pluralité de données constituant les valeurs respectives des champs de la table pour ledit enregistrement,  The invention relates to a device for digital data processing comprising processing means comprising at least one microprocessor; means, said non-volatile memory read-only memory directly accessible read-only by the processing means, and consisting exclusively of one or more nonvolatile electronic memory (s); means, said user memory, storage directly accessible read and write by the processing means for storing programs and / or user data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least acquisition means (by input, measurement, remote transmission, etc.) of user data and means for rendering (visual, audible, by transmission to a remote device, etc.) said data ; software means stored in the ROM and / or in the user memory adapted to manage at least one relational database. The device according to the invention is characterized in that it is suitable for: storing, in the user memory, user data in the form of table records each comprising fields of fixed size and / or fields of variable size defined according to a predetermined order (by an operator during the construction of the database), each record of each table corresponding to a plurality of data constituting the respective values of the fields of the table for said record,

<Desc/Clms Page number 5><Desc / Clms Page number 5>

pour chaque enregistrement de chaque table acquis (par exemple saisi par un utilisateur) : e déterminer (calculer) pour chaque champ de taille variable de la table, la taille de la valeur du champ de l'enregistrement acquis, et calculer une référence dite référence du champ, lesdites références de champ ayant des tailles fixes de préférence identiques, e enregistrer successivement (c'est-à-dire à la suite les unes des autres) dans la mémoire utilisateur, en suivant l'ordre des champs préétabli, la valeur du champ si le champ est de taille fixe ou la référence du champ s'il est de taille variable, l'ensemble de ces données occupant un premier bloc mémoire compact, dit bloc fixe, présentant une taille fixe, a enregistrer successivement (à la suite les unes des autres) dans la mémoire utilisateur, pour chaque champ de taille variable, la référence du champ, la taille de sa valeur et ladite valeur, l'ensemble de ces données occupant un second bloc mémoire compact, dit bloc variable, présentant une taille variable, enregistrer au moins une information représentative d'un format d'enregistrement (type et taille) des données de l'enregistrement (et notamment du bloc fixe).  for each record of each acquired table (for example entered by a user): e determine (calculate) for each field of variable size of the table, the size of the value of the field of the acquired record, and calculate a reference referred to as reference of the field, said field references having fixed sizes preferably identical, e register successively (i.e. following each other) in the user memory, following the predetermined order of fields, the value of the field if the field is of fixed size or the reference of the field if it is of variable size, all of these data occupying a first compact block, called fixed block, having a fixed size, to record successively (at the following each other) in the user memory, for each field of variable size, the reference of the field, the size of its value and the said value, all of these data occupying a second compact memory block, said variable block, having a variable size, record at least one piece of information representative of a recording format (type and size) of the data of the recording (and in particular of the fixed block).

Le dispositif selon l'invention est donc adapté pour permettre la définition et la gestion de tables construites avec des champs de taille fixe et des champs de taille variable, et pour traiter de façon différente les données correspondant à des champs de taille fixe et celles correspondant à des champs de taille variable. Le dispositif est adapté pour créer, pour chaque enregistrement, un bloc mémoire de taille fixe regroupant les données de taille fixe et les références de champ des données de taille variable, et un bloc mémoire de taille variable regroupant les données de taille variable reconnues par leur référence de champ respective.  The device according to the invention is therefore adapted to allow the definition and the management of tables constructed with fields of fixed size and fields of variable size, and to treat in a different way the data corresponding to fields of fixed size and those corresponding to to fields of variable size. The device is adapted to create, for each record, a fixed size memory block grouping the fixed size data and the field references of the variable size data, and a variable size memory block grouping the variable size data recognized by their respective field reference.

Avantageusement et selon l'invention, pour chaque table, le dispositif est adapté pour mémoriser, dans la mémoire utilisateur, au moins un  Advantageously and according to the invention, for each table, the device is adapted to store, in the user memory, at least one

<Desc/Clms Page number 6><Desc / Clms Page number 6>

descripteur définissant un format d'enregistrement des données, tel que défini et saisi par un opérateur lors de la construction de la base de données, commun à au moins une pluralité d'enregistrements de ladite table, et mémoriser, au début de chaque enregistrement, à titre d'information représentative d'un format d'enregistrement de ses données, une référence de format permettant de pointer vers le descripteur de l'enregistrement. On définit de préférence un unique descripteur pour chaque table, dit descripteur de ladite table, décrivant un format d'enregistrement commun à tous les enregistrements de la table. Il est à noter que le terme descripteur désigne à la fois les données décrivant le format des enregistrements de la table et le bloc mémoire dans lequel sont mémorisées ces données.  a descriptor defining a data recording format, as defined and entered by an operator during the construction of the database, common to at least a plurality of records of said table, and storing, at the beginning of each record, as information representative of a recording format of its data, a format reference for pointing to the descriptor of the record. A single descriptor is preferably defined for each table, said descriptor of said table, describing a recording format common to all the records of the table. It should be noted that the term descriptor refers to both the data describing the format of the records of the table and the memory block in which these data are stored.

Ledit descripteur présente une série d'informations définissant le format du bloc fixe de l'enregistrement, comprenant, enregistrés dans l'ordre préétabli des champs, le type et la taille du champ si celui-ci est de taille fixe, ou une information représentative d'une référence de champ (qui est un entier de taille fixe par exemple) si ledit champ est de taille variable.  Said descriptor presents a series of information defining the format of the fixed block of the record, comprising, recorded in the pre-established order of the fields, the type and the size of the field if it is of fixed size, or representative information. a field reference (which is an integer of fixed size for example) if said field is of variable size.

L'adjonction de sa référence de format au début du bloc fixe d'un enregistrement permet aux moyens de traitement de délimiter les espaces mémoires occupés par les différentes données de l'enregistrement. Elle permet également à un opérateur de modifier aisément le format d'une table ou éventuellement d'une pluralité d'enregistrements d'une table, en vue par exemple d'ajouter ou de supprimer un champ ou encore d'en modifier le type ou la taille. Il suffit, dans ce cas, de créer et d'enregistrer dans la mémoire utilisateur un nouveau descripteur définissant un format d'enregistrement modifié, et d'établir une correspondance entre l'ancien et le nouveau descripteur. Le PDA selon l'invention est alors avantageusement adapté pour convertir au nouveau format chaque enregistrement de la table, et modifier la référence de format mémorisée en tête de son bloc fixe. En variante, le dispositif PDA selon l'invention est adapté pour ne convertir au nouveau format que les enregistrements en cours de lecture, dans le cadre d'autres opérations de gestion desdits enregistrements.  The addition of its format reference to the beginning of the fixed block of a recording allows the processing means to delimit the memory spaces occupied by the different data of the recording. It also allows an operator to easily modify the format of a table or possibly a plurality of records of a table, for example to add or delete a field or to change the type or size. In this case, it suffices to create and save in the user memory a new descriptor defining a modified recording format, and to establish a correspondence between the old and the new descriptor. The PDA according to the invention is then advantageously adapted to convert each record of the table to the new format, and modify the format reference stored at the head of its fixed block. In a variant, the PDA device according to the invention is adapted to convert to the new format only the recordings being read, as part of other management operations of said recordings.

<Desc/Clms Page number 7> <Desc / Clms Page number 7>

Avantageusement et selon l'invention, pour chaque champ de taille fixe de chaque enregistrement de chaque table, le dispositif est adapté pour calculer une adresse logique de la valeur dudit champs dans le bloc fixe de l'enregistrement (au moyen de l'information représentative de son format d'enregistrement), et lire ladite valeur en y accédant directement dans la mémoire utilisateur au moyen de cette adresse.  Advantageously and according to the invention, for each fixed size field of each record of each table, the device is adapted to calculate a logical address of the value of said field in the fixed block of the record (by means of representative information of its recording format), and read said value by accessing it directly in the user memory by means of this address.

Avantageusement et selon l'invention, pour chacun des champs de taille variable de chaque enregistrement, le dispositif est adapté pour calculer une adresse logique de la référence dudit champ, dit champ recherché, dans le bloc fixe de l'enregistrement (au moyen de l'information représentative de son format d'enregistrement), lire la référence dudit champ dans le bloc fixe (en y accédant directement au moyen de cette adresse), calculer une adresse logique du début du bloc variable (au moyen de l'information représentative de son format d'enregistrement), lire une référence d'un champ, dit champ courant, dans le bloc variable, la comparer avec la référence du champ recherché, lire la taille de la valeur du champ courant dans le bloc variable, lire la valeur dudit champ courant dans le bloc variable si sa référence est égale à la référence du champ recherché, ou, si la référence du champ courant n'est pas égale à la référence du champ recherché, calculer (au moyen de ladite taille du champ courant) une adresse d'une référence d'un champ, dit champ suivant, dans le bloc variable et réitérer les opérations précédemment effectuées en prenant le champ suivant comme champ courant.  Advantageously and according to the invention, for each of the variable size fields of each record, the device is adapted to calculate a logical address of the reference of said field, said desired field, in the fixed block of the record (by means of the information representative of its recording format), read the reference of said field in the fixed block (by accessing it directly by means of this address), calculate a logical address of the beginning of the variable block (by means of information representative of its recording format), read a reference of a field, said current field, in the variable block, compare it with the reference of the searched field, read the size of the value of the current field in the variable block, read the value of said current field in the variable block if its reference is equal to the reference of the searched field, or, if the reference of the current field is not equal to the reference of the searched field, calculate (at the means of said size of the current field) an address of a reference of a field, said next field, in the variable block and reiterate the operations previously performed by taking the next field as the current field.

Ainsi, pour accéder à la valeur d'un champ de taille variable d'un enregistrement, les moyens de lecture (microprocesseur) du PDA selon l'invention lisent la référence du champ recherché dans le bloc fixe (dont une adresse logique exprimée à partir de l'adresse de l'enregistrement est connue au moyen de son descripteur), se positionnent au début du bloc variable (dont l'adresse logique exprimée à partir de l'adresse de l'enregistrement est également connue) et lisent successivement les référence de champ et taille de valeur des différents champs enregistrés dans le bloc variable, jusqu'à reconnaître la référence du champ recherché. Une partie de la base de données étant définie par des champs de taille  Thus, to access the value of a field of variable size of a recording, the reading means (microprocessor) of the PDA according to the invention read the reference of the searched field in the fixed block (including a logical address expressed from the address of the record is known by means of its descriptor), are positioned at the beginning of the variable block (whose logical address expressed from the address of the record is also known) and successively read the references of field and value size of the various fields registered in the variable block, until recognizing the reference of the searched field. Part of the database being defined by size fields

<Desc/Clms Page number 8><Desc / Clms Page number 8>

fixe, le nombre d'opérations nécessaires pour accéder à une donnée correspondant à un champ de taille variable est réduit par rapport à celui nécessaire dans un dispositif antérieur (dans lequel tous les champs sont définis comme ayant une taille variable). Par ailleurs, l'adresse logique (exprimée à partir de l'adresse de l'enregistrement) de la valeur d'un champ de taille fixe d'un enregistrement est connue au moyen du descripteur de l'enregistrement. Une telle valeur est par conséquent accessible instantanément. La lecture et le traitement des données mémorisées sont donc bien plus rapides que dans les dispositifs antérieurs.  fixed, the number of operations necessary to access data corresponding to a variable size field is reduced compared to that required in a previous device (in which all the fields are defined as having a variable size). In addition, the logical address (expressed from the address of the record) of the value of a fixed size field of a record is known by means of the descriptor of the record. Such a value is therefore instantly accessible. The reading and the processing of the stored data are therefore much faster than in the previous devices.

Dans une version de l'invention, avantageusement et selon l'invention, pour chaque enregistrement acquis, et pour chaque champ de taille variable de l'enregistrement non renseigné, le dispositif est adapté pour attribuer (calculer) audit champ et mémoriser une référence de champ représentative du fait que ledit champ ne contient aucune valeur pour l'enregistrement, c'est-à-dire qu'aucune valeur n'a été acquise, ni mémorisée pour ledit champ (valeur de taille nulle). De façon similaire, pour chaque enregistrement acquis, et pour chaque champ de taille variable de valeur nulle (c'est-à-dire égale à 0, s'agissant d'un entier ou d'un nombre réel), le dispositif est adapté pour attribuer audit champ et mémoriser une référence de champ représentative du fait que la valeur du champ acquise est nulle.  In one version of the invention, advantageously and according to the invention, for each record acquired, and for each variable size field of the unspecified record, the device is adapted to assign (calculate) to said field and store a reference of field representative of the fact that said field contains no value for the recording, that is to say that no value has been acquired or stored for said field (zero size value). Similarly, for each record acquired, and for each field of variable size of zero value (that is to say equal to 0, being an integer or a real number), the device is adapted for assigning to said field and storing a representative field reference because the acquired field value is zero.

Ainsi, les moyens de traitement peuvent mémoriser le résultat valeur inconnue (respectivement valeur nulle ) pour un champ-de taille variable-recherché non renseigné (respectivement de valeur nulle), à la simple lecture de sa référence de champ dans le bloc fixe, sans avoir à parcourir le bloc variable de l'enregistrement. En effet, pour chaque champ de taille variable non renseigné ou de valeur nulle d'un enregistrement, le dispositif est adapté pour calculer une adresse logique de la référence dudit champ dans le bloc fixe de l'enregistrement, lire cette référence dans le bloc fixe, et mémoriser une information représentative du fait que la référence lue est une référence d'un champ non renseigné ou de valeur nulle, c'est-à-dire représentative du fait que ledit champ ne contient aucune valeur ou contient une valeur nulle pour l'enregistrement. Cette  Thus, the processing means can memorize the result unknown value (respectively zero value) for a field-variable size-searched (zero value respectively), at the simple reading of its field reference in the fixed block, without have to go through the variable block of the record. In fact, for each field of variable size not indicated or of zero value of a record, the device is adapted to calculate a logical address of the reference of said field in the fixed block of the record, to read this reference in the fixed block , and storing information representative of the fact that the reference read is a reference of an empty field or of zero value, that is to say representative of the fact that said field contains no value or contains a zero value for the 'recording. This

<Desc/Clms Page number 9><Desc / Clms Page number 9>

caractéristique du dispositif permet, de plus, de s'affranchir de l'enregistrement dans le bloc variable des référence et taille des champs ayant une valeur nulle ou pour lesquels aucune valeur n'est acquise (valeur de taille nulle) et d'économiser ainsi de la mémoire de stockage.  feature of the device allows, moreover, to overcome the registration in the variable block of the reference and size of the fields having a zero value or for which no value is acquired (zero size value) and thus save storage memory.

Avantageusement et selon l'invention, le dispositif est adapté pour enregistrer le bloc fixe et le bloc variable de chacun des enregistrements à la suite l'un de l'autre dans la mémoire utilisateur. Chaque enregistrement occupe ainsi un unique bloc compact (de taille variable mais dont une première partie est de taille fixe quelles que soient les données de l'enregistrement), ce en vue d'optimiser l'organisation physique de la mémoire de stockage (on sait en effet qu'un gestionnaire de mémoire utilise en moyenne 20 octets par bloc pour la gestion de la mémoire).  Advantageously and according to the invention, the device is adapted to record the fixed block and the variable block of each of the records after each other in the user memory. Each record thus occupies a single compact block (of variable size but of which a first part is of fixed size whatever the data of the recording), in order to optimize the physical organization of the storage memory (it is known in fact, a memory manager uses an average of 20 bytes per block for managing memory).

Avantageusement et selon l'invention, le dispositif est adapté pour calculer, pour chaque enregistrement, un nombre de champs de taille variable référencés dans le bloc variable (champs dont les référence, taille et valeur sont enregistrées dans le bloc variable), et mémoriser ledit nombre au début du bloc variable dudit enregistrement. Pour lire la valeur (acquise et non nulle) d'un champ de taille variable d'un enregistrement, le dispositif est dans ce cas adapté pour lire le nombre de champs référencés avant de lire une première référence de champ courant ; à chaque lecture d'une référence de champ courant, incrémenter un nombre de références de champ courant lues ; interrompre la lecture du bloc variable et mémoriser une information représentative du fait qu'une erreur est survenue dès que le nombre de références de champ courant lues est égal au nombre de champs référencés et qu'aucune référence de champ courant lue n'est égale à la référence du champ recherché (c'est-à-dire interrompre automatiquement la lecture du bloc variable après lecture de la dernière référence de champ si la référence de champ recherchée n'a pas été reconnue). Cette caractéristique constitue une mesure de sécurité permettant de limiter de façon systématique la lecture à un espace mémoire restreint, et d'éviter une éventuelle lecture en boucle de l'ensemble de la mémoire  Advantageously and according to the invention, the device is adapted to calculate, for each record, a number of fields of variable size referenced in the variable block (fields whose reference, size and value are recorded in the variable block), and to store said number at the beginning of the variable block of said record. To read the value (acquired and non-zero) of a variable size field of a record, the device is in this case adapted to read the number of referenced fields before reading a first current field reference; on each reading of a current field reference, incrementing a number of current field references read; interrupting the reading of the variable block and storing information representative of the fact that an error has occurred as soon as the number of current field references read is equal to the number of referenced fields and no current field reference read is equal to the reference of the searched field (that is to say, automatically interrupt the reading of the variable block after reading the last field reference if the searched field reference has not been recognized). This characteristic constitutes a security measure making it possible to systematically limit the reading to a restricted memory space, and to avoid a possible loop reading of the entire memory

<Desc/Clms Page number 10><Desc / Clms Page number 10>

par les moyens de lecture si l'un des enregistrements présente des anomalies formelles consécutives à une erreur survenue lors de son insertion par exemple.  by the reading means if one of the records has formal anomalies resulting from an error occurred during its insertion for example.

Avantageusement et selon l'invention, le dispositif est adapté pour calculer et mémoriser, pour chaque enregistrement de la base de données, un identificateur permettant de pointer vers l'emplacement de l'enregistrement dans la mémoire utilisateur. L'identificateur peut être un entier de taille fixe, également enregistré dans une table d'adresses en correspondance avec l'adresse physique ou une adresse logique du début de l'enregistrement, et permettant ainsi de localiser l'enregistrement dans la mémoire utilisateur.  Advantageously and according to the invention, the device is adapted to calculate and store, for each record of the database, an identifier for pointing to the location of the recording in the user memory. The identifier may be a fixed-size integer, also stored in an address table in correspondence with the physical address or a logical address at the beginning of the record, and thus making it possible to locate the record in the user memory.

Avantageusement et selon l'invention, pour un champ d'une table (préalablement sélectionné par l'opérateur lors de la construction de la base de données ou de toute opération de modification de la structure de ladite base), dit champ indexé, le dispositif est de plus adapté pour élaborer, mettre à jour pour chaque nouvel enregistrement de ladite table acquis, et enregistrer dans la mémoire utilisateur, un index dudit champ indexé, comprenant les identificateurs des enregistrements de la table mémorisés les uns à la suite des autres de telle sorte que les valeurs du champs indexé desdits enregistrements soient ordonnées, c'est-à-dire classées selon un ordre prédéfini par l'opérateur (ordre alphabétique pour un champ de chaînes de caractères alphabétiques, ordre croissant ou décroissant pour un champ de nombres entiers ou décimaux...). Le dispositif selon l'invention est préférentiellement adapté pour effectuer une recherche par dichotomie sur l'index en vue d'y insérer l'identificateur d'un nouvel enregistrement acquis et mettre ainsi à jour l'index.  Advantageously and according to the invention, for a field of a table (previously selected by the operator during the construction of the database or any modification operation of the structure of said database), said indexed field, the device is further adapted to develop, update for each new record of said acquired table, and record in the user memory, an index of said indexed field, comprising the identifiers of the records of the table stored one after the other of such so that the values of the indexed field of said records are ordered, that is, ordered according to an order predefined by the operator (alphabetical order for a field of alphabetic character strings, ascending or descending order for a field of integers or decimals ...). The device according to the invention is preferably adapted to perform a dichotomy search on the index in order to insert the identifier of a new acquired record and thus update the index.

Avantageusement et selon l'invention, le dispositif est adapté pour mémoriser, en réponse à une recherche effectuée dans la base de données à partir de critères de recherche saisis par un utilisateur, l'identificateur de chacun des enregistrements vérifiant les critères de recherche. Les avantages de cette caractéristique sont détaillés ci-après dans un exemple de mode de réalisation de l'invention.  Advantageously and according to the invention, the device is adapted to store, in response to a search made in the database based on search criteria entered by a user, the identifier of each of the records verifying the search criteria. The advantages of this feature are detailed below in an exemplary embodiment of the invention.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

Avantageusement et selon l'invention, la mémoire utilisateur est choisie parmi une mémoire électronique volatile dynamique du type RAM ( Random Access Memory ), une mémoire électronique volatile statique du type SRAM ( Static Random Access Memory ), une mémoire électronique non volatile du type mémoire flash > (mémoire"EEPROM" :"Electrically Erasable Programmable Read Only Memory", effaçable par blocs), un espace mémoire de l'une de ces mémoires dédié au stockage de données et programmes utilisateur. Dans tous les cas, il s'agit d'une mémoire d'accès direct par les moyens de traitement, c'est-à-dire d'une mémoire électronique.  Advantageously and according to the invention, the user memory is chosen from a random volatile electronic memory of the RAM (Random Access Memory) type, a static volatile electronic memory of the SRAM (Static Random Access Memory) type, a non-volatile memory type electronic memory. flash> (memory "EEPROM": "Electrically Erasable Programmable Read Only Memory", erasable in blocks), a memory space of one of these memories dedicated to the storage of data and user programs. In all cases, it is a direct access memory by the processing means, that is to say an electronic memory.

L'invention s'étend à un procédé d'enregistrement de données (dites données utilisateur) dans un dispositif de traitement numérique de données comprenant des moyens de traitement comportant au moins un microprocesseur ; des moyens, dits mémoire morte, de mémorisation non volatiles directement accessibles en lecture seule par les moyens de traitement, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) non volatile (s) ; des moyens, dits mémoire utilisateur, de mémorisation directement accessibles en lecture et en écriture par les moyens de traitement pour le stockage de programmes et/ou de données utilisateur, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) ; des moyens d'alimentation électrique autonomes ; des moyens formant une interface utilisateur comprenant au moins des moyens d'acquisition de données utilisateur et des moyens de restitution desdites données ; des moyens logiciels mémorisés dans la mémoire morte ou dans la mémoire utilisateur adaptés pour gérer au moins une base de données relationnelle construite selon des spécificité définies par un opérateur. Le procédé selon l'invention est caractérisé en ce que : les moyens de traitement mémorisent, dans la mémoire utilisateur, les données utilisateur sous forme d'enregistrements de tables comprenant chacune des champs de taille fixe et/ou des champs de taille variable définis par l'opérateur selon un ordre préétabli, chaque enregistrement de chaque  The invention extends to a method of recording data (called user data) in a digital data processing device comprising processing means comprising at least one microprocessor; means, said non-volatile memory read-only memory directly accessible read-only by the processing means, and consisting exclusively of one or more nonvolatile electronic memory (s); means, said user memory, storage directly accessible read and write by the processing means for storing programs and / or user data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least user data acquisition means and means for restoring said data; software means stored in the ROM or in the user memory adapted to manage at least one relational database built according to specificities defined by an operator. The method according to the invention is characterized in that: the processing means store, in the user memory, the user data in the form of table records each comprising fields of fixed size and / or fields of variable size defined by the operator according to a pre-established order, each record of each

<Desc/Clms Page number 12><Desc / Clms Page number 12>

table correspondant à une pluralité de données constituant les valeurs respectives des champs de la table pour ledit enregistrement, pour chaque enregistrement de chaque table acquis (notamment saisi par un utilisateur), les moyens de traitement effectuent les opérations suivantes : e détermination (calcul), pour chaque champ de taille variable de la table, de la taille de la valeur du champ de l'enregistrement, et calcul d'une référence de taille fixe, dite référence du champ, e enregistrement successif dans la mémoire utilisateur, en suivant l'ordre des champs préétabli, de la valeur du champ si le champ est de taille fixe ou de la référence du champ s'il est de taille variable, l'ensemble de ces données occupant un premier bloc mémoire compact, dit bloc fixe, présentant une taille fixe, e enregistrement successif dans la mémoire utilisateur, pour chaque champ de taille variable, de la référence du champ, de la taille de sa valeur et de ladite valeur, l'ensemble de ces données occupant un second bloc mémoire compact, dit bloc variable, présentant une taille variable, a enregistrement d'au moins une information représentative d'un format des données de l'enregistrement (et notamment du bloc fixe).  table corresponding to a plurality of data constituting the respective values of the fields of the table for said record, for each record of each acquired table (in particular entered by a user), the processing means perform the following operations: e determination (calculation), for each field of variable size of the table, the size of the value of the field of the record, and calculation of a reference of fixed size, called reference of the field, e successive registration in the user memory, following the pre-established field order, the field value if the field is of fixed size or the field reference if it is of variable size, all of these data occupying a first compact block, called a fixed block, presenting a fixed size, e successive registration in the user memory, for each field of variable size, the reference of the field, the size of its value and of said value, the set of e these data occupying a second compact memory block, said variable block, having a variable size, recording at least one piece of information representative of a data format of the recording (and in particular of the fixed block).

Le procédé de mémorisation de données selon l'invention comprend avantageusement, pour chaque enregistrement de la base de données, l'une ou plusieurs des étapes suivantes : pour chaque table, mémorisation, dans la mémoire utilisateur, d'au moins un descripteur définissant un format d'enregistrement de données, tel que défini et saisi par l'opérateur, commun à une pluralité d'enregistrements de ladite table, et mémorisation, au début de chaque enregistrement, d'une référence de format permettant de pointer vers le descripteur de l'enregistrement ;  The method for storing data according to the invention advantageously comprises, for each record of the database, one or more of the following steps: for each table, storing, in the user memory, at least one descriptor defining a a data recording format, as defined and entered by the operator, common to a plurality of records of said table, and storing, at the beginning of each record, a format reference for pointing to the descriptor of the record ;

<Desc/Clms Page number 13><Desc / Clms Page number 13>

enregistrement du bloc fixe et du bloc variable à la suite l'un de l'autre dans la mémoire utilisateur ; pour chaque champ de taille variable non renseigné d'un enregistrement, attribution (calcul) et mémorisation dans le bloc fixe d'une référence de champ représentative du fait qu'aucune valeur n'a été acquise, ni mémorisée pour ledit champ ; pour chaque champ de taille variable de valeur nulle d'un enregistrement, attribution (calcul) et mémorisation dans le bloc fixe d'une référence de champ représentative du fait que la valeur dudit champ acquise pour ledit enregistrement est nulle. détermination (calcul) d'un nombre de champs de taille variable référencés dans le bloc variable, et enregistrement dudit nombre au début du bloc variable de l'enregistrement ; - calcul et mémorisation d'un identificateur permettant de pointer vers l'emplacement de l'enregistrement dans la mémoire utilisateur.  storing the fixed block and the variable block one after the other in the user memory; for each field of variable size not filled with a record, allocation (calculation) and storage in the fixed block of a field reference representative of the fact that no value has been acquired or memorized for said field; for each field of variable size of zero value of a record, allocation (calculation) and storage in the fixed block of a field reference representative of the fact that the value of said field acquired for said record is zero. determining (calculating) a number of variable size fields referenced in the variable block, and registering said number at the beginning of the variable block of the record; - calculating and storing an identifier for pointing to the location of the recording in the user memory.

Le procédé selon l'invention comprend par ailleurs, pour un champ d'une table, dit champ indexé, l'élaboration, la mise à jour pour chaque nouvel enregistrement de ladite table acquis et l'enregistrement dans la mémoire utilisateur, d'un index dudit champ indexé, comprenant les identificateurs des enregistrements de la table, mémorisés les uns à la suite des autres de telle sorte que les valeurs du champ indexé desdits enregistrements soient ordonnées (classées selon un ordre prédéfini par l'opérateur). Le classement de la valeur du champ indexé d'un enregistrement nouvellement acquis relativement aux valeurs des autres enregistrements de la table, en vue de mettre à jour l'index, est préférentiellement effectué par dichotomie (sur l'index).  The method according to the invention furthermore comprises, for a field of a table, said indexed field, the preparation, updating for each new record of said acquired table and the recording in the user memory of a index of said indexed field, comprising the identifiers of the records of the table, stored one after the other so that the values of the indexed field of said records are ordered (classified according to an order predefined by the operator). The ranking of the value of the indexed field of a newly acquired record relative to the values of the other records of the table, with a view to updating the index, is preferentially carried out by dichotomy (on the index).

L'invention s'étend à un procédé de lecture de données dans une base de données relationnelle d'un dispositif PDA mémorisée selon le procédé d'enregistrement conforme à l'invention, comprenant les étapes suivantes : pour la lecture d'une donnée constituant la valeur d'un champ de taille fixe d'un enregistrement, calcul d'une adresse logique de la valeur  The invention extends to a method of reading data in a relational database of a PDA device stored according to the recording method according to the invention, comprising the following steps: for reading a data item constituting the value of a fixed size field of a record, calculation of a logical address of the value

<Desc/Clms Page number 14><Desc / Clms Page number 14>

dudit champs dans le bloc fixe de l'enregistrement, et lecture de ladite valeur en y accédant directement dans la mémoire utilisateur au moyen de cette adresse ; pour la lecture d'une donnée constituant la valeur d'un champ de taille variable d'un enregistrement, calcul d'une adresse logique de la référence dudit champ, dit champ recherché, dans le bloc fixe de l'enregistrement ; lecture de la référence dudit champ dans le bloc fixe ; si la référence du champ n'est pas une référence de champ non renseigné ou de champ de valeur nulle, calcul d'une adresse logique du début du bloc variable, le cas échéant, lecture du nombre de champs référencés, lecture d'une référence d'un champ, dit champ courant, dans le bloc variable, incrémentation d'un nombre de références de champ courant lues, comparaison de ladite référence du champ courant avec la référence du champ recherché, lecture de la taille de la valeur du champ courant dans le bloc variable, lecture de la valeur dudit champ courant dans le bloc variable si sa référence est égale à la référence du champ recherché, ou, si la référence du champ courant n'est pas égale à la référence du champ recherché, calcul (au moyen de la taille précédemment lue de la valeur du champ courant) d'une adresse d'une référence d'un champ, dit champ suivant, dans le bloc variable et réitération des opérations précédemment effectuées en prenant le champ suivant comme champ courant si le nombre de références de champ courant lues est inférieur au nombre de champs référencés, ou interruption de la lecture du bloc variable et mémorisation d'une information représentative d'une erreur survenue si le nombre de références de champ courant lues est égal au nombre de champs référencés. Si la référence du champ recherché lue dans le bloc fixe est une référence de champ non renseignée (respectivement de valeur nulle), mémorisation d'une information représentative du fait qu'aucune valeur n'a été acquise pour ce champ (respectivement que sa valeur est nulle).  said field in the fixed block of the recording, and reading said value by accessing it directly in the user memory by means of this address; for reading a data item constituting the value of a field of variable size of a record, calculating a logical address of the reference of said field, said desired field, in the fixed block of the record; reading the reference of said field in the fixed block; if the field reference is not an empty field reference or a zero value field, calculating a logical address of the beginning of the variable block, if necessary, reading the number of referenced fields, reading a reference of a field, said current field, in the variable block, incrementation of a number of current field references read, comparison of said reference of the current field with the reference of the searched field, reading of the size of the value of the current field in the variable block, reading the value of said current field in the variable block if its reference is equal to the reference of the searched field, or, if the reference of the current field is not equal to the reference of the searched field, calculation ( by means of the previously read size of the value of the current field) of an address of a reference of a field, said next field, in the variable block and reiteration of the operations previously carried out by taking the e following field as current field if the number of current field references read is less than the number of referenced fields, or interruption of the reading of the variable block and storage of information representative of an error occurred if the number of field references current read is equal to the number of referenced fields. If the reference of the searched field read in the fixed block is an empty reference of field (respectively null value), memorization of information representative of the fact that no value was acquired for this field (respectively that its value is zero).

L'invention concerne également un dispositif informatique du type PDA, des procédés de mémorisation et de lecture de données dans un tel dispositif, caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus et ci-après.  The invention also relates to a computer device of the PDA type, methods for storing and reading data in such a device, characterized in combination by all or some of the characteristics mentioned above and hereinafter.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante qui se réfère aux figures annexées (et aux tableaux ci-après) représentant des modes de réalisation préférentiels de l'invention donnés uniquement à titre d'exemples non limitatifs. La figure 1 est une vue schématique d'un PDA selon l'invention ; la figure 2 est un schéma illustrant l'organisation des différents composants constituant un PDA selon l'invention ; les tables 1 à 3 ci-après constituent un exemple de tables d'une base de données relationnelle selon l'invention ; le tableau 4 représente un enregistrement d'un PDA selon l'invention.  Other objects, features and advantages of the invention will become apparent on reading the following description which refers to the appended figures (and the tables below) representing preferred embodiments of the invention given solely for the purposes of the invention. non-limiting examples. Figure 1 is a schematic view of a PDA according to the invention; Figure 2 is a diagram illustrating the organization of the various components constituting a PDA according to the invention; Tables 1 to 3 below are an example of tables of a relational database according to the invention; Table 4 shows a record of a PDA according to the invention.

La caisse d'un magasin de location vidéo comprend un terminal de paiement et un dispositif informatique portatif selon l'invention pour la gestion des stocks du magasin. Ce dernier, illustré sur les figures 1 et 2, comprend un microprocesseur 1, de faibles dimensions et coût, mais aussi de faible capacité de traitement (environ dix fois inférieure à celle d'un ordinateur de bureau standard).  The cash desk of a video rental store includes a payment terminal and a portable computing device according to the invention for managing the inventory of the store. The latter, illustrated in FIGS. 1 and 2, comprises a microprocessor 1, of small size and cost, but also of low processing capacity (approximately ten times lower than that of a standard desktop computer).

Le microprocesseur 1 est relié à une mémoire électronique non volatile 2 du type "ROM" ("Read Only Memory"), dans laquelle sont stockés les programmes de fonctionnement principaux (et notamment un système d'exploitation du type de ceux commercialisés sous les noms PalmOS &commat;, PocketPC &commat;). Il est également relié et à une mémoire électronique volatile 3 du type"SRAM" ("Static Random Access Memory"), dont une partie 3b, dite mémoire de travail, est dédiée à l'exécution d'opérations liées au fonctionnement du dispositif et d'opérations de calcul, et dont une autre partie 3a, dite mémoire utilisateur, est dédiée au stockage de la base de données et des éventuelles applications (dont le système de gestion de base de données) rajoutées par l'utilisateur. Lesdites données et applications utilisateur sont donc instantanément disponibles dès la mise en fonctionnement du dispositif (contrairement à un ordinateur de bureau dont les applications et données sont stockées dans un disque dur et doivent être chargées dans la mémoire de travail pour pouvoir être utilisées), et instantanément sauvegardées lorsqu'elles sont modifiées (aucune opération de recopie sur un disque dur n'étant nécessaire...). La mémoire de stockage du dispositif étant volatile, celui-ci doit constamment être alimenté en The microprocessor 1 is connected to a non-volatile electronic memory 2 of the "ROM" type ("Read Only Memory"), in which are stored the main operating programs (and in particular an operating system of the type marketed under the names PalmOS &commons; PocketPC &commat;). It is also connected to a volatile electronic memory 3 of the "SRAM" type ("Static Random Access Memory"), part of which 3b, called working memory, is dedicated to performing operations related to the operation of the device and computing operations, and another part 3a, said user memory, is dedicated to the storage of the database and any applications (including the database management system) added by the user. Said data and user applications are thus instantly available as soon as the device is put into operation (unlike a desktop computer whose applications and data are stored in a hard disk and must be loaded into the working memory in order to be used), and instantly saved when they are modified (no copying operation on a hard disk is necessary ...). Since the storage memory of the device is volatile, it must constantly be powered by

<Desc/Clms Page number 16><Desc / Clms Page number 16>

énergie électrique par une batterie 13, de préférence rechargeable. A noter que, en variante, le dispositif peut contenir une mémoire non volatile du type"EEPROM" (telle qu'une mémoire flash) pour le stockage des données et programmes utilisateur. Pour éviter la perte des données mémorisées sur la mémoire"SRAM"3a en cas de défaillance ou d'épuisement de la batterie 13, le PDA incorpore des moyens de communication avec des dispositifs extérieurs en vue de permettre l'exportation desdites données vers ces dispositifs extérieurs ainsi que toutes opérations de synchronisation (mise en conformité des bases de données stockées respectivement dans le PDA et dans les dispositifs extérieurs) : un port de connexion 10 du type port"USB" ("Universal Serial Bus") pour permettre la connexion câblée du PDA selon l'invention à un ordinateur de bureau 8 et/ou à un modem 9, des moyens d'émission infrarouge 12, et des moyens 11 d'émission d'ondes permettant de transmettre des fichiers à un ordinateur de bureau par l'intermédiaire d'un serveur internet (par envoi d'un courrier électronique). Le PDA est par ailleurs doté d'un écran de visualisation 4, de préférence à cristaux liquides, et de moyens de saisie de données tels qu'un clavier 5, des boutons 7 de commande programmés pour déclencher certaines fonctionnalités, et un stylo 6b pour l'entrée manuscrite de données sur l'écran tactile 6a, le dispositif comprenant à cette fin des moyens logiciels de reconnaissance de caractères mémorisés dans la mémoire "ROM"2.  electrical energy by a battery 13, preferably rechargeable. Note that, in a variant, the device may contain a non-volatile memory of the "EEPROM" type (such as a flash memory) for storing data and user programs. In order to avoid the loss of the data stored in the "SRAM" memory 3a in the event of failure or depletion of the battery 13, the PDA incorporates means of communication with external devices in order to allow the export of said data to these devices. external as well as all synchronization operations (compliance of databases stored respectively in the PDA and in external devices): a connection port 10 of the type "USB" port ("Universal Serial Bus") to allow the cable connection of the PDA according to the invention to a desktop computer 8 and / or a modem 9, infrared transmission means 12, and means 11 for transmitting waves for transmitting files to a desktop computer by means of intermediary of an internet server (by sending an e-mail). The PDA is furthermore equipped with a display screen 4, preferably a liquid crystal display, and data input means such as a keyboard 5, control buttons 7 programmed to trigger certain functionalities, and a pen 6b for the handwritten input of data on the touch screen 6a, the device comprising for this purpose software character recognition means stored in the "ROM" memory 2.

Pour décrire l'activité du magasin, on a établi les tables suivantes :
Table 1 : Clients

Figure img00160001
To describe the activity of the store, we have established the following tables:
Table 1: Customers
Figure img00160001

<tb>
<tb> Identifi-Nom <SEP> Prénom <SEP> n CL <SEP> Rue <SEP> Ville <SEP> Code <SEP> Date
<tb> cateur <SEP> Postal <SEP> Naissance
<tb> 230 <SEP> DURAND <SEP> Jean <SEP> 025 <SEP> 10 <SEP> rue <SEP> des <SEP> fleurs <SEP> Paris <SEP> 75013 <SEP> 02061953
<tb> 860 <SEP> MARTIN <SEP> Pierre <SEP> 473 <SEP> 20 <SEP> rue <SEP> des <SEP> oiseaux <SEP> Paris <SEP> 75018 <SEP> 2108 <SEP> 1969
<tb> 420 <SEP> PINSON <SEP> Cécile <SEP> 325 <SEP> 6 <SEP> place <SEP> de <SEP> la <SEP> gare <SEP> Evry <SEP> 91000 <SEP> 09 <SEP> 11 <SEP> 1965
<tb> 370 <SEP> BROWN <SEP> John <SEP> 102 <SEP> 1 <SEP> rue <SEP> du <SEP> centre <SEP> Versailles <SEP> 78000 <SEP> 27041949
<tb>
<Tb>
<tb> Identifier-Name <SEP> First Name <SEP> n CL <SEP> Street <SEP> City <SEP> Code <SEP> Date
<tb> cateur <SEP> Postal <SEP> Birth
<tb> 230 <SEP> DURAND <SEP> John <SEP> 025 <SEP> 10 <SEP><SEP> street of <SEP> flowers <SEP> Paris <SEP> 75013 <SEP> 02061953
<tb> 860 <SEP> MARTIN <SEP> Pierre <SEP> 473 <SEP> 20 <SEP> street <SEP> of <SEP> birds <SEP> Paris <SEP> 75018 <SEP> 2108 <SEP> 1969
<tb> 420 <SEP> PINSON <SEP> Cécile <SEP> 325 <SEP> 6 <SEP> place <SEP> of <SEP> the <SEP> station <SEP> Evry <SEP> 91000 <SEP> 09 <SEP > 11 <SEP> 1965
<tb> 370 <SEP> BROWN <SEP> John <SEP> 102 <SEP> 1 <SEP><SEP> Street of the <SEP> Center <SEP> Versailles <SEP> 78000 <SEP> 27041949
<Tb>

<Desc/Clms Page number 17><Desc / Clms Page number 17>

Il est à noter que l'identificateur de l'enregistrement, indiqué dans la table Clients, est une référence attribuée automatiquement à l'enregistrement (lors de son insertion) par le système de gestion de la base de données, en vue de permettre la localisation de l'enregistrement dans la mémoire utilisateur. Il ne s'agit pas d'un champ de ladite table devant être renseigné par l'utilisateur.  It should be noted that the identifier of the record, indicated in the Customers table, is a reference automatically assigned to the record (when inserted) by the database management system, in order to allow the location of the record in the user memory. It is not a field of said table to be filled in by the user.

Table 2 : Films

Figure img00170001
Table 2: Movies
Figure img00170001

<tb>
<tb> Titre <SEP> Genre <SEP> LocationHT <SEP> CodeBarres <SEP> Quantité
<tb> Indiana <SEP> Jones <SEP> 1 <SEP> aventure <SEP> 17,00 <SEP> 123456789 <SEP> 4
<tb> West <SEP> Side <SEP> Story <SEP> musical <SEP> 17,00 <SEP> 647599965 <SEP> 2
<tb> Pinocchio <SEP> enfant <SEP> 10,00 <SEP> 254789462 <SEP> 1
<tb> La <SEP> guerre <SEP> des <SEP> étoiles <SEP> science <SEP> fiction <SEP> 13, <SEP> 00 <SEP> 687954285 <SEP> 6
<tb>
Table 3 : Factures

Figure img00170002
<Tb>
<tb> Title <SEP> Gender <SEP> LocationHT <SEP> Barcode <SEP> Quantity
<tb> Indiana <SEP> Jones <SEP> 1 <SEP> Adventure <SEP> 17.00 <SEP> 123456789 <SEP> 4
<tb> West <SEP> Side <SEP> Story <SEP> musical <SEP> 17.00 <SEP> 647599965 <SEP> 2
<tb> Pinocchio <SEP> child <SEP> 10.00 <SEP> 254789462 <SEP> 1
<tb> The <SEP> war <SEP> of <SEP> stars <SEP> science <SEP> fiction <SEP> 13, <SEP> 00 <SEP> 687954285 <SEP> 6
<Tb>
Table 3: Invoices
Figure img00170002

<tb>
<tb> FactureID <SEP> n CL <SEP> Montant <SEP> HT <SEP> TVA <SEP> Date
<tb> 1021 <SEP> 473 <SEP> 17, <SEP> 00 <SEP> 3, <SEP> 33 <SEP> 03041999
<tb> 3524 <SEP> 025 <SEP> 27,00 <SEP> 5,29 <SEP> 2804 <SEP> 1999
<tb> 10458 <SEP> 025 <SEP> 13,00 <SEP> 2,55 <SEP> 13 <SEP> 01 <SEP> 2000
<tb> 76854 <SEP> 102 <SEP> 34,00 <SEP> 6,66 <SEP> 11 <SEP> 122001
<tb>
Table 4 : Location (lignes de facture)

Figure img00170003
<Tb>
<tb> InvoiceID <SEP> n CL <SEP> Amount <SEP> HT <SEP> VAT <SEP> Date
<tb> 1021 <SEP> 473 <SEP> 17, <SEP> 00 <SEP> 3, <SEP> 33 <SEP> 03041999
<tb> 3524 <SEP> 025 <SEP> 27.00 <SEP> 5.29 <SEP> 2804 <SEP> 1999
<tb> 10458 <SEP> 025 <SEP> 13.00 <SEP> 2.55 <SEP> 13 <SEP> 01 <SEP> 2000
<tb> 76854 <SEP> 102 <SEP> 34.00 <SEP> 6.66 <SEP> 11 <SEP> 122001
<Tb>
Table 4: Rental (invoice lines)
Figure img00170003

<tb>
<tb> FactureID <SEP> CodeBarres <SEP> QuantitéLouée <SEP> Retour
<tb> 1021 <SEP> 647599965 <SEP> 1 <SEP> 0404 <SEP> 1999
<tb> 3524 <SEP> 254789462 <SEP> 1 <SEP> 31041999
<tb> 3524 <SEP> 123456789 <SEP> 2 <SEP> 31041999
<tb> 10458 <SEP> 687954285 <SEP> 1 <SEP> 15 <SEP> 012000
<tb> 76854 <SEP> 123456789 <SEP> 1 <SEP> 15 <SEP> 122001
<tb> 76854 <SEP> 647599965 <SEP> 1 <SEP> 16 <SEP> 122001
<tb>
<Tb>
<tb> InvoiceID <SEP> BarCode <SEP> QuantityLoaded <SEP> Back
<tb> 1021 <SEP> 647599965 <SEP> 1 <SEP> 0404 <SEP> 1999
<tb> 3524 <SEP> 254789462 <SEP> 1 <SEP> 31041999
<tb> 3524 <SEP> 123456789 <SEP> 2 <SEP> 31041999
<tb> 10458 <SEP> 687954285 <SEP> 1 <SEP> 15 <SEP> 012000
<tb> 76854 <SEP> 123456789 <SEP> 1 <SEP> 15 <SEP> 122001
<tb> 76854 <SEP> 647599965 <SEP> 1 <SEP> 16 <SEP> 122001
<Tb>

Les champs des différentes tables précédentes sont définis comme suit :
Clients~Nom : chaîne de caractères, taille fixe 16 octets
The fields of the previous tables are defined as follows:
Clients ~ Name: string, fixed size 16 bytes

<Desc/Clms Page number 18><Desc / Clms Page number 18>

Clients~Prénom : chaîne de caractères, taille variable Clientsn CL et Facturesn CL : nombre entier, taille fixe 4 octets Clients-Rue : chaîne de caractères, taille variable Clients~Ville : chaîne de caractères, taille variable ClientsCodePostal : chaîne de caractères, taille fixe 5 octets

Figure img00180001

Clients~DateNaissance : date, taille fixe 4 octets Films-Titre : chaîne de caractères, taille variable Films-Genre : chaîne de caractères, taille variable FilmsJLocationHT : nombre décimal, taille fixe 4 octets FilmsCodeBarres : chaîne de caractères, taille fixe 10 octets Films-Quantité : nombre entier, taille fixe 1 octet Factures~ID : nombre entier, taille fixe 4 octets FacturesMontantHT : nombre décimal, taille variable
Factures~TVA : nombre décimal, taille variable Factures~Date : date, taille fixe 4 octets
Figure img00180002

LocationFactureID : nombre entier, taille fixe 4 octets LocationCodeBarres : chaîne de caractères, taille fixe 10 octets LocationQuantitéLouée : nombre entier, taille fixe 1 octet Location-Retour : date, taille fixe 4 octets
Selon l'invention, le premier enregistrement de la table Clients est inséré dans la mémoire utilisateur comme illustré sur le tableau suivant (colonne de gauche) :
Tableau 4
Figure img00180003
Clients ~ First Name: string, variable size Clientsn CL and Facturesn CL: whole number, fixed size 4 bytes Clients-Street: character string, variable size Clients ~ City: character string, variable size ClientsPostalCode: string, size fixed 5 bytes
Figure img00180001

Customers ~ DateBed: date, fixed size 4 bytes Movies-Title: character string, variable size Movies-Genre: character string, variable size MoviesJLocationHT: decimal, fixed size 4 bytes MoviesCodeBars: character string, fixed size 10 bytes Movies -Quantity: integer, fixed size 1 byte Invoices ~ ID: integer, fixed size 4 bytes InvoicesMontantHT: decimal, variable size
Invoices ~ VAT: decimal number, variable size Invoices ~ Date: date, fixed size 4 bytes
Figure img00180002

LocationFactureID: integer, fixed size 4 bytes LocationCodeBars: string, fixed size 10 bytes LocationQuantityRun: integer, fixed size 1 byte Location-Return: date, fixed size 4 bytes
According to the invention, the first record of the Customers table is inserted in the user memory as shown in the following table (left column):
Table 4
Figure img00180003

<tb>
<tb> Enregis-Adresse <SEP> Observations
<tb> trement
<tb> 230 <SEP> Adresse <SEP> A <SEP> identificateur <SEP> de <SEP> l'enregistrement <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> 010 <SEP> A+2 <SEP> référence <SEP> format <SEP> enregistrement <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb>
<Tb>
<tb> Registration-Address <SEP> Observations
<tb> trement
<tb> 230 <SEP> Address <SEP> A <SEP> identifier <SEP> of <SEP> record <SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> 010 <SEP> A + 2 <SEP> reference <SEP> format <SEP> record <SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<Tb>

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

Figure img00190001
Figure img00190001

<tb>
<tb> DURAND <SEP> A+4 <SEP> valeur <SEP> du <SEP> champ"Nom" <SEP> (taille <SEP> fixe <SEP> : <SEP> 16 <SEP> octets)
<tb> 01 <SEP> A+20 <SEP> référence <SEP> du <SEP> champ"Prénom" <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> 025 <SEP> A+22 <SEP> valeur <SEP> du <SEP> champ"n CL" <SEP> (taille <SEP> fixe <SEP> : <SEP> 4 <SEP> octets)
<tb> 02 <SEP> A+26 <SEP> référence <SEP> champ"Rue" <SEP> (taille <SEP> fixe <SEP> : <SEP> 2 <SEP> octets)
<tb> 03 <SEP> A+28 <SEP> référence <SEP> du <SEP> champ"Ville" <SEP> (taille <SEP> fixe <SEP> : <SEP> 2 <SEP> octets)
<tb> 75015 <SEP> A+30 <SEP> valeur <SEP> du <SEP> champ"Code <SEP> postal" <SEP> (taille <SEP> fixe <SEP> :
<tb> 5 <SEP> octets)
<tb> 02061953 <SEP> A+36 <SEP> valeur <SEP> champ"DateNaissance" <SEP> (taille <SEP> fixe <SEP> :
<tb> 4 <SEP> octets)
<tb> A+40-fin <SEP> du <SEP> bloc <SEP> mémoire <SEP> fixe,
<tb> début <SEP> du <SEP> bloc <SEP> variable-
<tb> 3 <SEP> A+40 <SEP> nombre <SEP> champs <SEP> de <SEP> taille <SEP> variable <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> 01 <SEP> A+42 <SEP> référence <SEP> du <SEP> champ"Prénom" <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> 04 <SEP> A+44 <SEP> taille <SEP> valeur <SEP> du <SEP> champ"Prénom" <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> Jean <SEP> A+46 <SEP> valeur <SEP> champ"Prénom" <SEP> (taille <SEP> variable <SEP> : <SEP> ici,
<tb> 4 <SEP> octets)
<tb> 02 <SEP> A <SEP> +46+ <SEP> T <SEP> -prénom <SEP> référence <SEP> champ"Rue" <SEP> (taille <SEP> fixe <SEP> : <SEP> 2 <SEP> octets)
<tb> 17 <SEP> A+48+T~prénom <SEP> taille <SEP> du <SEP> champ"Rue" <SEP> (taille <SEP> fixe <SEP> : <SEP> 2 <SEP> octets)
<tb> 10 <SEP> rue <SEP> des <SEP> A <SEP> +50+ <SEP> T <SEP> -prénom <SEP> valeur <SEP> champ"Rue" <SEP> (taille <SEP> variable <SEP> : <SEP> ici,
<tb> fleurs <SEP> 17 <SEP> octets)
<tb> 03 <SEP> A+50+Tprénom+True <SEP> référence <SEP> du <SEP> champ"Ville" <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> 5 <SEP> A+52+Tprénom+True <SEP> taille <SEP> valeur <SEP> du <SEP> champ"Ville" <SEP> (taille <SEP> fixe <SEP> :
<tb> 2 <SEP> octets)
<tb> Paris <SEP> A+54+Tprénom+True <SEP> valeur <SEP> du <SEP> champ"Ville" <SEP> (taille <SEP> variable <SEP> : <SEP> ici,
<tb> 5 <SEP> octets)
<tb> A+54+Tprénom+True+T <SEP> ville-fin <SEP> du <SEP> bloc <SEP> variable <SEP> et <SEP> de <SEP> l'enregistrement-
<tb>
<Tb>
<tb> DURAND <SEP> A + 4 <SEP> value <SEP> of <SEP> field "Name"<SEP> (size <SEP> fixed <SEP>: <SEP> 16 <SEP> bytes)
<tb> 01 <SEP> A + 20 <SEP> reference <SEP> of <SEP> field "First Name"<SEP> (fixed <SEP> size <SEP>:
<tb> 2 <SEP> bytes)
<tb> 025 <SEP> A + 22 <SEP> value <SEP> of <SEP> field "n CL"<SEP> (size <SEP> fixed <SEP>: <SEP> 4 <SEP> bytes)
<tb> 02 <SEP> A + 26 <SEP> reference <SEP> field "Street"<SEP> (size <SEP> fixed <SEP>: <SEP> 2 <SEP> bytes)
<tb> 03 <SEP> A + 28 <SEP> reference <SEP> of <SEP> field "City"<SEP> (fixed <SEP> size <SEP>: <SEP> 2 <SEP> bytes)
<tb> 75015 <SEP> A + 30 <SEP> value <SEP> of <SEP> field "Code <SEP>postal"<SEP> (fixed <SEP> size <SEP>):
<tb> 5 <SEP> bytes)
<tb> 02061953 <SEP> A + 36 <SEP> value <SEP> field "BirthTime"<SEP> (fixed <SEP> size <SEP>):
<tb> 4 <SEP> bytes)
<tb> A + 40-end <SEP> of the <SEP> block <SEP> fixed <SEP> memory,
<tb> start <SEP> of <SEP> block <SEP> variable-
<tb> 3 <SEP> A + 40 <SEP> number <SEP> fields <SEP> of <SEP> size <SEP> variable <SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> 01 <SEP> A + 42 <SEP> reference <SEP> of <SEP> field "First Name"<SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> 04 <SEP> A + 44 <SEP> size <SEP> value <SEP> of <SEP> field "First Name"<SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> John <SEP> A + 46 <SEP> value <SEP> field "FirstName"<SEP> (size <SEP> variable <SEP>: <SEP> here,
<tb> 4 <SEP> bytes)
<tb> 02 <SEP> A <SEP> +46+ <SEP> T <SEP> -first name <SEP> reference <SEP> field "Street"<SEP> (fixed <SEP> size <SEP>: <SEP> 2 <SEP> bytes)
<tb> 17 <SEP> A + 48 + T ~ first name <SEP> size <SEP> of <SEP> field "Street"<SEP> (fixed <SEP> size <SEP>: <SEP> 2 <SEP> bytes )
<tb> 10 <SEP> street <SEP> of <SEP> A <SEP> +50+ <SEP> T <SEP> -first name <SEP> value <SEP> field "Street"<SEP> (size <SEP> variable <SEP>: <SEP> here,
<tb> flowers <SEP> 17 <SEP> bytes)
<tb> 03 <SEP> A + 50 + Tphename + True <SEP> reference <SEP> of <SEP> field "City"<SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> 5 <SEP> A + 52 + Tfirst name + True <SEP> size <SEP> value <SEP> of <SEP> field "City"<SEP> (size <SEP> fixed <SEP>:
<tb> 2 <SEP> bytes)
<tb> Paris <SEP> A + 54 + Tfirst name + True <SEP> value <SEP> of <SEP> field "City"<SEP> (size <SEP> variable <SEP>: <SEP> here,
<tb> 5 <SEP> bytes)
<tb> A + 54 + Tfirst name + True + T <SEP> city-end <SEP> of <SEP> block <SEP> variable <SEP> and <SEP> of <SEP> record-
<Tb>

Figure img00190002

T e Prénom désigne la taille (variable) de la valeur du champ Clients-Prénom ; T-rue désigne la taille de la valeur du champ Clients~Rue ;
Figure img00190002

First Name is the size (variable) of the value of the Customer-First Name field; T-street is the size of the value of the Customer field ~ Street;

<Desc/Clms Page number 20><Desc / Clms Page number 20>

Tville désigne la taille de la valeur du champ Clients-Ville. La colonne Adresse du tableau précédent indique l'adresse logique de chacune des données de l'enregistrement, expimée par rapport à l'adresse physique (ou une adresse logique), notée A, de l'enregistrement. La valeur du champ Clients~DateNaissance est préférentiellement stockée à l'adresse paire A+36 (et non à l'adresse impaire A+35) pour faciliter son exploitation ultérieure.  Tville is the size of the Customer-City field value. The address column of the preceding table indicates the logical address of each of the data of the record, expired with respect to the physical address (or a logical address), denoted A, of the record. The value of the field Customers ~ Birthdate is preferably stored at the address A + 36 (and not the odd address A + 35) to facilitate its subsequent operation.

L'accès aux données est extrêmement rapide. L'accès à la valeur d'un champ de taille variable d'un enregistrement du dispositif selon l'invention nécessite un nombre d'opérations comparable à celui nécessaire dans le cas d'un enregistrement d'un dispositif antérieur. Pour accéder à la valeur du champs Clients-Rue, le microprecesseur 1 lit la référence dudit champ à l'adresse A + 26 octets, se"positionne"au début du bloc variable à l'adresse A + 40 octets pour lire le nombre de champs référencés, lit, en suivant, la première référence de champ, ne s'agissant pas de la référence recherchée, lit la taille dudit premier champ pour pouvoir se positionner à l'adresse A + 46 + T-Prénom et lire la deuxième référence de champ, s'agissant de la référence recherchée, lit la taille de la valeur du champ puis ladite valeur à l'adresse A + 50 + T-Prénom. Il est à noter que ce nombre d'opérations est en fait généralement inférieur à celui nécessaire pour une recherche identique effectuée sur un dispositif PDA connu, dans lequel les champs sont usuellement tous définis comme des champs de taille variable afin de réduire l'espace mémoire utilisé par la base de données. Par ailleurs, l'accès à la valeur d'un

Figure img00200001

champ de taille fixe est instantané : la valeur du champ ClientsDateNaissance d'un enregistrement donné d'adresse A de la table Clients se trouve à l'adresse A + 36 octets. Access to data is extremely fast. Access to the value of a field of variable size of a recording of the device according to the invention requires a number of operations comparable to that necessary in the case of a recording of an earlier device. To access the value of the Customer-Street field, the microprecessor 1 reads the reference of the said field to the address A + 26 bytes, is "positioned" at the beginning of the variable block at the address A + 40 bytes to read the number of referenced fields, reads, following, the first field reference, not being the searched reference, reads the size of said first field to be able to position itself at the address A + 46 + T-First name and read the second reference field, with respect to the searched reference, reads the size of the value of the field then said value at the address A + 50 + T-First name. It should be noted that this number of operations is in fact generally less than that required for an identical search carried out on a known PDA device, in which the fields are usually all defined as variable size fields in order to reduce the memory space used by the database. Moreover, access to the value of a
Figure img00200001

fixed size field is instantaneous: the value of the CustomerDateBirth field of a given address A record of the Customers table is at address A + 36 bytes.

Le dispositif selon l'invention affiche des performances d'utilisation nettement améliorées (en terme de rapidité d'exécution des opérations de traitement de la base de données) comparé aux dispositifs antérieurs, tout en utilisant un espace mémoire limité pour le stockage de la base de données.  The device according to the invention displays significantly improved utilization performance (in terms of speed of execution of the database processing operations) compared to the previous devices, while using a limited memory space for storing the database. of data.

Les autres enregistrements de la table Clients sont insérés de façon similaire, selon un format qui peut être défini, et mémorisé dans un  Other records in the Customers table are inserted similarly, in a format that can be defined, and stored in a

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

Figure img00210001

descripteur Format-Clients dans lequel sont stockés, pour chaque champ, le type du champ et la position, dans le bloc fixe, de sa valeur ou de sa référence.
Figure img00210001

Format-Clients descriptor in which are stored, for each field, the type of the field and the position, in the fixed block, of its value or its reference.

1

Figure img00210002
1
Figure img00210002

<tb>
<tb> Format <SEP> Observations
<tb> Clients
<tb> NF2,2 <SEP> NF, <SEP> CF, <SEP> CV, <SEP> D, <SEP> désignent <SEP> le <SEP> type <SEP> de <SEP> champ <SEP> mémorisé <SEP> :
<tb> CF16, <SEP> 4 <SEP> NF <SEP> : <SEP> nombre <SEP> de <SEP> taille <SEP> fixe
<tb> CV <SEP> (2), <SEP> 20 <SEP> CF <SEP> : <SEP> chaîne <SEP> de <SEP> caractère <SEP> de <SEP> taille <SEP> fixe
<tb> NF4,22 <SEP> CV <SEP> : <SEP> chaîne <SEP> de <SEP> caractère <SEP> de <SEP> taille <SEP> variable
<tb> CV <SEP> (2), <SEP> 26 <SEP> D <SEP> : <SEP> date, <SEP> de <SEP> taille <SEP> fixe
<tb> CV <SEP> (2), <SEP> 28 <SEP> Le <SEP> chiffre <SEP> suivant <SEP> lesdites <SEP> lettres <SEP> indique <SEP> la <SEP> taille <SEP> du <SEP> champ <SEP> s'il <SEP> s'agit <SEP> d'un
<tb> CF5,30 <SEP> champ <SEP> de <SEP> taille <SEP> fixe, <SEP> ou <SEP> la <SEP> taille <SEP> de <SEP> sa <SEP> référence <SEP> (chiffre <SEP> entre <SEP> parenthèses) <SEP> s'il
<tb> D4,36 <SEP> s'agit <SEP> d'un <SEP> champ <SEP> de <SEP> taille <SEP> variable.
<tb>
<Tb>
<tb> Format <SEP> Observations
<tb> Customers
<tb> NF2,2 <SEP> NF, <SEP> CF, <SEP> CV, <SEP> D, <SEP> designate <SEP> the <SEP> type <SEP> of <SEP> stored <SEP> field <SEP>:
<tb> CF16, <SEP> 4 <SEP> NF <SEP>: <SEP> number <SEP> of <SEP> fixed <SEP> size
<tb> CV <SEP> (2), <SEP> 20 <SEP> CF <SEP>: <SEP><SEP> string of <SEP><SEP> character of <SEP> fixed <SEP> size
<tb> NF4,22 <SEP> CV <SEP>: <SEP> string <SEP> of <SEP> character <SEP> of <SEP> size <SEP> variable
<tb> CV <SEP> (2), <SEP> 26 <SEP> D <SEP>: <SEP> date, <SEP> of <SEP> Fixed <SEP> size
<tb> CV <SEP> (2), <SEP> 28 <SEP> The <SEP><SEP> digit following <SEP> said <SEP><SEP> letters indicate <SEP><SEP> size <SEP> of the <SEP> field <SEP> if <SEP> is <SEP> of a
<tb> CF5.30 <SEP> field <SEP> of <SEP> fixed <SEP> size, <SEP> or <SEP><SEP> size <SEP> of <SEP> its <SEP> reference <SEP> (number <SEP> between <SEP> parentheses) <SEP> if
<tb> D4,36 <SEP> is <SEP> of a <SEP><SEP> field of <SEP> size <SEP> variable.
<Tb>

Le <SEP> nombre <SEP> indiqué <SEP> après <SEP> la <SEP> virgule <SEP> indique <SEP> la <SEP> position <SEP> du <SEP> champ <SEP> ou <SEP> de <SEP> sa
<tb> référence <SEP> dans <SEP> le <SEP> bloc <SEP> fixe <SEP> de <SEP> l'enregistrement.
<tb>
The <SEP> number <SEP> specified <SEP> after <SEP> the <SEP> comma <SEP> indicates <SEP> the <SEP> position <SEP> of the <SEP> field <SEP> or <SEP> of <SEP>SEP> sa
<tb> reference <SEP> in <SEP> the <SEP> block <SEP> fixed <SEP> of <SEP> the record.
<Tb>

Ainsi, <SEP> CF <SEP> 16, <SEP> 4 <SEP> est <SEP> une <SEP> donnée <SEP> représentative <SEP> du <SEP> fait <SEP> que <SEP> la <SEP> donnée <SEP> mémorisée
<tb> à <SEP> l'adresse <SEP> A+4, <SEP> qui <SEP> est <SEP> par <SEP> ailleurs <SEP> connue <SEP> par <SEP> les <SEP> moyens <SEP> de <SEP> traitement
<tb> comme <SEP> correspondant <SEP> au <SEP> champ <SEP> Nom, <SEP> est <SEP> une <SEP> chaîne <SEP> de <SEP> caractère <SEP> de <SEP> 16 <SEP> octets
<tb> et <SEP> qu'elle <SEP> correspond <SEP> à <SEP> la <SEP> valeur <SEP> dudit <SEP> champ <SEP> Nom.
<tb>
Thus, <SEP> CF <SEP> 16, <SEP> 4 <SEP> is <SEP> a <SEP> representative <SEP> representative <SEP> of <SEP> makes <SEP> that <SEP> the <SEP> stored <SEP> data
<tb> to <SEP> the address <SEP> A + 4, <SEP> which <SEP> is <SEP> by <SEP> elsewhere <SEP> known <SEP> by <SEP> the <SEP> means <SEP> from <SEP> treatment
<tb> As <SEP> Corresponding <SEP> In <SEP> Field <SEP> Name, <SEP> Is <SEP> A <SEP><SEP> String Of <SEP><SEP> Character Of <SEP> 16 <SEP> bytes
<tb> and <SEP> that it <SEP> matches <SEP> to <SEP> the <SEP> value <SEP> of the said <SEP> field <SEP> Name.
<Tb>

CV <SEP> (2), <SEP> 20 <SEP> est <SEP> une <SEP> donnée <SEP> représentative <SEP> du <SEP> fait <SEP> que <SEP> la <SEP> donnée <SEP> mémorisée <SEP> à
<tb> l'adresse <SEP> A+20 <SEP> est <SEP> la <SEP> référence, <SEP> sur <SEP> 2 <SEP> octets, <SEP> d'une <SEP> chaîne <SEP> de <SEP> caractère <SEP> de <SEP> taille
<tb> variable <SEP> mémorisée <SEP> dans <SEP> le <SEP> bloc <SEP> variable <SEP> correspondant <SEP> au <SEP> champ <SEP> <SEP> Prénom <SEP> .
<tb>
CV <SEP> (2), <SEP> 20 <SEP> is <SEP> a <SEP> representative <SEP> representative <SEP> of <SEP> makes <SEP> that <SEP> the <SEP> given <SEP > stored <SEP> at
<tb> the address <SEP> A + 20 <SEP> is <SEP> the <SEP> reference, <SEP> on <SEP> 2 <SEP> bytes, <SEP> a <SEP> string <SEP > of <SEP> character <SEP> of <SEP> size
<tb> variable <SEP> stored <SEP> in <SEP> the <SEP> block <SEP> variable <SEP> corresponding <SEP> to the <SEP> field <SEP><SEP> First <SEP>.
<Tb>

La <SEP> fin <SEP> du <SEP> bloc <SEP> fixe <SEP> est <SEP> à <SEP> l'adresse
<tb> A+36+4 <SEP> = <SEP> A+40.
<tb>
The <SEP> end <SEP> of the <SEP> block <SEP> fixed <SEP> is <SEP> to <SEP> the address
<tb> A + 36 + 4 <SEP> = <SEP> A + 40.
<Tb>

Les <SEP> données <SEP> réellement <SEP> mémorisées <SEP> pour <SEP> décrire <SEP> le <SEP> type <SEP> et <SEP> la <SEP> taille <SEP> du <SEP> champ
<tb> dans <SEP> le <SEP> descripteur, <SEP> notées <SEP> NF2, <SEP> CF16, <SEP> CV <SEP> (2), <SEP> NF4, <SEP> CF5 <SEP> et <SEP> D4, <SEP> sont <SEP> en <SEP> fait <SEP> des
<tb> entiers <SEP> (variant <SEP> de <SEP> 1 <SEP> à <SEP> 100).
<tb>
The <SEP> data <SEP> actually <SEP> stored <SEP> for <SEP> describe <SEP> the <SEP> type <SEP> and <SEP> the <SEP> size <SEP> of the <SEP> field
<tb> in <SEP> the <SEP> descriptor, <SEP> noted <SEP> NF2, <SEP> CF16, <SEP> CV <SEP> (2), <SEP> NF4, <SEP> CF5 <SEP> and <SEP> D4, <SEP> are <SEP> in <SEP> makes <SEP> of
<tb> integer <SEP> (variant <SEP> from <SEP> 1 <SEP> to <SEP> 100).
<Tb>

Les champs susceptibles de faire l'objet de recherches fréquentes et pour lesquels il est intéressant de trier les valeurs sont préférablement indexés. Un index est créé définissant la table et le champ indexé correspondants, et répertoriant les identificateurs des enregistrements concernés, classés dans l'ordre des différentes valeurs dudit champ. A titre d'exemple, l'index IndexClientsNom correspondant au champ Clients-Nom de la table Clients, trié par ordre alphabétique, comprendra les éléments ordonnés suivants : 370,230, 860,420.  Fields that can be searched frequently and for which it is interesting to sort the values are preferably indexed. An index is created defining the corresponding table and indexed field, and listing the identifiers of the concerned records, classified in the order of the different values of said field. For example, the IndexClientsName index corresponding to the Customer-Name field of the Customers table, sorted in alphabetical order, will include the following ordered items: 370,230, 860,420.

La mise à jour de l'index, c'est-à-dire l'insertion dans l'index de l'identificateur de tout enregistrement nouvellement acquis, est effectuée par dichotomie : pour classer dans l'index Index~Clients~Nom un nouvel enregistrement dont la valeur du champ Clients-Nom est LANIER, les moyens de traitement sont adaptés pour lire l'identificateur situé en milieu de liste (en  The updating of the index, that is to say the insertion in the index of the identifier of any newly acquired record, is done by dichotomy: to classify in index Index ~ Clients ~ Name a new record whose value of the Customer-Name field is LANIER, the processing means are adapted to read the identifier located in the middle of the list (in

<Desc/Clms Page number 22><Desc / Clms Page number 22>

l'occurrence 860 par exemple (il peut également s'agir de 230)) qui permet d'accéder à l'enregistrement correspondant (adresse physique B) ; lire la référence du format d'enregistrement ; s'agissant d'un classement concernant le champ Clients-Nom, lire le nom dudit enregistrement (MARTIN, cette donnée étant située, selon l'enseignement du descripteur, à l'adresse B+4), comparer la première lettre du nom lu (M) avec celle du nom de l'enregistrement à insérer (L), L étant"inférieur"à M, lire l'identificateur (230) situé au milieu de la liste délimitée par le premier identificateur de l'index et l'identificateur venant d'être lu, qui permet d'accéder à l'enregistrement correspondant (adresse physique A) ; lire la référence de son format d'enregistrement puis le nom à l'adresse A+4 (DURAND) ; comparer la première lettre du nom lu (D) avec celle du nom de l'enregistrement à insérer (L), et D étant inférieure à L, insérer l'identificateur du nouvel enregistrement entre 230 et 860.  instance 860 for example (it can also be 230)) which provides access to the corresponding record (physical address B); read the reference of the recording format; in the case of a classification concerning the Customers-Name field, read the name of the registration (MARTIN, this data being located, according to the descriptor's teaching, at the address B + 4), compare the first letter of the name read (M) with that of the name of the record to be inserted (L), L being "lower" than M, read the identifier (230) in the middle of the list delimited by the first identifier of the index and the identifier just read, which allows access to the corresponding record (physical address A); read the reference of its recording format then the name at address A + 4 (DURAND); compare the first letter of the name read (D) with that of the name of the record to be inserted (L), and D being less than L, insert the identifier of the new record between 230 and 860.

Une recherche mono-critère effectuée sur une seule table (exemple : rechercher, dans la table Clients, les clients dont le nom commence par la lettre D) peut être réalisée comme suit : - l'utilisateur spécifie au moins les quatre critères de recherche suivants : le champ et la table concernés par la recherche, un opérateur (dans l'exemple cité et une valeur de référence (la lettre D), si le champ concerné n'est pas indexé, c'est-à-dire si les valeurs dudit champ pour les différents enregistrements de la table ne sont pas triées, les moyens de traitement 1 lisent la valeur dudit champ pour chacun des enregistrements de la table, comme expliqué ci-avant : s'il s'agit d'un champ de taille fixe, l'adresse logique dudit champ exprimée à partir de l'adresse de l'enregistrement est connue ; s'il s'agit d'un champ de taille variable, les moyens de traitement lisent la référence dudit champ dans le bloc fixe-son adresse est connue-puis lisent successivement le nombre de champs référencés et la première référence de champ du bloc variable, comparent cette première référence à la référence du champ recherché précédemment lue dans le bloc fixe, lisent la taille du champ (donnée suivante dans le bloc variable) et sa valeur si les deux références sont égales, ou lisent la taille du champ (en vue de délimiter l'espace mémoire occupé par sa valeur)  A single-criteria search performed on a single table (example: search, in the Clients table, for clients whose name begins with the letter D) can be performed as follows: - the user specifies at least the following four search criteria : the field and the table concerned by the search, an operator (in the example cited and a reference value (the letter D), if the field concerned is not indexed, that is to say if the values of said field for the different records of the table are not sorted, the processing means 1 read the value of said field for each of the records of the table, as explained above: if it is a size field fixed, the logical address of said field expressed from the address of the record is known, if it is a field of variable size, the processing means read the reference of said field in the fixed block- his address is known-then read successively the number of ch referenced amps and the first field reference of the variable block, compare this first reference to the reference of the searched field previously read in the fixed block, read the size of the field (next data in the variable block) and its value if the two references are equal, or read the size of the field (to delimit the memory space occupied by its value)

<Desc/Clms Page number 23><Desc / Clms Page number 23>

et la référence du champ suivant dans le bloc variable si les deux références comparées sont différentes, etc. si le champ est indexé, les moyens de traitement 1 effectuent une recherche dichotomique sur l'index correspondant (en l'exemple : IndexClientsNom).  and the reference of the next field in the variable block if the two references being compared are different, etc. if the field is indexed, the processing means 1 performs a dichotomic search on the corresponding index (in the example: IndexClientsName).

Avantageusement et selon l'invention, le résultat d'une recherche est constitué des identificateurs des enregistrements dont les données vérifient le (ou les) critère (s) de recherche (soit, dans l'exemple précédent : 230). Le dispositif selon l'invention fournit donc aux moyens logiciels de gestion de la base de données, à titre de résultat d'une recherche, des moyens pour accéder aux enregistrements recherchés. Cette caractéristique est particulièrement avantageuse compte tenu du fait que la base de données est stockée sur une mémoire d'accès rapide et directe. Elle se traduit par une réduction considérable du temps et de l'espace mémoire consommés pour chaque recherche. Cette caractéristique de l'invention permet de plus d'exécuter des requêtes sur la base des résultats d'une requête précédente, de façon extrêmement rapide, ce qui est impossible dans les dispositifs antérieurs munis de moteurs de recherche du type dit SQL ("Structured Query Language").  Advantageously and according to the invention, the result of a search consists of the identifiers of the records whose data verify the search criterion (s) (ie, in the previous example: 230). The device according to the invention thus provides the software management means of the database, as a result of a search, means for accessing the searched records. This feature is particularly advantageous in view of the fact that the database is stored on a fast and direct access memory. It results in a considerable reduction in the time and memory space consumed for each search. This feature of the invention also makes it possible to execute queries based on the results of a previous request, in an extremely fast manner, which is impossible in previous devices equipped with search engines of the so-called SQL type ("Structured Query Language ").

Avantageusement et selon l'invention, une recherche multicritère réalisée sur une seule table (exemple : rechercher les clients dont le nom commence par un D et qui habitent Paris) est décomposée par les moyens de traitement en une pluralité de recherches mono-critères, liées par des opérateurs booléens. Lesdites recherches mono-critères sont effectuées indépendamment les unes des autres. Les identificateurs des enregistrements vérifiant le premier critère (nom commençant par un D) sont notés dans une première"bit table" (chaîne de bits comportant un nombre de bits supérieur ou égal au plus grand identificateur utilisé pour la table concernée, lesdits bits présentant initialement la valeur 0) : le 230ième bit de la"bit table"prend la valeur 1. Les résultats de la deuxième recherche monocritère (Clients-Ville = Paris) sont notés dans une deuxième "bit table" : les 230ième et 860ième bits de ladite table prennent la valeur 1. Les résultats des  Advantageously and according to the invention, a multi-criteria search carried out on a single table (example: search for clients whose name begins with a D and who live in Paris) is decomposed by the processing means into a plurality of single-criteria, linked searches. by Boolean operators. Said single-criteria searches are performed independently of one another. The identifiers of the records verifying the first criterion (name beginning with a D) are noted in a first "table bit" (bit string comprising a number of bits greater than or equal to the largest identifier used for the table concerned, said bits initially having the value 0): the 230th bit of the "table bit" takes the value 1. The results of the second single-criteria search (Customers-City = Paris) are noted in a second "table bit": the 230th and 860th bits of said table take the value 1. The results of the

<Desc/Clms Page number 24><Desc / Clms Page number 24>

recherches mono-critères sont ensuite compilés au moyen d'une table, dite table de vérité : si l'opérateur booléen est"et" (comme c'est le cas dans l'exemple décrit), seuls les bits présentant la valeur 1 dans les deux"bit tables"conservent la valeur 1 dans la table de vérité (en l'occurrence, le 230ième bit). Les résultats (identificateurs des enregistrements) de la recherche multi-critère sont données par les bits de la table de vérité ayant la valeur 1.  single-criteria searches are then compiled by means of a table, called the truth table: if the Boolean operator is "and" (as is the case in the example described), only the bits having the value 1 in the two "bit tables" keep the value 1 in the truth table (in this case, the 230th bit). The results (record identifiers) of the multi-criteria search are given by the bits of the truth table having the value 1.

Les avantages du dispositif selon l'invention, dont les moyens logiciels tiennent compte des spécificités générales des PDA, sont donc multiples : accès rapide aux données de la base, comparé à un dispositif antérieur dans lequel les données sont définies comme les valeurs de champs de taille variable, temps de traitement des opérations de gestion de la base de données (ajout, suppression, modification de données) considérablement réduit, rapidité d'exécution des recherches et utilisation aisée des résultats, qui se présentent sous la forme de moyens d'accès aux données, espace mémoire occupé par la base de données relativement restreint et compatible avec les capacités de stockage limitées des PDA. Les PDA selon l'invention sont plus performants dans leur utilisation que les dispositifs connus.  The advantages of the device according to the invention, whose software means take into account the general specifics of the PDAs, are therefore multiple: fast access to the data of the database, compared to a previous device in which the data are defined as the field values of variable size, significantly reduced processing time for database management operations (adding, deleting, modifying data), speed of search execution and easy use of results, which are in the form of means of access to data, memory space occupied by the relatively small database and compatible with the limited storage capacity of PDAs. PDAs according to the invention are more efficient in their use than known devices.

Les diverses fonctions selon l'invention, décrites ci-dessus, peuvent aisément être réalisées par simple programmation au moyen d'outils traditionnels, utilisant en particulier le langage C++.  The various functions according to the invention, described above, can easily be performed by simple programming using traditional tools, using in particular the C ++ language.

Il va de soi que l'invention peut faire l'objet de nombreuses variantes par rapport aux modes de réalisation précédemment décrits et représentés sur les figures. It goes without saying that the invention may be subject to numerous variants with respect to the embodiments previously described and shown in the figures.

Claims (13)

REVENDICATIONS 1/-Dispositif pour le traitement numérique de données comprenant des moyens de traitement (1) comportant au moins un microprocesseur ; des moyens (2), dits mémoire morte, de mémorisation non volatiles directement accessibles en lecture seule par les moyens de traitement, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) non volatile (s) ; des moyens (3a), dits mémoire utilisateur, de mémorisation directement accessibles en lecture et en écriture par les moyens de traitement pour le stockage de programmes et/ou de données utilisateur, et constitués exclusivement d'une ou plusieurs mémoire (s) électronique (s) ; des moyens (13) d'alimentation électrique autonomes ; des moyens formant une interface utilisateur comprenant au moins des moyens (5,6a, 6b, 7) d'acquisition de données utilisateur et des moyens (4) de restitution desdites données ; des moyens logiciels mémorisés dans la mémoire morte et/ou dans la mémoire utilisateur adaptés pour gérer au moins une base de données relationnelle, 1 / -Device for digital data processing comprising processing means (1) comprising at least one microprocessor; means (2), said non-volatile memory read-only memory directly accessible read-only by the processing means, and consist exclusively of one or more non-volatile electronic memory (s); means (3a), said user memory, storage directly accessible read and write by the processing means for storing programs and / or user data, and consisting exclusively of one or more electronic memory (s) ( s); autonomous power supply means (13); means forming a user interface comprising at least means (5,6a, 6b, 7) for acquiring user data and means (4) for restoring said data; software means stored in the read-only memory and / or in the user memory adapted to manage at least one relational database,
Figure img00250001
Figure img00250001
ledit dispositif étant caractérisé en ce qu'il est adapté pour : - mémoriser, dans la mémoire utilisateur (3a), des données utilisateur sous forme d'enregistrements de tables, comprenant chacune des champs de taille fixe et/ou des champs de taille variable définis selon un ordre préétabli par un opérateur, chaque enregistrement de chaque table correspondant à une pluralité de données constituant les valeurs respectives des champs de la table pour ledit enregistrement, pour chaque enregistrement de chaque table acquis : 'déterminer, pour chaque champ de taille variable de la table, la taille de la valeur du champ de l'enregistrement acquis, et calculer une référence de taille fixe, dite référence du champ, * enregistrer successivement dans la mémoire utilisateur (3a), en suivant l'ordre des champs préétabli, la valeur du champ si le champ est de taille fixe ou la référence du champ s'il est de taille variable,  said device being characterized in that it is adapted to: - store user data in the user memory (3a) in the form of table records, each comprising fields of fixed size and / or fields of variable size defined according to an order preset by an operator, each record of each table corresponding to a plurality of data constituting the respective values of the fields of the table for said record, for each record of each acquired table: 'determine, for each variable size field of the table, the size of the value of the field of the acquired record, and compute a reference of fixed size, called reference of the field, * to register successively in the user memory (3a), following the pre-established order of fields, the value of the field if the field is of fixed size or the reference of the field if it is of variable size, <Desc/Clms Page number 26><Desc / Clms Page number 26> l'ensemble de ces données occupant un premier bloc mémoire compact, dit bloc fixe, présentant une taille fixe, * enregistrer successivement dans la mémoire utilisateur (3a), pour chaque champ de taille variable, la référence du champ, la taille de sa valeur et ladite valeur, l'ensemble de ces données occupant un second bloc mémoire compact, dit bloc variable, présentant une taille variable, a enregistrer au moins une information représentative d'un format des données de l'enregistrement.  all of these data occupying a first compact block, called a fixed block, having a fixed size, * successively registering in the user memory (3a), for each field of variable size, the reference of the field, the size of its value and said value, all of these data occupying a second compact block, said variable block, having a variable size, to record at least one piece of information representative of a format of the data of the recording.
2/-Dispositif selon la revendication 1, caractérisé en ce qu'il est adapté pour mémoriser dans la mémoire utilisateur, pour chaque table, un descripteur définissant un format d'enregistrement de données, tel que défini et saisi par un opérateur, commun à au moins une pluralité d'enregistrements de ladite table, et mémoriser, au début de chaque enregistrement, une référence de format permettant de pointer vers le descripteur de l'enregistrement.  2 / -Dispositif according to claim 1, characterized in that it is adapted to store in the user memory, for each table, a descriptor defining a data recording format, as defined and entered by an operator, common to at least a plurality of records of said table, and storing, at the beginning of each record, a format reference for pointing to the descriptor of the record. 3/-Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce que, pour chaque champ de taille fixe de chaque enregistrement de chaque table, le dispositif est adapté pour calculer une adresse logique de la valeur dudit champs dans le bloc fixe de l'enregistrement, et lire ladite valeur en y accédant directement au moyen de cette adresse.  3 / -Dispositif according to one of claims 1 or 2, characterized in that, for each field of fixed size of each record of each table, the device is adapted to calculate a logical address of the value of said field in the fixed block of the recording, and read said value by accessing it directly by means of this address. 4/-Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que, pour chaque champ de taille variable de chaque enregistrement de chaque table, le dispositif est adapté pour calculer une adresse logique de la référence dudit champ, dit champ recherché, dans le bloc fixe de l'enregistrement, lire la référence dudit champ dans le bloc fixe, calculer une adresse logique du début du bloc variable, lire une référence d'un champ, dit champ courant, dans le bloc variable, la comparer avec la référence du champ recherché, lire la taille de la valeur du champ courant dans le bloc variable, lire la valeur dudit champ courant dans le bloc variable si sa référence est égale à la référence du champ recherché, ou, si la référence du champ courant n'est pas égale à la référence du champ recherché, calculer une adresse d'une référence d'un champ, dit champ  4 / -Dispositif according to one of claims 1 to 3, characterized in that, for each field of variable size of each record of each table, the device is adapted to calculate a logical address of the reference of said field, said desired field in the fixed block of the record, read the reference of said field in the fixed block, calculate a logical address of the beginning of the variable block, read a reference of a field, said current field, in the variable block, compare it with the reference of the searched field, read the size of the value of the current field in the variable block, read the value of said current field in the variable block if its reference is equal to the reference of the searched field, or, if the reference of the current field is not equal to the reference of the searched field, to calculate an address of a reference of a field, said field <Desc/Clms Page number 27><Desc / Clms Page number 27> suivant, dans le bloc variable et réitérer les opérations précédemment effectuées en prenant le champ suivant comme champ courant.  next, in the variable block and repeat the operations previously performed by taking the next field as the current field. 5/-Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que, pour chaque enregistrement acquis, et pour chaque champ de taille variable non renseigné ou, respectivement, de valeur nulle dudit enregistrement, le dispositif est adapté pour calculer et mémoriser une référence de champ représentative du fait que le champ est non renseigné ou, respectivement, de valeur nulle.  5 / -Dispositif according to one of claims 1 to 4, characterized in that, for each record acquired, and for each field of variable size unspecified or, respectively, of zero value of said record, the device is adapted to calculate and storing a field reference representative of the fact that the field is unspecified or, respectively, of zero value. 6/-Dispositif selon la revendication 5, caractérisé en ce que, pour chaque champ de taille variable non renseigné ou, respectivement, de valeur nulle d'un enregistrement, le dispositif est adapté pour calculer une adresse logique de la référence dudit champ dans le bloc fixe de l'enregistrement, lire la référence dudit champ dans le bloc fixe, et mémoriser une information représentative du fait que ledit champ ne contient aucune valeur ou, respectivement, contient une valeur nulle pour l'enregistrement.  6 / -Dispositif according to claim 5, characterized in that, for each field of variable size unspecified or, respectively, of zero value of a record, the device is adapted to calculate a logical address of the reference of said field in the fixed block of the record, read the reference of said field in the fixed block, and store information representative that said field contains no value or, respectively, contains a zero value for the record. 7/-Dispositif selon l'une des revendications 1 à 6, caractérisé en ce qu'il est adapté pour enregistrer le bloc fixe et le bloc variable de chacun des enregistrements à la suite l'un de l'autre dans la mémoire utilisateur.  7 / -Dispositif according to one of claims 1 to 6, characterized in that it is adapted to record the fixed block and the variable block of each of the records after each other in the user memory. 8/-Dispositif selon l'une des revendications 1 à 7, caractérisé en ce qu'il est adapté pour calculer, pour chaque enregistrement, un nombre de champs de taille variable référencés dans le bloc variable, et mémoriser ledit nombre au début du bloc variable dudit enregistrement.  8 / -Dispositif according to one of claims 1 to 7, characterized in that it is adapted to calculate, for each record, a number of variable size fields referenced in the variable block, and store said number at the beginning of the block variable of said record. 9/-Dispositif selon les revendications 4,6 et 8, caractérisé en ce qu'il est adapté pour lire le nombre de champs référencés avant de lire une première référence de champ courant, à chaque lecture d'une référence de champ courant, incrémenter un nombre de références de champ courant lues, interrompre la lecture du bloc variable et mémoriser une information représentative d'une erreur survenue dès que le nombre de références de champ courant lues est égal au nombre de champs référencés et qu'aucune référence de champ courant lue n'est égale à la référence du champ recherché.  9 / -Dispositif according to claims 4,6 and 8, characterized in that it is adapted to read the number of referenced fields before reading a first current field reference, each reading of a current field reference, increment a number of current field references read, interrupt the reading of the variable block and store information representative of an error occurring as soon as the number of current field references read is equal to the number of referenced fields and no current field reference read is not equal to the reference of the searched field. <Desc/Clms Page number 28> <Desc / Clms Page number 28> 10/-Dispositif selon l'une des revendications 1 à 9, caractérisé en ce qu'il est adapté pour calculer et mémoriser, pour chaque enregistrement, un identificateur permettant de pointer vers l'emplacement de l'enregistrement dans la mémoire utilisateur.  10 / -Dispositif according to one of claims 1 to 9, characterized in that it is adapted to calculate and store, for each record, an identifier for pointing to the location of the recording in the user memory. 11/-Dispositif selon la revendication 10, caractérisé en ce que, pour un champ d'une table, dit champ indexé, le dispositif est programmé pour élaborer, mettre à jour pour chaque nouvel enregistrement de ladite table acquis et enregistrer dans la mémoire utilisateur, un index dudit champ indexé, comprenant les identificateurs des enregistrements de la table, mémorisés les uns à la suite des autres de telle sorte que les valeurs du champ indexé desdits enregistrements soient ordonnées.  11 / -Dispositif according to claim 10, characterized in that, for a field of a table, said indexed field, the device is programmed to develop, update for each new record of said acquired table and save in the user memory an index of said indexed field, comprising the identifiers of the records of the table, stored one after the other so that the values of the indexed field of said records are ordered. 12/-Dispositif selon l'une des revendications 10 ou 11, caractérisé en ce qu'il est adapté pour mémoriser, en réponse à une recherche effectuée sur la base de données à partir de critères de recherche saisis par un utilisateur, l'identificateur de chacun des enregistrements vérifiant les critères de recherche.  12 / -Dispositif according to one of claims 10 or 11, characterized in that it is adapted to store, in response to a search made on the database from search criteria entered by a user, the identifier each record checking the search criteria. 13/-Dispositif selon l'une des revendications 1 à 12, caractérisé en ce que la mémoire utilisateur est choisie parmi une mémoire  13 / -Device according to one of claims 1 to 12, characterized in that the user memory is selected from a memory
Figure img00280001
Figure img00280001
électronique volatile dynamique du type RAM , une mémoire électronique volatile statique du type SRAM , une mémoire électronique non volatile du type mémoire flash , un espace mémoire de l'une de ces mémoires dédié au stockage de données et programmes utilisateur. dynamic volatile electronic RAM type, a static volatile electronic memory of the SRAM type, a non-volatile electronic memory of the flash memory type, a memory space of one of these memories dedicated to the storage of data and user programs.
FR0115539A 2001-11-30 2001-11-30 PDA-TYPE COMPUTER DEVICE FOR STORING AND MANAGING RELATIONAL DATABASES Expired - Fee Related FR2833094B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0115539A FR2833094B1 (en) 2001-11-30 2001-11-30 PDA-TYPE COMPUTER DEVICE FOR STORING AND MANAGING RELATIONAL DATABASES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0115539A FR2833094B1 (en) 2001-11-30 2001-11-30 PDA-TYPE COMPUTER DEVICE FOR STORING AND MANAGING RELATIONAL DATABASES

Publications (2)

Publication Number Publication Date
FR2833094A1 true FR2833094A1 (en) 2003-06-06
FR2833094B1 FR2833094B1 (en) 2004-01-30

Family

ID=8869995

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0115539A Expired - Fee Related FR2833094B1 (en) 2001-11-30 2001-11-30 PDA-TYPE COMPUTER DEVICE FOR STORING AND MANAGING RELATIONAL DATABASES

Country Status (1)

Country Link
FR (1) FR2833094B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0336586A2 (en) * 1988-04-08 1989-10-11 International Business Machines Corporation Data storage, retrieval and transmission in computer systems
US6061690A (en) * 1997-10-31 2000-05-09 Oracle Corporation Apparatus and method for storage of object collections in a database system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0336586A2 (en) * 1988-04-08 1989-10-11 International Business Machines Corporation Data storage, retrieval and transmission in computer systems
US5414834A (en) * 1988-04-08 1995-05-09 International Business Machines Corporation Method and apparatus for data storage and interchange using a relational database table, and a data record for use in connection therewith
US6061690A (en) * 1997-10-31 2000-05-09 Oracle Corporation Apparatus and method for storage of object collections in a database system

Also Published As

Publication number Publication date
FR2833094B1 (en) 2004-01-30

Similar Documents

Publication Publication Date Title
US20180075090A1 (en) Computer-Implemented System And Method For Identifying Similar Documents
CN101859425B (en) Method and device for providing application list
EP1860581A1 (en) Systems and methods for sharing digital media content
US20070143527A1 (en) Saving and restoring an interlocking trees datastore
US20060173910A1 (en) Dynamic identification of a new set of media items responsive to an input mediaset
US20110125755A1 (en) Systems and methods for thumbnail management
EP1515239A1 (en) Method and System for handling data extracted from multidimensional databases using a spreadsheet
US20170177614A1 (en) Virtual collection of entities in sync process
US11762899B1 (en) Lightness filter
US20240004896A1 (en) Extensible data platform with database domain extensions
US20110282896A1 (en) Representation of media types
CN111753204B (en) Information pushing method and device, electronic equipment and storage medium
KR101034511B1 (en) Client-server protocol
WO2005004000A1 (en) Pda-type computer device for storing and managing relational databases
FR2833094A1 (en) Personal digital assistant for storing and management of relational databases, comprises microprocessor, and user memory which contains recordings of tables defining fixed and variable sized fields
CN113377975A (en) Multimedia resource processing method and device, computer equipment and storage medium
CH717260A2 (en) Computer-implemented method for analogue document retrieval.
WO2005004001A1 (en) Pda-type computer device for storing and processing relational databases
FR3118250A1 (en) Document management system integrated in a computer operating system, corresponding method and computer program
Han et al. Clustering files with extended file attributes in metadata
FR2833095A1 (en) Personal digital assistant for storing/processing relational databases, comprises copying field key format information from first to second table descriptors and establishing links between tables
WO2005031602A2 (en) Method for organising a database
CN115203000A (en) Method, device and computer equipment for verifying search recall quality
FR3094509A1 (en) Redundant data storage system, corresponding method and computer program.
CN113763108A (en) Article pushing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20110801