WO2005004001A1 - Pda-type computer device for storing and processing relational databases - Google Patents

Pda-type computer device for storing and processing relational databases Download PDF

Info

Publication number
WO2005004001A1
WO2005004001A1 PCT/FR2003/001678 FR0301678W WO2005004001A1 WO 2005004001 A1 WO2005004001 A1 WO 2005004001A1 FR 0301678 W FR0301678 W FR 0301678W WO 2005004001 A1 WO2005004001 A1 WO 2005004001A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
key
record
recording
field
Prior art date
Application number
PCT/FR2003/001678
Other languages
French (fr)
Inventor
Eric Vergnaud
Original Assignee
M-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 M-Penbase filed Critical M-Penbase
Priority to PCT/FR2003/001678 priority Critical patent/WO2005004001A1/en
Publication of WO2005004001A1 publication Critical patent/WO2005004001A1/en

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

Definitions

  • the invention relates to a device for digital processing of data of the so-called PDA ("Personal Digital Assistant") type: pocket computer such as those sold under the names. Palm ®, Pocket PC ®, PSION ® or even EPOC ®, as well as any other portable computing device (electronic diaries, communicating mobile phones such as those of the so-called “smart phone” type, and other terminals) and / or of low capacity. processing and storage (on-board computer by vehicle - metering and processing terminal for meteorological data, etc.).
  • PDA Personal Digital Assistant
  • pocket computer such as those sold under the names. Palm ®, Pocket PC ®, PSION ® or even EPOC ®
  • any other portable computing device electronic diaries, communicating mobile phones such as those of the so-called “smart phone” type, and other terminals
  • processing and storage on-board computer by vehicle - metering and processing terminal for meteorological data, etc.).
  • Such a PDA device comprises: processing means comprising at least one microprocessor (provided with at least one internal memory called register); non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible in read and write mode by the processing means for storing programs and / or user data (programs and / or personal data specific to a user of the device and / or to a particular use of the device, data acquired, that is to say entered by a user and / or measured by means of measurement of the device or linked to the device (meteorological data for example- and / or teletransmitted 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 means for acquiring user data and means for restoring said data; software means stored in the read-only memory and / or in the user memory adapted to manage at least one
  • a PDA device is in particular free from mass memory with magnetic or optical recording medium requiring the intervention of a reading device using mechanical means: the data and user programs are indeed stored in an electronic memory, which can be, for example, a non-volatile electronic memory of the "flash” memory type (non-volatile electronic memory rewritable without specific equipment, direct and relatively fast access), or even a volatile electronic memory of the "RAM” or memory type “SRAM” (random access memory of the device, direct and very fast access), the device having to, in this case - which is the most frequent -, be constantly supplied with electric energy by a battery working without tension.
  • Professional or personal software applications are mostly based on databases, and in particular relational databases.
  • a relational database is made up 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.
  • Fields can be of various types (character string, boolean, date, time, integer, decimal, binary ...), of fixed size or of variable size.
  • the fields are ordered in a predetermined order (order of the columns of the table).
  • Two tables are linked together by key fields common to the two tables.
  • the same table can be linked to several tables: it therefore has common key fields with a first table, common key fields with a second table, etc., the common key fields with the first table can be different from those common with the second.
  • "key fields of one of the first tables” are used to designate the key fields of said first table common with the second table concerned .
  • the linked records of two tables are those for which the values of the key fields of the first table are equal to the values of the key fields of the second table.
  • Performing a join between the first and second tables consists of comparing the values of the key fields of the records of the first table with the values of the key fields of a record of the second table (or vice versa), and of selecting and storing at minus information representative of the fact that one or more records) of the first table is (are) linked to said recording of the second table.
  • SQL model Structured Query Language
  • SQL model Structured Query Language
  • SQL model Structured Query
  • the known devices are therefore suitable for reading the memory spaces occupied by the Tablel_champ.i and Table2_champ.i fields, copying the electronic data (series of bits) that they contain in an internal working memory at microprocessor called register, converting said electronic data into data which can be compared with each other, that is to say rewriting the values of the key fields in the register according to a common recording format allowing their comparison.
  • a step of conversion and interpretation of the data recorded in the key fields of the first and second tables is therefore necessary to perform their joining, consuming memory and additional time.
  • SQL search engines have historically been created for server-type devices, with greater processing capacity than PDA devices and equipped with a mass memory with optical or magnetic recording medium (peripheral slow such as a hard drive) for database storage.
  • a search carried out on the database of a server involves the loading (copying) into a working memory of the "RAM" type of the data (tables) concerned by the search, in view to perform the various search operations (including the scalar product of a possible join operation) in this access and fast processing working memory.
  • Previous PDAs incorporating databases are equipped with database management systems and search engines using this method.
  • the results of a search stored in a working memory and supplied to the user, therefore correspond to a copy of the value of one or more fields (depending on the parameters sought, entered by the user ) records verifying the search criteria.
  • This copy is dissociated from its original recording (s). It is therefore impossible in previous PDA devices to perform a search based on the results of a search " previous, the records concerned not being known to the processing means.
  • the invention aims to overcome these drawbacks by proposing a device of the PDA type making it possible to easily, quickly and easily join joins between tables of a relational database.
  • the invention aims to propose a device capable of producing such joins almost instantaneously despite a processing speed and a limited working memory.
  • Another objective of the invention is to propose a construction of relational databases adapted to the specificities and performances of PDAs and making it possible to go back from one field of a table to a plurality of fields of another table.
  • Another objective of the invention is to propose a device of the PDA type provided with a search engine using a simplified query language, requiring for its operation and the storage of its applications a reduced electronic memory space, and making it possible to carry out single-criteria or multi-criteria searches on several tables in the database ten to one hundred times faster than previous PDA devices.
  • Another objective of the invention is to propose a device of the PDA type capable of carrying out a search for data on the basis of the results of a previous search.
  • the invention relates to a device (PDA type) for digital data processing, comprising processing means comprising at least one microprocessor; non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible in read and write mode by the processing means for storing user programs and / or data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least means for acquiring (input, measurement, reception, etc.) of user data and means for restitution (display, sound, transmission, etc.) of said data; software means stored in the read-only memory and / or in the user memory adapted to manage at least one relational database constructed according to specificities defined by a person, called operator, and making it possible to organize the storage of user data in the form of 'records of tables each comprising a plurality of fields, said database comprising at least two tables linked
  • the device according to the invention is characterized in that it is suitable for: during the construction (definition of tables, fields, relational rules, etc.) of the database, saving in the user memory a format of the records of one - first - of the two tables, as defined and entered by the operator, in a descriptor called descriptor of the first table, and copy into the user memory, from the descriptor of the first table, the information defining the format of each of the key fields of said table (those common with the second table) to a descriptor of the second table defining a format of the records of the other -second- of said tables, so that each key field is defined with the same format in the two tables, - allow the creation of at least one join between said tables in order to determine the record (s) of one -first- of said tables linked (s) to a record of the other - second - of said tables, by directly comparing the electronic state of the key memory spaces of the record of the second table and of at least one record of the first table, and memori
  • the term "descriptor" of a table designates both the data describing the format of the records of the table and the memory block in which these data are stored.
  • the descriptor describes the type and size of the fields constituting said table, in the predetermined order of said fields.
  • a reference to point to the descriptor is inserted in each record of the table (at the start of the record), to indicate to the database management system to which table the record belongs and in what format it was memorized, in particular with a view to enabling it to locate the various fields within the record.
  • the device according to the invention is therefore suitable for importing the format of the key fields from the descriptor of one of the tables to the descriptor of the other table. In one version.
  • this importation takes place automatically: during the construction of the database, the operator defines one of the first two tables (type and size of his fields) by means of his descriptor, he defines the other second of the tables by means of its descriptor, excluding the fields common with the first table which only serve to establish a relationship between the two tables, it finally defines a single field, called the relation field of the first and second tables, formed by the combination of key fields, as defined in the descriptor of the first table; the device according to the invention is advantageously adapted to memorize the definition of the relation field, as entered by the operator, and to copy, from the descriptor of the first table, the information defining the format of each of the fields composing said relation field to the descriptor of the second table, and this automatically following the definition of the relation field of said tables.
  • direct comparison of memory spaces is meant a physical comparison of said memory spaces, that is to say a comparison of the electronic state (0 or 1) of the different corresponding bits of said spaces (two corresponding bits occupy the same place in the two memory spaces), without prior conversion and interpretation of the stored data.
  • Such a comparison, particularly simple and rapid, is made possible by the fact that, thanks to the invention, the corresponding fields of the two linked tables necessarily have the same format, and that consequently, in case of equality of the values that they contain, there is necessarily an electronic identity (same number of bits and same state (0 or 1) of the corresponding bits) of the corresponding memory spaces. In a device according to the invention, making a joint between two tables is therefore a particularly simple and rapid operation, consuming little memory.
  • the device according to the invention is also advantageously adapted to calculate and store, for each record in the database, an identifier allowing direct access to said record in the user memory.
  • the identifier can be an integer of fixed size. It is listed and stored in an address table establishing the correspondence between the physical address (or possibly a logical address) of each record and its identifier, and thus making it possible to locate the location of the record in the user memory.
  • the device is also adapted to be able to perform, when making a joint between the first and second tables, one or more of the following operations: compare byte by byte, successively, the key memory spaces of the recording of the second table and of a recording of the first table.
  • the device is suitable for carrying out a comparison word by word (respectively long word by long word, or double by double) of the key memory spaces - corresponding to said field - of the recording of the second table and of a recording of the first table. If one of the key fields is a character string, the device is adapted to perform an byte by byte comparison of the key memory spaces of said records corresponding to said key field.
  • the device is adapted to select said records at random; compare key field by key field the key memory spaces of the recording of the second table and of a recording of the first table; and / or interrupt the comparison of the key memory spaces of the recording of the second table and of a recording of the first table as soon as the memory spaces of two compared key fields compared have a different electronic state; and / or in the case where at least one of the key fields is an indexed field, successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, by performing a dichotomous search on the index of the indexed key field.
  • the device is adapted to develop, update for each new record entered from a table predefined by the operator, and store in the user memory, an index of a field of said table, said indexed field, predefined by the operator, said index comprising the identifiers of the records of said table stored one after the other so that the values of the indexed field of said records are ordered, that is to say classified in an order predefined by the operator (alphabetical order for alphabetic character strings, ascending or descending order for whole or decimal numbers, chronological order for dates, etc.).
  • the device is in this case adapted to select each record of the first table to be compared to the record of the second table by performing a dichotomous search on the indexed field: if the comparison of the record of the second table with a selected record of the first table indicates that the value of the key field indexed of said record of the first table is lower (respectively higher) than the value of the key field of the record of the second table, the device is adapted to select, as new record to compare, the one whose identifier is located, in the index, in the middle of the list of identifiers delimited by the identifier of the previously selected record and the last (respectively the first) identifier of the index (in the case of a classification of the values of the indexed field in ascending order in the index).
  • the combination of the key fields constitutes a primary key of the first of the two tables, and a foreign key of the second.
  • primary key is meant a field or a combination of fields making it possible to identify each of the records of a table individually, that is to say taking a value different for each record.
  • a foreign key of a second table is understood to mean a field or a combination of fields making it possible to establish a relationship with a first table: the fields used as foreign key of the second table correspond, for this purpose, to the fields defining a primary key of the first table.
  • the device is preferably adapted to copy, from the descriptor of the first table, the format (type and size) of the fields defining the primary key of said first table to the descriptor of the second table. It is also suitable for defining the combination of the fields thus imported as being a foreign key to the second table.
  • the device is advantageously adapted to interrupt the comparisons between the key memory space of the recording of the second table and the key memory spaces of records of the first table, as soon as a recording of the first table having a memory space electronically identical key to that of the registration of the second table has been identified (this registration is indeed the only one verifying the identity), that is to say, in other words, as soon as representative information that a record from the first table is linked to the record from the second table has been stored.
  • the registration of the second table, the starting point for the joining of the second and first tables, generally constitutes the result of a query included in the context of a search carried out in the database on the initiative of a user. or during the execution of an application previously programmed by the operator.
  • the device is suitable for: - in response to a search carried out in the database on the basis of search criteria, entered by a user or an operator and comprising at least information for designating a table, said search table, a field of said table, said search field, a comparison operator, a reference value, and another table, said result table, select the record (s) (s) of said search table verifying said search criteria (this is the record (s) for which the value of the search field is equal, greater or less (depending on the 'comparison operator) to the reference value), - perform at least one join between the lookup table and the result table in order to determine the record (s) of the linked result table (s) on each previously selected record from the search table (the device performs as many join operations as there are records from the search table selected), - store, in user memory, the identifier of the record (s) (s), previously determined, of the result table.
  • a search whose search criteria are limited to those listed above is said to be a single-criteria search (the search only concerns a single search field on which a single comparison is carried out) on several tables.
  • the device also makes it possible to carry out single-criteria searches on a single table (these searches do not require any join operation), or even multi-criteria searches (involving several reference values and possibly several comparison operators) on several tables, by combining several mono-criteria searches on one or more tables, and by performing, if necessary, one or more joins.
  • the device according to the invention therefore provides the software means for managing the database, as a result of a search, with means (identifiers) for accessing the records sought. This characteristic is particularly advantageous in view of the fact that the database is stored on a fast and direct access memory.
  • the production of a join between the first and second tables can be programmed using a single command line, in a simplified specific query language which uses in particular the relationship field - formed by the combination of the key fields common to the first and second, tables - defined during the construction of the database, as it will be explained below.
  • the device according to the invention comprises for this purpose software means suitable for compiling and / or assembling and / or editing relationships and / or interpreting applications using this specific request language.
  • the user memory is chosen from a dynamic 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 electronic memory of the “flash” memory type (“EEPROM” memory: “Electrically Erasable Programmable Read Only Memory”, erasable by 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.
  • RAM Random Access Memory
  • SRAM static volatile electronic memory of the “Static Random Access Memory”
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • the invention extends to a method of building a relational database for storing and processing user data in a device (of the PDA type) comprising processing means comprising at least one microprocessor; non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible for reading and writing by the processing means for storing user programs and / or data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least means for acquiring user data and means 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 constructed according to specificities defined by an operator, said database comprising at least two tables linked together by one or more common fields, called key fields, which occupy, for each record of said tables, a memory space called key memory space of the record.
  • the method according to the invention is characterized in that it comprises the following steps: storage in the user memory of a format of the records of one -first- of the two tables, as defined and entered by the operator, in a descriptor of the first table, storage of the definition, as entered by the operator, of a field, said relation field of the first and second tables, formed by the combination of key fields (those common to the two tables and already defined in the descriptor of the first table) and intended to allow establishing a relation between the two tables (the definition of this relationship field is equivalent to the definition of relational rules linking the two tables), copy of the information defining the format (type and size) of each of the fields making up the relationship field, from the descriptor of the first table to a descriptor of the second table, defining a format for the records of the other -second-table, so that each key field is defined with the same format in both t ables.
  • the method of constructing the database preferably comprises a step of calculation and storage, for each record of said database, of an identifier allowing direct access to said record in the user memory. It also includes the development, updating for each new record entered from a table predefined by the operator, and storing in user memory, an index of a field of said table predefined by the operator , said indexed field, said index comprising the identifiers of the records of said table stored one after the other so that the values of the indexed field of said records are classified in an order predefined by the operator.
  • the classification of a new record in the index is done automatically by dichotomy.
  • the invention also extends to a method of joining between two linked tables of a database in a device of the PDA type according to the invention, said base being constructed according to the aforementioned construction method according to the invention , in order to determine the record (s) of the first one of said tables linked to a record of the other second of said tables.
  • this method comprises a step of direct comparison, by the microprocessor processing means (s), of the electronic state of the key memory spaces of the recording of the second table and of at least one recording of the first table, and a step of memorizing in the user memory at least one item of information, known as the result of the join, representative of the fact that one or more identified record (s) of the first table have) a key memory space electronically identical to that of the recording of the second table.
  • the method according to the invention for making a join between a first and a second table advantageously has one or more of the following characteristics: the comparison of the key memory spaces of the recording of the second table and of a recording of the first table is made byte by byte, successively.
  • this comparison is interrupted as soon as two corresponding bytes compared have a different electronic state.
  • the comparison is carried out word by word (or long word by long word, or double by double), and is interrupted as soon as two corresponding words (or long words, or even double) compared have a different electronic state;
  • the comparison of the key memory spaces of the recording of the second table and of a recording of the first table is carried out key field by key field, and, in the case where at least one of the key fields is an indexed field , the processing means successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, by performing a dichotomous search on the index of the indexed key field;
  • the processing means successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, in their order (or reverse order) of storage in the user memory; in the case where the combination of the key fields constitutes a primary key of the first table and
  • the joining process is notably implemented automatically in the device in response to a search carried out in the database on the basis of search criteria entered by a user or by an operator, said criteria comprising at least a first table, said result table, a field, said search field, of a second table (different from the result table), called search table, a reference value and a comparison operator, the join carried out concerning said search table and result table.
  • the invention extends to a search method, in a database constructed according to the aforementioned construction method according to the invention, from search criteria entered by a user (comprising at least one result field).
  • the search method according to the invention comprises, where appropriate, the production of at least one join between a first and a second table according to all or part of the characteristics described above, memorization in the user memory, by way of result of the search, of the identifier of each of the records verifying the search criteria, and the display on the display screen of the value of the result field (s) of each of said records.
  • the search method according to the invention is implemented by means of a simplified query language (in particular for programming joins) using the relationship fields of the linked tables.
  • the invention also relates to a PDA type computing device, a method of constructing a relational database, a method of realizing a join between two tables of a database constructed according to said method of constructing, a method of searching in a such database, characterized in combination by all or some of the characteristics mentioned above and below.
  • FIGS. 1 and 2 are examples of tables from a relational database installed in a device according to the invention.
  • Tables 1 and 2 are examples of tables from a relational database installed in a device according to the invention;
  • FIG. 3 represents a part of a memory block of a record from table 1;
  • FIG. 4 represents part of a memory block of a recording from table 2.
  • the microprocessor 1 comprises a microprocessor 1, of small dimensions and cost, but also of low processing capacity (about ten times lower than that of a standard desktop computer).
  • the microprocessor 1 is connected to a non-volatile electronic memory 2 of the "ROM” type directly accessible in read-only mode by the microprocessor, in which are stored general operating programs (and in particular an operating system, of the type of those sold under the names PalmOS ®, PocketPC ®). It is also connected to a volatile electronic memory 3 of the "SRAM” type directly accessible in reading and writing by the microprocessor, of which a part 3b, called working memory, is dedicated to the execution of operations related to the operation of the device.
  • ROM read-only memory
  • SRAM static random access memory
  • a battery 13 which may be an alkaline battery or, preferably, a rechargeable battery, lithium or nickel cadmium for example.
  • the device comprises means of communication with external devices in order to allow the export of said data to these external devices, as well as all synchronization operations (harmonization of the databases stored in the PDA and in the external devices): a connection port 10 of the "USB" ("Universal Serial Bus") port type to allow the wired connection of the device according to the invention to a desktop computer 8 and / or to a modem 9, infrared transmission means 12, and wave transmission means 11 making it possible to transmit files to a desktop computer via a server internet (by sending an email).
  • USB Universal Serial Bus
  • the device is also provided with a display screen 4, preferably with liquid crystal, and data entry means such as a keyboard 5, control buttons 7 programmed to trigger certain functions, and a pen 6b for handwritten data entry on a touch screen 6a.
  • the device comprises software means for recognizing characters stored in the "ROM" memory 2 in order to allow the handwritten entry of data by means of said pen 6b.
  • a device as illustrated in FIGS. 1 and 2 is distributed to each doctor of a hospital, in order to allow said doctor to note information about his patients during the consultations he provides, to establish his treatment cards. , to consult, if necessary, a database listing the various existing drugs, their composition and properties, etc. Daily, the doctor performs a synchronization of its base.
  • a first Patients table gathers general information concerning each patient in the hospital.
  • a second Examinations table gathers medical information concerning each patient, and allows daily monitoring of his condition (date, temperature, blood pressure, various symptoms, etc.).
  • a third Care table lists the Care sheets established by each doctor.
  • a fourth Prescriptions table (not described) makes it possible to store the prescriptions prescribed by each doctor (drugs, dosage, duration of treatment, additional examinations to be performed, etc.).
  • Soin_personne_SSl (number of the care sheet) Soin_personne_SSl (gender) Soin_personne_SS2 (year) Soin_personne_SS3 (month) Soin_personne_SS4 (department) Soin_personne_SS5 (number) DoctorJDD Date PrescriptionJ-D Code_consultation AmountHT
  • FIG. 3 represents a part of the memory block occupied by a record 100 of the Patients table.
  • FIG. 4 represents a part of the memory block of a record 200 of the Treatment Table.
  • Bytes 201 and 202 are used to store the SoinJ-D field; byte 203 corresponds to the Soin_Personne_SSl field; byte 204 corresponds to the Soin_Personne_SS2 field; byte 211 corresponds to the Soin_Personne_SS3 field; byte 212 corresponds to the Soin_Personne_SS4 field; bytes 213 and 214 correspond to the Soin_Personne_SS5 field; bytes 221 and 222 are used to store the value of the Doctor D field; the next 4 bytes (partially shown) correspond to the Date field, etc.
  • the Treatments table has these same fields, corresponding to bytes 203-204 and 211 to 214 for the record 200, which constitute for this table a foreign key allowing, starting from a record of the Treatments table, to go back to the corresponding record from the Patients table.
  • a patient can be the subject of different treatment sheets, such a relationship is called a 1-N relationship.
  • the Examinations and Patients tables are linked in the same way by means of the fields constituting the patient's social security number.
  • the Prescriptions and Treatments tables are linked by means of the GD Prescription field (noted respectively OrdonnanceJ-D and Soins_Ordonnance_ID).
  • OrdonnanceJ-D the Prescription field
  • Soins_Ordonnance_ID the device according to the invention is suitable for import the definition of the format of the Person_SSi fields from the descriptor defining the format of the records in the Patients table to the descriptor defining that of the records in the Care table. This operation is performed automatically following the definition of the relational rules linking the two tables (definition of primary, foreign keys, relationship fields, etc.).
  • the Person_SSi fields composing the primary key of the Patients table and the relation field with the Care table, are defined following each of the others in the descriptor of said table, and therefore stored one after the other in user memory when a record is inserted.
  • the definition of the Care_Personne_SSi fields in the file format of the Care table is performed automatically by a single operation of copying the data from the descriptor of the Patients table relating to the said fields, they are therefore automatically defined following each other in the Care table.
  • the key memory space dedicated to the combination of the Care_Person_SSi fields is therefore a compact memory block.
  • the foreign and primary keys of the Care and Patient tables allow, for example, from any information concerning a given care sheet (for example the identification number of the care sheet, noted SoinJD), to access information of the patient who is the subject of the treatment sheet.
  • a search is said to be mono-criterion on several tables.
  • the search table is the Care table
  • the search field is the CareJD field
  • the reference value is the identification number of the care sheet concerned, for example 123456789
  • This . operation is written with a single command line: "Join many to one Care. PersonJ-D".
  • a relation field PersonJD was defined as gathering the fields Person_SSi (i taking the values 1 to 5) and constituting in addition a primary key of the Patients table.
  • the Care_person_SSi fields have been defined as constituting a single field forming a foreign key in the Care table pointing to the primary person JD key in the Patients table.
  • the comparison is carried out, for example, byte by byte: the processing means successively compare bytes 141 and 203, then 142 and 204, then 143 and 211, then 144 and 212, then 173 and 213, then 174 and 214. Said bytes are read and directly compared, without any prior formatting or interpretation of the data they contain.
  • the operation is carried out without creation or storage in the working memory of a search table (scalar product) comprising the records of the Patients and Care tables. In this example, there is only one record in the Patients table that checks for equality.
  • the device is suitable for interrupting comparisons as soon as the record sought has been identified ("many to one" command).
  • This last step advantageously uses the fact that the user data is stored in a memory 3a directly and quickly accessible for reading and writing (electronic memory) by the microprocessor. It allows searches based on the results of the previous search, extremely quickly. Thus, the address of the person who was the subject of care sheet n ° 123456789, and whose name (Martin for example) appears on the display screen in response to the previous search, is directly accessible thanks to the identifier of the record, still in memory as a result of the previous search. This operation is a simple instant read operation in the user memory.
  • the combination of the CareJPersonJSSi fields is defined as a single field (foreign key) used to establish a relationship with the Patients table.
  • each of the Care_Person_SSi fields is defined individually as a field in the Care table (the format of which was imported from the descriptor of the Patients table), so that it is also possible to carry out searches on this Care table relating to on only one of these fields.
  • the device according to the invention therefore makes it possible to perform joins between linked tables of a database (the relational rules must, in return, be defined during the construction of the database) in a secure manner and extremely fast, thus considerably reducing the search times in said database.
  • the device according to the invention is adapted to allow the creation of a join in order to determine the single record of a first table linked to a record of a second table which may contain several records linked to the record. retrieved from the first table (relationship known as 1-N and corresponding to the example described above: the same person, identified by a single social security number, can be the subject of several Care sheets).
  • Such a search is written by means of a single command line: "Join many to one Treatments. PersonJD".
  • the device is suitable for making as many joins of said first and second tables as there are selected records. All the joins are programmed by means of a single command line: "Join multiple many to one Treatments. PersonJD”.
  • the device also makes it possible to perform a join in order to determine the records of a first table linked to a record of a second table, it being specified that said second table contains only one record linked to the searched records of the first table (relationship Nl: this involves, for example, finding the treatment sheets for which a given person was the subject, the first table being the Treatment table, the second the Patients table).
  • Relationship Nl this involves, for example, finding the treatment sheets for which a given person was the subject, the first table being the Treatment table, the second the Patients table).
  • Such research is also written by means of a single line of program, using a "one to many" command: "Join one to many Treatments. PersonJD".
  • the device performs a plurality of joins under the following single command: "Join multiple one to many Treatments. PersonJD".

Abstract

The invention relates to a PDA-type computer for managing a relational database, containing at least two tables that are linked to one another by one or more common fields, called key fields. The inventive device is characterized in that is adapted for: during the construction of the database, recopying the information defining the format of each of the key fields from a descriptor of the first table previously stored in the user memory (3a) of the device to a descriptor of the second table; permitting the realization of at least one joining between these tables while directly comparing the electronic state of the key memory spaces of a recording of the second table and of at least one recording of the first table, and; storing at least one item of representative information by virtue of the fact that one or more identified recording(s) of the first table has/have a key memory space that is electronically identical to that of the recording of the second table.

Description

DISPOSITIF INFORMATIQUE DU TYPE PDA POUR LE STOCKAGE ET LE TRAITEMENT 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 Palm ®, Pocket PC ®, PSION ® ou encore EPOC ®, ainsi que tout autre dispositif informatique portatif (agendas électroniques, téléphones portables communicants tels que ceux du type dit "smart phone", et autres terminaux) et/ou de faible capacité de traitement et de stockage (ordinateur embarqué par véhicule- terminal de mesure et de traitement de données météorologiques, etc.). Un tel dispositif PDA comprend : des moyens de traitement comportant au moins un microprocesseur (doté 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 du dispositif 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 du dispositif ou 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 ; 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. 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 œuvre 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 du dispositif, 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. Les applications logicielles professionnelles ou personnelles reposent pour la plupart sur des bases de données, et notamment sur des bases de données relationnelles. L'explosion du marché des PDA a fait naître le souhait de créer de nouvelles applications pour ces dispositifs ou d'y implanter des applications existantes. Mais les technologies traditionnelles de bases de données sont inadaptées aux PDA, en raison de la faible capacité de stockage et de la puissance de traitement limitée de ces derniers. 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 dé la table). Deux tables sont liées entre elles par des champs clefs communs aux deux tables. Une même table peut être liée à plusieurs tables : elle dispose donc de champs clefs communs avec une première table, de champs clefs communs avec une deuxième table, etc., les champs clefs communs avec la première table pouvant être différents de ceux communs avec la deuxième. Dans toute la suite, lorsque deux tables liées sont concernées et lorsqu'il n'y a aucune ambiguïté possible, on désigne par "champs clefs de l'une première desdites tables" les champs clefs de ladite première table communs avec la seconde table concernée. Les enregistrements liés de deux tables sont ceux pour lesquels les valeurs des champs clefs de la première table sont égales aux valeurs des champs clefs de la deuxième table. Réaliser une jointure entre les première et deuxième tables consiste à effectuer une comparaison des valeurs des champs clefs des enregistrements de la première table avec les valeurs des champs clefs d'un enregistrement de la deuxième table (ou inversement), et à sélectionner et mémoriser au moins une information représentative du fait qu'un ou plusieurs enregistrements) de la première table est(sont) lié(s) audit emegistrement de la deuxième table. Pour réaliser cette opération, les dispositifs PDA actuels sont programmés, selon le modèle dit SQL ("Structured Query Language", langage de requête structuré pour la création, la gestion et la consultation de bases de données relationnelles, implanté sur les PDA connus), pour effectuer une opération communément appelée "produit scalaire" des deux tables, consistant à créer et mémoriser dans une mémoire de travail une table de recherche dont chaque ligne comprend une ligne de la première table (c'est-à-dire les valeurs des différents champs d'un enregistrement de la première table) et une ligne de la deuxième table à la suite l'une de l'autre, et à rechercher, parmi les lignes de la table de recherche ainsi créées, celles vérifiant simultanément les égalités valeur(Tablel_champ.i) = valeur(Table2_champ.i), i prenant successivement les valeurs 1 à n, où les champs champ .1 à champ .n sont les champs clefs communs auxdites première et deuxième tables, notés respectivement Tablel_champ.i et Table2_champ.i. La commande d'une telle opération nécessite l'écriture des lignes de requête suivantes en langage SQL : "sélect * from Table 1, Table2 where Tablel_champJ = Table2_champJ and Tablel_champ.2 = Table2_champ.2 and Table l_champ.n = Table2_champ.n" Si la première table compte 10 000 enregistrements et la deuxième table 100 000 enregistrements, le produit scalaire de ces deux tables comptera 109 lignes. Une telle opération exige une mémoire et une capacité de traitement souvent supérieures à celles disponibles dans les micro-ordinateurs actuels du type ordinateur personnel de bureau. C'est pourquoi les moteurs de recherche SQL disposent tous d'un optimiseur de requête permettant de réduire le nombre de lignes avant d'en effectuer le produit scalaire. Cependant, malgré l'existence de ces optimiseurs, le modèle SQL est totalement inadapté aux PDA, qui disposent de ressources bien inférieures à celles desdits micro-ordinateurs. Les temps de traitement y sont par conséquent souvent incompatibles avec l'exploitation de moteurs SQL. Il est à noter, de plus, qu'il est fréquent que les champs correspondants Table l_champ.i et Table2_champ.i (i prenant successivement les valeurs 1 à n) présentent des formats d'enregistrement différents (en terme de type et/ou de taille). Pour vérifier chacune des égalités précédentes, les dispositifs connus sont donc adaptés pour lire les espaces mémoires occupés par les champs Tablel_champ.i et Table2_champ.i, recopier les données électroniques (série de bits) qu'ils contiennent dans une mémoire de travail interne au microprocesseur dite registre, convertir lesdites données électroniques en des données pouvant être comparées entre elles, c'est-à-dire réécrire les valeurs des champs clefs dans le registre selon un format d'enregistrement commun permettant leur comparaison. Une étape de conversion et d'interprétation des données enregistrées dans les champs clefs des première et deuxième tables est donc nécessaire pour réaliser leur jointure, consommant mémoire et temps supplémentaires. Il est à noter également que les moteurs de recherche SQL ont historiquement été créés pour des dispositifs du type serveur, de plus grande capacité de traitement que les dispositifs PDA et dotés d'une mémoire de masse à support d'enregistrement optique ou magnétique (périphérique lent tel qu'un disque dur) pour le stockage de la base de données. L'accès à une telle mémoire étant particulièrement lent, une recherche effectuée sur la base de données d'un serveur implique le chargement (recopie) dans une mémoire de travail du type "RAM" des données (tables) concernées par la recherche, en vue d'effectuer les différentes opérations de recherche (dont le produit scalaire d'une éventuelle opération de jointure) dans cette mémoire de travail d'accès et de traitement rapide. Les PDA antérieurs incorporant des bases de données sont dotés de systèmes de gestion de bases de données et de moteurs de recherche utilisant ce procédé. Dans ces dispositifs, les résultats d'une recherche, mémorisés dans une mémoire de travail et fournis à l'utilisateur, correspondent donc à une copie de la valeur d'un ou de plusieurs champs (selon les paramètres recherchés, saisis par l'utilisateur) des enregistrements vérifiant les critères de recherche. Cette copie est dissociée de son(ses) enregistrement(s) d'origine. Il est par conséquent impossible, dans les dispositifs PDA antérieurs, d'effectuer une recherche à partir des résultats d'une recherche" précédente, les enregistrements concernés n'étant pas connus des moyens de traitement. L'invention vise à pallier ces inconvénients en proposant un dispositif du type PDA permettant de réaliser de façon simple, sure et rapide des jointures entre des tables d'une base de données relationnelles. En particulier, l'invention vise à proposer un dispositif apte à réaliser de telles jointures de façon quasi-instantanée malgré une vitesse de traitement et une mémoire de travail limitées. Un autre objectif de l'invention est de proposer une construction de bases de données relationnelles adaptée aux spécificités et performances des PDA et permettant de remonter d'un champ d'une table vers une pluralité de champs d'une autre table. Un autre objectif de l'invention est de proposer un dispositif du type PDA doté d'un moteur de recherche utilisant un langage de requête simplifié, nécessitant pour son fonctionnement et le stockage de ses applicatifs un espace mémoire électronique réduit, et permettant de réaliser des recherches mono-critères ou multi-critères sur plusieurs tables de la base de données dix à cent fois plus vite que les dispositifs PDA antérieurs. Un autre objectif de l'invention est de proposer un dispositif du type PDA apte à réaliser une recherche de données sur la base des résultats d'une recherche précédente. L'invention concerne un dispositif (du type PDA) 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 (saisie, mesure, réception...) de données utilisateur et des moyens de restitution (visualisation, sonorisation, transmission...) 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 construite selon des spécificités définies par une personne, dite opérateur, et permettant d'organiser le stockage des données utilisateur sous forme d'enregistrements de tables comprenant chacune une pluralité de champs, ladite base de données comprenant au moins deux tables liées entre elles présentant, à cette fin, un ou plusieurs champs communs, dits champs clefs (on désigne ainsi uniquement les champs clefs communs aux deux tables), qui occupent, pour chaque enregistrement desdites tables, un espace mémoire dit espace mémoire clef de l'enregistrement. Le dispositif selon l'invention est caractérisé en ce qu'il est adapté pour : lors de la construction (définition des tables, champs, règles relationnelles, etc.) de la base de données, enregistrer dans la mémoire utilisateur un format des enregistrements de l'une -première- des deux tables, tel que défini et saisi par l'opérateur, dans un descripteur dit descripteur de la première table, et recopier dans la mémoire utilisateur, à partir du descripteur de la première table, les informations définissant le format de chacun des champs clefs de ladite table (ceux communs avec la seconde table) vers un descripteur de la seconde table définissant un format des enregistrements de l'autre -seconde- desdites tables, de sorte que chaque champ clef est défini avec le même format dans les deux tables, - permettre la réalisation d'au moins une jointure entre lesdites tables en vue de déterminer le ou les enregistrement(s) de l'une -première- desdites tables lié(s) à un enregistrement de l'autre -seconde- desdites tables, en comparant directement l'état électronique des espaces mémoires clefs de l'enregistrement de la seconde table et d'au moins un enregistrement de la première table, et mémoriser dans la mémoire utilisateur au moins une information, dite résultat de la jointure, représentative du fait qu'un ou plusieurs enregistrement(s) identifié(s) de la première table présentent) un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table. Il est à noter que le terme "descripteur" d'une table, 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. Le descripteur décrit le type et la taille des champs constituant ladite table, dans l'ordre prédéterminé desdits champs. Une référence permettant de pointer vers le descripteur est insérée dans chaque enregistrement de la table (au début de l'enregistrement), pour indiquer au système de gestion de la base de données à quelle table appartient l'enregistrement et sous quel format il a été mémorisé, en vue notamment de lui permettre de localiser les différents champs au sein de l'enregistrement. Le dispositif selon l'invention est donc adapté pour importer le format des champs clefs depuis le descripteur de l'une des tables vers le descripteur de l'autre table. Dans une version . préférée de l'invention, cette importation s'effectue automatiquement : lors de la construction de la base de données, l'opérateur définit l'une première des deux tables (type et taille de ses champs) au moyen de son descripteur, il définit l'autre seconde des tables au moyen de son descripteur, à l'exclusion des champs communs avec la première table qui ne servent qu'à établir une relation entre les deux tables, il définit enfin un unique champ, dit champ relation des première et seconde tables, formé par la combinaison des champs clefs, tels que définis dans le descripteur de la première table ; le dispositif selon l'invention est avantageusement adapté pour mémoriser la définition du champ relation, telle que saisie par l'opérateur, et pour recopier, depuis le descripteur de la première table, les informations définissant le format de chacun des champs composant ledit champ relation vers le descripteur de la seconde table, et ce, automatiquement suite à la définition du champ relation desdites tables. Par "comparaison directe des espaces mémoires", on entend une comparaison physique desdits espaces mémoires, c'est-à-dire une comparaison de l'état électronique (0 ou 1) des différents bits correspondants desdits espaces (deux bits correspondants occupent la même place au sein des deux espaces mémoires), sans opération préalable de conversion et d'interprétation des données mémorisées. Une telle comparaison, particulièrement simple et rapide, est rendue possible par le fait que, grâce à l'invention, les champs correspondants des deux tables liées ont nécessairement le même format, et que par conséquent, en cas d'égalité des valeurs qu'ils contiennent, on a forcément identité électronique (même nombre de bits et même état (0 ou 1) des bits correspondants) des espaces mémoires correspondants. Dans un dispositif selon l'invention, réaliser une jointure entre deux tables est donc une opération particulièrement simple et rapide, consommant peu de mémoire. Elle se résume à une opération de comparaison de deux blocs mémoires (recopie des blocs mémoires dans deux mémoires registres, puis comparaison de l'état électronique des blocs recopiés, sans formatage préalable desdits blocs ni masquage des octets non utilisés). De surcroît, grâce à l'invention, la définition des requêtes permettant de réaliser des recherches sur la base de données est grandement simplifiée, comme il sera expliqué ci-après. Le dispositif selon l'invention est par ailleurs avantageusement adapté pour calculer et mémoriser, pour chaque enregistrement de la base de données, un identificateur permettant d'accéder directement audit enregistrement dans la mémoire utilisateur. L'identificateur peut être un nombre entier de taille fixe. Il est répertorié et mémorisé dans une table d'adresses établissant la correspondance entre l'adresse physique (ou éventuellement une adresse logique) de chaque enregistrement et son identificateur, et permettant ainsi de localiser l'emplacement de l'enregistrement dans la mémoire utilisateur. Avantageusement et selon l'invention, le dispositif est également adapté pour pouvoir exécuter, lors de la réalisation d'une jointure entre les première et seconde tables, l'une ou plusieurs des opérations suivantes : comparer octet par octet, successivement, les espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table. En variante, une comparaison mot par mot (1 mot = 2 octets), ou mot long par mot long (1 mot long = 4 octets), ou encore double par double (1 double = 8 octets) est également conforme à l'invention ; dans le cas d'une comparaison octet par octet -respectivement mot par mot, mot long par mot long, ou double par double-, interrompre la comparaison des espaces mémoires clefs de l' enregistrement de la seconde table et d'un enregistrement de la première table, dès que deux octets -respectivement deux mots, deux mots longs, ou deux doubles- correspondants comparés présentent un état électronique différent ; sélectionner pour chaque champ clef, en fonction du format (et notamment du type) dudit champ clef, un mode de comparaison (octet par octet, ou mot par mot, ou mot long par mot long, ou double par double). Si l'un des champs clefs à comparer est un nombre réel ou entier stocké sur 2 octets (respectivement 4, ou 8 octets), le dispositif est adapté pour effectuer une comparaison mot par mot (respectivement mot long par mot long, ou double par double) des espaces mémoires clefs -correspondant audit champ- de l'enregistrement de la seconde table et d'un enregistrement de la première table. Si l'un des champs clefs est une chaîne de caractères, le dispositif est adapté pour effectuer une comparaison octet par octet des espaces mémoires clefs desdits enregistrements correspondant audit champ clef. mémoriser, en tant que résultat de la jointure, l'identificateur des enregistrements de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table ; sélectionner successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de F enregistrement de la seconde table, dans leur ordre de mémorisation dans la mémoire utilisateur. En variante, le dispositif est adapté pour sélectionner lesdits enregistrements de façon aléatoire ; comparer champ clef par champ clef les espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table ; et/ou interrompre la comparaison des espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table dès que les espaces mémoires de deux champs clefs correspondants comparés présentent un état électronique différent ; et/ou dans la cas où l'un au moins des champs clefs est un champ indexé, sélectionner successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de l' enregistrement de la seconde table, en effectuant une recherche dichotomique sur l'index du champ clef indexé. Pour ce faire, le dispositif selon l'invention est adapté pour élaborer, mettre à jour pour chaque nouvel enregistrement saisi d'une table prédéfinie par l'opérateur, et mémoriser dans la mémoire utilisateur, un index d'un champ de ladite table, dit champ indexé, prédéfini par l'opérateur, ledit index comprenant les identificateurs des enregistrements de ladite table mémorisés les uns à la suite des autres de telle sorte que les valeurs du champ 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 des chaînes de caractères alphabétiques, ordre croissant ou décroissant pour des nombres entiers ou décimaux, ordre chronologique pour des dates, etc.). Le dispositif est dans ce cas adapté pour sélectionner chaque enregistrement de la première table à comparer à l'enregistrement de la seconde table en effectuant une recherche dichotomique sur le champ indexé : si la comparaison de l'enregistrement de la seconde table avec un enregistrement sélectionné de la première table indique que la valeur du champ clef indexé dudit enregistrement de la première table est inférieure (respectivement supérieure) à la valeur du champ clef de l'enregistrement de la seconde table, le dispositif est adapté pour sélectionner, comme nouvel enregistrement à comparer, celui dont l'identificateur est situé, dans l'index, au milieu de la liste d'identificateurs délimitée par l'identificateur de l'enregistrement précédemment sélectionné et le dernier (respectivement le premier) identificateur de l'index (dans le cas d'un classement des valeurs du champ indexé par ordre croissant dans l'index). La combinaison des champs clefs constitue une clef primaire de l'une première des deux tables, et une clef étrangère de la seconde. On entend par clef primaire, un champ ou une combinaison de champs permettant d'identifier individuellement chacun des enregistrements d'une table, c'est-à-dire prenant une valeur différente pour chaque enregistrement. On entend par clef étrangère d'une seconde table, , un champ ou une combinaison de champs permettant d'établir une relation avec une première table : les champs utilisés à titre de clef étrangère de la deuxième table correspondent, à cette fin, aux champs définissant une clef primaire de la première table. Selon l'invention, lors de la construction de la base de données, le dispositif est préférentiellement adapté pour recopier, depuis le descripteur de la première table, le format (type et taille) des champs définissant la clef primaire de ladite première table vers le descripteur de la seconde table. Il est de plus adapté pour définir la combinaison des champs ainsi importés comme étant une clef étrangère de la seconde table. Dans le cas où la combinaison des champs clefs constitue une clef primaire de la première table et une clef étrangère de la seconde (et que la jointure doit permettre de définir l'enregistrement de ladite première table lié à un enregistrement donné de ladite seconde table), le dispositif est avantageusement adapté pour interrompre les comparaisons entre l'espace mémoire clef de l'enregistrement de la seconde table et les espaces mémoires clefs d'enregistrements de la première table, dès qu'un enregistrement de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table a été identifié (cet enregistrement est en effet le seul vérifiant l'identité), c'est-à-dire, en d'autres termes, dès qu'une information représentative du fait qu'un enregistrement de la première table est lié à l'enregistrement de la seconde table a été mémorisée. L'enregistrement de la seconde table, point de départ de la jointure des seconde et première tables, constitue généralement le résultat d'une requête incluse dans le cadre d'une recherche effectuée dans la base de données à l'initiative d'un utilisateur ou au cours de l'exécution d'une application préalablement programmée par l'opérateur. Selon l'invention, le dispositif est adapté pour : - en réponse à une recherche effectuée dans la base de données à partir de critères de recherche, saisis par un utilisateur ou un opérateur et comprenant au moins des informations de désignation d'une table, dite table de recherche, d'un champ de ladite table, dit champ de recherche, d'un opérateur de comparaison, d'une valeur de référence, et d'une autre table, dite table de résultat, sélectionner le(s) enregistrement(s) de ladite table de recherche vérifiant lesdits critères de recherche (il s'agit de l'(ou des) enregistrement(s) pour le(s)quel(s) la valeur du champ de recherche est égale, supérieure ou inférieure (selon l'opérateur de comparaison) à la valeur de référence), - réaliser au moins une jointure entre la table de recherche et la table de résultat en vue de déterminer le(ou les) enregistrement(s) de la table de résultat lié(s) à chaque enregistrement, précédemment sélectionné, de la table de recherche (le dispositif réalise autant d'opérations de jointure que d'enregistrements de la table de recherche sélectionnés), - mémoriser, dans la mémoire utilisateur, l'identificateur du(des) enregistrement(s), précédemment déterminé(s), de la table de résultat. Une recherche dont les critères de recherche sont limités à ceux listés ci-dessus est dite recherche mono-critère (la recherche ne concerne qu'un seul champ de recherche sur lequel on effectue une unique comparaison) sur plusieurs tables. A noter que le dispositif permet également de réaliser des recherches mono-critères sur une seule table (ces recherches ne nécessitent aucune opération de jointure), ou encore des recherches multi-critères (faisant intervenir plusieurs valeurs de référence et éventuellement plusieurs opérateurs de comparaison) sur plusieurs tables, en combinant plusieurs recherches mono-critères sur une ou plusieurs tables, et en réalisant, le cas échéant, une ou plusieurs jointures. 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 (identificateurs) 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 permet de plus d'effectuer une recherche sur la base des résultats de la recherche précédente. Il est à noter que, grâce à l'invention, la réalisation d'une jointure entre les première et seconde tables peut être programmée à l'aide d'une unique ligne de commande, dans un langage de requête spécifique simplifié qui utilise notamment le champ relation -formé par la combinaison des champs clefs communs aux première et seconde, tables- défini lors de la construction de la base de données, comme il sera expliqué ci-après. Le dispositif selon l'invention comprend à cette fin des moyens logiciels adaptés pour compiler et/ou assembler et/ou éditer des relations et/ou interpréter les applications utilisant ce langage de requête spécifique. 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. L'invention s'étend à un procédé de construction d'une base de données relationnelle pour le stockage et le traitement de données utilisateur dans un dispositif (du type PDA) 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 eh 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 et/ou dans la mémoire utilisateur adaptés pour gérer au moins une base de données relationnelle construite selon des spécificités définies par un opérateur, ladite base de données comprenant au moins deux tables liées entre elles par un ou plusieurs champs communs, dits champs clefs, qui occupent, pour chaque enregistrement desdites tables, un espace mémoire dit espace mémoire clef de l'enregistrement. Le procédé selon l'invention est caractérisé en ce qu'il comprend les étapes suivantes : mémorisation dans la mémoire utilisateur d'un format des enregistrements de l'une -première- des deux tables, tel que défini et saisi par l'opérateur, dans un descripteur de la première table, mémorisation de la définition, telle que saisie par l'opérateur, d'un champ, dit champ relation des première et seconde tables, formé par la combinaison des champs clefs (ceux communs aux deux tables et déjà définis dans le descripteur de la première table) et destiné à permettre d'établir une relation entre les deux tables (la définition de ce champ relation équivaut à la définition de règles relationnelles liant les deux tables), copie des informations définissant le format (type et taille) de chacun des champs composant le champ relation, depuis le descripteur de la première table vers un descripteur de la seconde table, définissant un format des enregistrements de l'autre -seconde- table, de sorte que chaque champ clef est défini avec le même format dans les deux tables. Selon l'invention, le procédé de construction de la base de données comprend préférentiellement une étape de calcul et de mémorisation, pour chaque enregistrement de ladite base de données, d'un identificateur permettant d'accéder directement audit enregistrement dans la mémoire utilisateur. Il comprend également l'élaboration, la mise à jour pour chaque nouvel enregistrement saisi d'une table prédéfinie par l'opérateur, et la mémorisation dans la mémoire utilisateur, d'un index d'un champ de ladite table prédéfini par l'opérateur, dit champ indexé, ledit index comprenant les identificateurs des enregistrements de ladite table mémorisés les uns à la suite des autres de telle sorte que les valeurs du champ indexé desdits enregistrements soient classées selon un ordre prédéfini par l'opérateur. Le classement d'un nouvel enregistrement dans l'index s'effectue automatiquement par dichotomie. L'invention s'étend également à un procédé de réalisation de jointure entre deux tables liées d'une base de données dans un dispositif du type PDA selon l'invention, ladite base étant construite selon le procédé de construction susmentionné conforme à l'invention, en vue de déterminer le ou les enregistrement(s) de l'une première desdites tables lié(s) à un enregistrement de l'autre seconde desdites tables. Avantageusement et selon l'invention, ce procédé comprend une étape de comparaison directe, par les moyens de traitement à microprocesseur(s), de l'état électronique des espaces mémoires clefs de l'enregistrement de la seconde table et d'au moins un enregistrement de la première table, et une étape de mémorisation dans la mémoire utilisateur d'au moins une information, dite résultat de la jointure, représentative du fait qu'un ou plusieurs enregistrement(s) identifié(s) de la première table présentent) un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table. Le procédé selon l'invention de réalisation d'une jointure entre une première et une seconde tables présente avantageusement l'une ou plusieurs des caractéristiques suivantes : la comparaison des espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table s'effectue octet par octet, successivement. Avantageusement, cette comparaison est interrompue dès que deux octets correspondants comparés présentent un état électronique différent. En variante, la comparaison est effectuée mot par mot (ou mot long par mot long, ou double par double), et est interrompue dès que deux mots (ou mots longs, ou encore doubles) correspondants comparés présentent un état électronique différent ; la comparaison des espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table s'effectue champ clef par champ clef, et, dans le cas où l'un au moins des champs clefs est un champ indexé, les moyens de traitement sélectionnent successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de l'enregistrement de la seconde table, en effectuant une recherche dichotomique sur l'index du champ clef indexé ; en variante, les moyens de traitement sélectionnent successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de l'enregistrement de la seconde table, dans leur ordre (ou ordre inverse) de mémorisation dans la mémoire utilisateur ; dans le cas où la combinaison des champs clefs constitue une clef primaire de la première table et une clef étrangère de la seconde table, les moyens de traitement interrompent les comparaisons entre l'espace mémoire clef de l' enregistrement de la seconde table avec les espaces mémoires clefs d'enregistrements de la première table, dès qu'un enregistrement de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table a été identifié (et qu'une information représentative du fait qu'un enregistrement de la première table est lié à l'enregistrement de la seconde table a été mémorisée) ; les moyens de traitement mémorisent, en tant que résultat de la jointure, l'identificateur des emegistrements de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table. Le procédé de réalisation de jointure est notamment mise en oeuvre automatiquement dans le dispositif en réponse à une recherche effectuée dans la base de données à partir de critères de recherche saisis par un utilisateur ou par un opérateur, lesdits critères comprenant au moins une première table, dite table de résultat, un champ, dit champ de recherche, d'une deuxième table (différente de la table de résultat), dite table de recherche, une valeur de référence et un opérateur de comparaison, la jointure réalisée concernant lesdites table de recherche et table de résultat. L'invention s'étend à un procédé de recherche, dans une base de données construite selon le procédé de construction susmentionné conforme à l'invention, à partir de critères de recherche saisis par un utilisateur (comprenant au moins un champ de résultat). Le procédé de recherche selon l'invention comprend, le cas échéant, la réalisation d'au moins une jointure entre une première et une deuxième tables selon tout ou partie des caractéristiques décrites ci-avant, la mémorisation dans la mémoire utilisateur, à titre de résultat de la recherche, de l'identificateur de chacun des enregistrements vérifiant les critères de recherche, et l'affichage sur l'écran de visualisation de la valeur du(des) champ(s) de résultat de chacun desdits enregistrements. Le procédé de recherche selon l'invention est mis en oeuvre au moyen d'un langage de requête (notamment pour la programmation des jointures) simplifié utilisant les champs relations des tables liées. L'invention concerne également un dispositif informatique du type PDA, un procédé de construction de base de données relationnelle, un procédé de réalisation de jointure entre deux tables d'une base de données construite selon ledit procédé de construction, un procédé de recherche dans une telle base de données, caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus et ci-après. 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 tables 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 dispositif selon l'invention ; la figure 2 est un schéma illustrant l'organisation des différents composants constituant un dispositif selon l'invention ; les tables 1 et 2 sont des exemples de tables d'une base de données relationnelle implantée dans un dispositif selon l'invention ; la figure 3 représente une partie d'un bloc mémoire d'un enregistrement de la table 1 ; la figure 4 représente une partie d'un bloc mémoire d'un enregistrement de la table 2. Un PDA selon l'invention, 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). Le microprocesseur 1 est relié à une mémoire électronique non volatile 2 du type "ROM" directement accessible en lecture seule par le microprocesseur, dans laquelle sont stockés des programmes de fonctionnement généraux (et notamment un système d'exploitation, du type de ceux commercialisés sous les noms PalmOS ®, PocketPC ®). Il est également relié à une mémoire électronique volatile 3 du type "SRAM" directement accessible en lecture et en écriture par le microprocesseur, 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 comparaison et/ou de calcul par exemple, et dont une autre partie 3 a, dite mémoire utilisateur, est dédiée au stockage de la base de données et des éventuelles applications 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 3 a de stockage de la base de données (mémoire utilisateur) du dispositif étant volatile, celui-ci doit constamment être alimenté en énergie électrique par une batterie 13, qui peut être une batterie alcaline ou, de préférence, une batterie rechargeable, au lithium ou au nickel-cadmium par exemple. Pour éviter la perte des données mémorisées sur la mémoire RAM 3 en cas de défaillance ou d'arrêt desdites batteries, le dispositif comprend 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 (harmonisation des bases de données stockées dans le PDA et dans les dispositifs extérieurs) : un port de connexion 10 du type port "USB" ("Universal Sériai Bus") pour permettre la connexion câblée du dispositif 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 dispositif 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 un écran tactile 6a. Le dispositif comprend des moyens logiciels de reconnaissance de caractères mémorisés dans la mémoire "ROM" 2 afin de permettre l'entrée manuscrite de données au moyen dudit stylo 6b. Un dispositif tel qu'illustré sur les figures 1 et 2 est distribué à chaque médecin d'un hôpital, en vue de permettre audit médecin de noter des informations sur ses patients lors des consultations qu'il dispense, d'établir ses fiches de soin, de consulter si nécessaire une banque de données recensant les divers médicaments existants, leurs composition et propriétés, etc. Quotidiennement, le médecin effectue une synchronisation de sa base de. données avec une base de données générale, stockée sur un ordinateur de grande capacité, regroupant les données recueillies et/ou utilisées par l'ensemble des médecins de l'hôpital. Une première table Patients regroupe des informations générales concernant chaque patient de l'hôpital . Une deuxième table Examens (non décrite) regroupe des informations médicales concernant chaque patient, et permet un suivi journalier de son état (date, température, tension, symptômes divers...). Une troisième table Soins recense les feuilles de Soins établies par chaque médecin. Une quatrième table Ordonnances (non décrite) permet de stocker les ordonnances prescrites par chaque médecin (médicaments, posologie, durée du traitement, examens complémentaires à réaliser, ...). The invention relates to a device for digital processing of data of the so-called PDA ("Personal Digital Assistant") type: pocket computer such as those sold under the names. Palm ®, Pocket PC ®, PSION ® or even EPOC ®, as well as any other portable computing device (electronic diaries, communicating mobile phones such as those of the so-called "smart phone" type, and other terminals) and / or of low capacity. processing and storage (on-board computer by vehicle - metering and processing terminal for meteorological data, etc.). Such a PDA device comprises: processing means comprising at least one microprocessor (provided with at least one internal memory called register); non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible in read and write mode by the processing means for storing programs and / or user data (programs and / or personal data specific to a user of the device and / or to a particular use of the device, data acquired, that is to say entered by a user and / or measured by means of measurement of the device or linked to the device (meteorological data for example- and / or teletransmitted 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 means for acquiring user data and means 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 for organizing the storage of user data in the form of table records each comprising a plurality of fields. A PDA device is in particular free from mass memory with magnetic or optical recording medium requiring the intervention of a reading device using mechanical means: the data and user programs are indeed stored in an electronic memory, which can be, for example, a non-volatile electronic memory of the "flash" memory type (non-volatile electronic memory rewritable without specific equipment, direct and relatively fast access), or even a volatile electronic memory of the "RAM" or memory type "SRAM" (random access memory of the device, direct and very fast access), the device having to, in this case - which is the most frequent -, be constantly supplied with electric energy by a battery working without tension. Professional or personal software applications are mostly based on databases, and in particular relational databases. The explosion of the PDA market has given rise to the desire to create new applications for these devices or to implant existing applications. However, traditional database technologies are unsuitable for PDAs, due to the low storage capacity and the limited processing power of the latter. A relational database is made up 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. Fields can be of various types (character string, boolean, date, time, integer, decimal, binary ...), of fixed size or of variable size. The fields are ordered in a predetermined order (order of the columns of the table). Two tables are linked together by key fields common to the two tables. The same table can be linked to several tables: it therefore has common key fields with a first table, common key fields with a second table, etc., the common key fields with the first table can be different from those common with the second. In the following, when two linked tables are concerned and when there is no possible ambiguity, "key fields of one of the first tables" are used to designate the key fields of said first table common with the second table concerned . The linked records of two tables are those for which the values of the key fields of the first table are equal to the values of the key fields of the second table. Performing a join between the first and second tables consists of comparing the values of the key fields of the records of the first table with the values of the key fields of a record of the second table (or vice versa), and of selecting and storing at minus information representative of the fact that one or more records) of the first table is (are) linked to said recording of the second table. To carry out this operation, the current PDA devices are programmed, according to the so-called SQL model ("Structured Query Language", structured query language for the creation, management and consultation of relational databases, installed on known PDAs), to carry out an operation commonly called "scalar product" of the two tables, consisting of creating and memorizing in a working memory a search table each row of which comprises a row of the first table (that is to say the values of the different fields of a record in the first table) and a row in the second table following one another, and to search, among the rows of the search table thus created, those rows simultaneously checking the value equalities ( Tablel_champ.i) = value (Table2_champ.i), i successively taking the values 1 to n, where the fields field .1 to field .n are the key fields common to said first and second tables, no tees respectively Tablel_champ.i and Table2_champ.i. The command of such an operation requires the writing of the following query lines in SQL language: "select * from Table 1, Table2 where Tablel_champJ = Table2_champJ and Tablel_champ.2 = Table2_champ.2 and Table l_champ.n = Table2_champ.n"  If the first table has 10,000 records and the second table 100,000 records, the dot product of these two tables will count 109 lines. Such an operation requires a memory and a processing capacity often greater than those available in current microcomputers of the desktop personal computer type. This is why SQL search engines all have a query optimizer to reduce the number of lines before performing the dot product. However, despite the existence of these optimizers, the SQL model is totally unsuitable for PDAs, which have much lower resources than those microcomputers. Processing times are therefore often incompatible with the operation of SQL engines. It should be noted, moreover, that it is frequent that the corresponding fields Table l_champ.i and Table2_champ.i (i successively taking the values 1 to n) have different recording formats (in terms of type and / or size). To verify each of the above equalities, the known devices are therefore suitable for reading the memory spaces occupied by the Tablel_champ.i and Table2_champ.i fields, copying the electronic data (series of bits) that they contain in an internal working memory at microprocessor called register, converting said electronic data into data which can be compared with each other, that is to say rewriting the values of the key fields in the register according to a common recording format allowing their comparison. A step of conversion and interpretation of the data recorded in the key fields of the first and second tables is therefore necessary to perform their joining, consuming memory and additional time. It should also be noted that SQL search engines have historically been created for server-type devices, with greater processing capacity than PDA devices and equipped with a mass memory with optical or magnetic recording medium (peripheral slow such as a hard drive) for database storage. As access to such a memory is particularly slow, a search carried out on the database of a server involves the loading (copying) into a working memory of the "RAM" type of the data (tables) concerned by the search, in view to perform the various search operations (including the scalar product of a possible join operation) in this access and fast processing working memory. Previous PDAs incorporating databases are equipped with database management systems and search engines using this method. In these devices, the results of a search, stored in a working memory and supplied to the user, therefore correspond to a copy of the value of one or more fields (depending on the parameters sought, entered by the user ) records verifying the search criteria. This copy is dissociated from its original recording (s). It is therefore impossible in previous PDA devices to perform a search based on the results of a search" previous, the records concerned not being known to the processing means. The invention aims to overcome these drawbacks by proposing a device of the PDA type making it possible to easily, quickly and easily join joins between tables of a relational database. In particular, the invention aims to propose a device capable of producing such joins almost instantaneously despite a processing speed and a limited working memory. Another objective of the invention is to propose a construction of relational databases adapted to the specificities and performances of PDAs and making it possible to go back from one field of a table to a plurality of fields of another table. Another objective of the invention is to propose a device of the PDA type provided with a search engine using a simplified query language, requiring for its operation and the storage of its applications a reduced electronic memory space, and making it possible to carry out single-criteria or multi-criteria searches on several tables in the database ten to one hundred times faster than previous PDA devices. Another objective of the invention is to propose a device of the PDA type capable of carrying out a search for data on the basis of the results of a previous search. The invention relates to a device (PDA type) for digital data processing, comprising processing means comprising at least one microprocessor; non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible in read and write mode by the processing means for storing user programs and / or data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least means for acquiring (input, measurement, reception, etc.) of user data and means for restitution (display, sound, transmission, etc.) of said data; software means stored in the read-only memory and / or in the user memory adapted to manage at least one relational database constructed according to specificities defined by a person, called operator, and making it possible to organize the storage of user data in the form of 'records of tables each comprising a plurality of fields, said database comprising at least two tables linked to each other having, for this purpose, one or more common fields, called key fields (one thus designates only the key fields common to the two tables ), which occupy, for each record of said tables, a memory space called the key memory space of the record. The device according to the invention is characterized in that it is suitable for: during the construction (definition of tables, fields, relational rules, etc.) of the database, saving in the user memory a format of the records of one - first - of the two tables, as defined and entered by the operator, in a descriptor called descriptor of the first table, and copy into the user memory, from the descriptor of the first table, the information defining the format of each of the key fields of said table (those common with the second table) to a descriptor of the second table defining a format of the records of the other -second- of said tables, so that each key field is defined with the same format in the two tables, - allow the creation of at least one join between said tables in order to determine the record (s) of one -first- of said tables linked (s) to a record of the other - second - of said tables, by directly comparing the electronic state of the key memory spaces of the record of the second table and of at least one record of the first table, and memorize in the user memory at least one item of information, called the result of the join, representative of the fact that one or more identified record (s) of the first table have) a key memory space electronically identical to that of the record of the second table. It should be noted that the term "descriptor" of a table designates both the data describing the format of the records of the table and the memory block in which these data are stored. The descriptor describes the type and size of the fields constituting said table, in the predetermined order of said fields. A reference to point to the descriptor is inserted in each record of the table (at the start of the record), to indicate to the database management system to which table the record belongs and in what format it was memorized, in particular with a view to enabling it to locate the various fields within the record. The device according to the invention is therefore suitable for importing the format of the key fields from the descriptor of one of the tables to the descriptor of the other table. In one version. preferred of the invention, this importation takes place automatically: during the construction of the database, the operator defines one of the first two tables (type and size of his fields) by means of his descriptor, he defines the other second of the tables by means of its descriptor, excluding the fields common with the first table which only serve to establish a relationship between the two tables, it finally defines a single field, called the relation field of the first and second tables, formed by the combination of key fields, as defined in the descriptor of the first table; the device according to the invention is advantageously adapted to memorize the definition of the relation field, as entered by the operator, and to copy, from the descriptor of the first table, the information defining the format of each of the fields composing said relation field to the descriptor of the second table, and this automatically following the definition of the relation field of said tables.  By "direct comparison of memory spaces" is meant a physical comparison of said memory spaces, that is to say a comparison of the electronic state (0 or 1) of the different corresponding bits of said spaces (two corresponding bits occupy the same place in the two memory spaces), without prior conversion and interpretation of the stored data. Such a comparison, particularly simple and rapid, is made possible by the fact that, thanks to the invention, the corresponding fields of the two linked tables necessarily have the same format, and that consequently, in case of equality of the values that they contain, there is necessarily an electronic identity (same number of bits and same state (0 or 1) of the corresponding bits) of the corresponding memory spaces. In a device according to the invention, making a joint between two tables is therefore a particularly simple and rapid operation, consuming little memory. It boils down to an operation of comparing two memory blocks (copying the memory blocks into two register memories, then comparing the electronic state of the copied blocks, without prior formatting of said blocks or masking of unused bytes). In addition, thanks to the invention, the definition of the queries making it possible to carry out searches on the database is greatly simplified, as will be explained below. The device according to the invention is also advantageously adapted to calculate and store, for each record in the database, an identifier allowing direct access to said record in the user memory. The identifier can be an integer of fixed size. It is listed and stored in an address table establishing the correspondence between the physical address (or possibly a logical address) of each record and its identifier, and thus making it possible to locate the location of the record in the user memory. Advantageously and according to the invention, the device is also adapted to be able to perform, when making a joint between the first and second tables, one or more of the following operations:  compare byte by byte, successively, the key memory spaces of the recording of the second table and of a recording of the first table. As a variant, a comparison word by word (1 word = 2 bytes), or long word by long word (1 long word = 4 bytes), or even double by double (1 double = 8 bytes) is also in accordance with the invention. ; in the case of a byte by byte comparison - respectively word by word, long word by long word, or double by double -, interrupt the comparison of the key memory spaces of the recording of the second table and of a recording of the first table, as soon as two bytes - respectively two words, two long words, or two double-correspondents compared have a different electronic state; select for each key field, depending on the format (and in particular the type) of said key field, a comparison mode (byte by byte, or word by word, or long word by long word, or double by double). If one of the key fields to compare is a real or whole number stored on 2 bytes (respectively 4, or 8 bytes), the device is suitable for carrying out a comparison word by word (respectively long word by long word, or double by double) of the key memory spaces - corresponding to said field - of the recording of the second table and of a recording of the first table. If one of the key fields is a character string, the device is adapted to perform an byte by byte comparison of the key memory spaces of said records corresponding to said key field. storing, as a result of the join, the identifier of the records of the first table having a key memory space electronically identical to that of the record of the second table; successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, in their order of storage in the user memory. Alternatively, the device is adapted to select said records at random; compare key field by key field the key memory spaces of the recording of the second table and of a recording of the first table; and / or interrupt the comparison of the key memory spaces of the recording of the second table and of a recording of the first table as soon as the memory spaces of two compared key fields compared have a different electronic state; and / or in the case where at least one of the key fields is an indexed field, successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, by performing a dichotomous search on the index of the indexed key field. To do this, the device according to the invention is adapted to develop, update for each new record entered from a table predefined by the operator, and store in the user memory, an index of a field of said table, said indexed field, predefined by the operator, said index comprising the identifiers of the records of said table stored one after the other so that the values of the indexed field of said records are ordered, that is to say classified in an order predefined by the operator (alphabetical order for alphabetic character strings, ascending or descending order for whole or decimal numbers, chronological order for dates, etc.). The device is in this case adapted to select each record of the first table to be compared to the record of the second table by performing a dichotomous search on the indexed field: if the comparison of the record of the second table with a selected record of the first table indicates that the value of the key field indexed of said record of the first table is lower (respectively higher) than the value of the key field of the record of the second table, the device is adapted to select, as new record to compare, the one whose identifier is located, in the index, in the middle of the list of identifiers delimited by the identifier of the previously selected record and the last (respectively the first) identifier of the index (in the case of a classification of the values of the indexed field in ascending order in the index). The combination of the key fields constitutes a primary key of the first of the two tables, and a foreign key of the second. By primary key is meant a field or a combination of fields making it possible to identify each of the records of a table individually, that is to say taking a value different for each record. A foreign key of a second table is understood to mean a field or a combination of fields making it possible to establish a relationship with a first table: the fields used as foreign key of the second table correspond, for this purpose, to the fields defining a primary key of the first table. According to the invention, during the construction of the database, the device is preferably adapted to copy, from the descriptor of the first table, the format (type and size) of the fields defining the primary key of said first table to the descriptor of the second table. It is also suitable for defining the combination of the fields thus imported as being a foreign key to the second table. In the case where the combination of the key fields constitutes a primary key of the first table and a foreign key of the second (and the join must make it possible to define the record of said first table linked to a given record of said second table) , the device is advantageously adapted to interrupt the comparisons between the key memory space of the recording of the second table and the key memory spaces of records of the first table, as soon as a recording of the first table having a memory space electronically identical key to that of the registration of the second table has been identified (this registration is indeed the only one verifying the identity), that is to say, in other words, as soon as representative information that a record from the first table is linked to the record from the second table has been stored. The registration of the second table, the starting point for the joining of the second and first tables, generally constitutes the result of a query included in the context of a search carried out in the database on the initiative of a user. or during the execution of an application previously programmed by the operator. According to the invention, the device is suitable for: - in response to a search carried out in the database on the basis of search criteria, entered by a user or an operator and comprising at least information for designating a table, said search table, a field of said table, said search field, a comparison operator, a reference value, and another table, said result table, select the record (s) (s) of said search table verifying said search criteria (this is the record (s) for which the value of the search field is equal, greater or less (depending on the 'comparison operator) to the reference value), - perform at least one join between the lookup table and the result table in order to determine the record (s) of the linked result table (s) on each previously selected record from the search table (the device performs as many join operations as there are records from the search table selected), - store, in user memory, the identifier of the record (s) (s), previously determined, of the result table. A search whose search criteria are limited to those listed above is said to be a single-criteria search (the search only concerns a single search field on which a single comparison is carried out) on several tables. Note that the device also makes it possible to carry out single-criteria searches on a single table (these searches do not require any join operation), or even multi-criteria searches (involving several reference values and possibly several comparison operators) on several tables, by combining several mono-criteria searches on one or more tables, and by performing, if necessary, one or more joins. The device according to the invention therefore provides the software means for managing the database, as a result of a search, with means (identifiers) for accessing the records sought. This characteristic is particularly advantageous in view of the fact that the database is stored on a fast and direct access memory. It also allows you to perform a search based on the results of the previous search. It should be noted that, thanks to the invention, the production of a join between the first and second tables can be programmed using a single command line, in a simplified specific query language which uses in particular the relationship field - formed by the combination of the key fields common to the first and second, tables - defined during the construction of the database, as it will be explained below. The device according to the invention comprises for this purpose software means suitable for compiling and / or assembling and / or editing relationships and / or interpreting applications using this specific request language. Advantageously and according to the invention, the user memory is chosen from a dynamic 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 electronic memory of the “flash” memory type (“EEPROM” memory: “Electrically Erasable Programmable Read Only Memory”, erasable by 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. The invention extends to a method of building a relational database for storing and processing user data in a device (of the PDA type) comprising processing means comprising at least one microprocessor; non-volatile storage means, called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); storage means, called user memory, directly accessible for reading and writing by the processing means for storing user programs and / or data, and consisting exclusively of one or more electronic memory (s); autonomous power supply means; means forming a user interface comprising at least means for acquiring user data and means 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 constructed according to specificities defined by an operator, said database comprising at least two tables linked together by one or more common fields, called key fields, which occupy, for each record of said tables, a memory space called key memory space of the record. The method according to the invention is characterized in that it comprises the following steps:  storage in the user memory of a format of the records of one -first- of the two tables, as defined and entered by the operator, in a descriptor of the first table, storage of the definition, as entered by the operator, of a field, said relation field of the first and second tables, formed by the combination of key fields (those common to the two tables and already defined in the descriptor of the first table) and intended to allow establishing a relation between the two tables (the definition of this relationship field is equivalent to the definition of relational rules linking the two tables), copy of the information defining the format (type and size) of each of the fields making up the relationship field, from the descriptor of the first table to a descriptor of the second table, defining a format for the records of the other -second-table, so that each key field is defined with the same format in both t ables. According to the invention, the method of constructing the database preferably comprises a step of calculation and storage, for each record of said database, of an identifier allowing direct access to said record in the user memory. It also includes the development, updating for each new record entered from a table predefined by the operator, and storing in user memory, an index of a field of said table predefined by the operator , said indexed field, said index comprising the identifiers of the records of said table stored one after the other so that the values of the indexed field of said records are classified in an order predefined by the operator. The classification of a new record in the index is done automatically by dichotomy. The invention also extends to a method of joining between two linked tables of a database in a device of the PDA type according to the invention, said base being constructed according to the aforementioned construction method according to the invention , in order to determine the record (s) of the first one of said tables linked to a record of the other second of said tables. Advantageously and according to the invention, this method comprises a step of direct comparison, by the microprocessor processing means (s), of the electronic state of the key memory spaces of the recording of the second table and of at least one recording of the first table, and a step of memorizing in the user memory at least one item of information, known as the result of the join, representative of the fact that one or more identified record (s) of the first table have) a key memory space electronically identical to that of the recording of the second table. The method according to the invention for making a join between a first and a second table advantageously has one or more of the following characteristics: the comparison of the key memory spaces of the recording of the second table and of a recording of the first table is made byte by byte, successively. Advantageously, this comparison is interrupted as soon as two corresponding bytes compared have a different electronic state. As a variant, the comparison is carried out word by word (or long word by long word, or double by double), and is interrupted as soon as two corresponding words (or long words, or even double) compared have a different electronic state; the comparison of the key memory spaces of the recording of the second table and of a recording of the first table is carried out key field by key field, and, in the case where at least one of the key fields is an indexed field , the processing means successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, by performing a dichotomous search on the index of the indexed key field; as a variant, the processing means successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, in their order (or reverse order) of storage in the user memory;  in the case where the combination of the key fields constitutes a primary key of the first table and a foreign key of the second table, the processing means interrupt the comparisons between the key memory space of the recording of the second table with the spaces key memories of recordings of the first table, as soon as a record of the first table having a key memory space electronically identical to that of the record of the second table has been identified (and that information representative of the fact that a record of the first table is linked to the record of the second table has been stored); the processing means store, as a result of the join, the identifier of the records of the first table having a key memory space electronically identical to that of the recording of the second table. The joining process is notably implemented automatically in the device in response to a search carried out in the database on the basis of search criteria entered by a user or by an operator, said criteria comprising at least a first table, said result table, a field, said search field, of a second table (different from the result table), called search table, a reference value and a comparison operator, the join carried out concerning said search table and result table. The invention extends to a search method, in a database constructed according to the aforementioned construction method according to the invention, from search criteria entered by a user (comprising at least one result field). The search method according to the invention comprises, where appropriate, the production of at least one join between a first and a second table according to all or part of the characteristics described above, memorization in the user memory, by way of result of the search, of the identifier of each of the records verifying the search criteria, and the display on the display screen of the value of the result field (s) of each of said records. The search method according to the invention is implemented by means of a simplified query language (in particular for programming joins) using the relationship fields of the linked tables.  The invention also relates to a PDA type computing device, a method of constructing a relational database, a method of realizing a join between two tables of a database constructed according to said method of constructing, a method of searching in a such database, characterized in combination by all or some of the characteristics mentioned above and below. Other objects, characteristics and advantages of the invention will appear on reading the following description which refers to the appended figures (and to the tables below) representing preferential embodiments of the invention given solely by way of nonlimiting examples; Figure 1 is a schematic view of a device according to the invention; Figure 2 is a diagram illustrating the organization of the various components constituting a device according to the invention; Tables 1 and 2 are examples of tables from a relational database installed in a device according to the invention; FIG. 3 represents a part of a memory block of a record from table 1; FIG. 4 represents part of a memory block of a recording from table 2. A PDA according to the invention, illustrated in FIGS. 1 and 2, comprises a microprocessor 1, of small dimensions and cost, but also of low processing capacity (about ten times lower than that of a standard desktop computer). The microprocessor 1 is connected to a non-volatile electronic memory 2 of the "ROM" type directly accessible in read-only mode by the microprocessor, in which are stored general operating programs (and in particular an operating system, of the type of those sold under the names PalmOS ®, PocketPC ®). It is also connected to a volatile electronic memory 3 of the "SRAM" type directly accessible in reading and writing by the microprocessor, of which a part 3b, called working memory, is dedicated to the execution of operations related to the operation of the device. and comparison and / or calculation operations for example, and of which another part 3a, called user memory, is dedicated to the storage of the database and of any applications added by the user. Said data and user applications are therefore instantly available as soon as the device is put into operation (unlike a desktop computer whose applications and data are stored on a hard disk and must be loaded into working memory in order to be used), and instantly saved when they are modified (no copy operation on a hard disk being necessary...). Since the memory 3a for storing the database (user memory) of the device is volatile, the latter must constantly be supplied with electrical energy by a battery 13, which may be an alkaline battery or, preferably, a rechargeable battery, lithium or nickel cadmium for example. To avoid the loss of the data stored in the RAM memory 3 in the event of failure or stoppage of said batteries, the device comprises means of communication with external devices in order to allow the export of said data to these external devices, as well as all synchronization operations (harmonization of the databases stored in the PDA and in the external devices): a connection port 10 of the "USB" ("Universal Serial Bus") port type to allow the wired connection of the device according to the invention to a desktop computer 8 and / or to a modem 9, infrared transmission means 12, and wave transmission means 11 making it possible to transmit files to a desktop computer via a server internet (by sending an email). The device is also provided with a display screen 4, preferably with liquid crystal, and data entry means such as a keyboard 5, control buttons 7 programmed to trigger certain functions, and a pen 6b for handwritten data entry on a touch screen 6a. The device comprises software means for recognizing characters stored in the "ROM" memory 2 in order to allow the handwritten entry of data by means of said pen 6b. A device as illustrated in FIGS. 1 and 2 is distributed to each doctor of a hospital, in order to allow said doctor to note information about his patients during the consultations he provides, to establish his treatment cards. , to consult, if necessary, a database listing the various existing drugs, their composition and properties, etc. Daily, the doctor performs a  synchronization of its base. data with a general database, stored on a high-capacity computer, grouping the data collected and / or used by all of the hospital's doctors. A first Patients table gathers general information concerning each patient in the hospital. A second Examinations table (not described) gathers medical information concerning each patient, and allows daily monitoring of his condition (date, temperature, blood pressure, various symptoms, etc.). A third Care table lists the Care sheets established by each doctor. A fourth Prescriptions table (not described) makes it possible to store the prescriptions prescribed by each doctor (drugs, dosage, duration of treatment, additional examinations to be performed, etc.).
Soins Soin_ID (numéro de la feuille de soin) Soin_personne_SSl (sexe) Soin_personne_SS2 (année) Soin_personne_SS3 (mois) Soin_personne_SS4 (département) Soin_personne_SS5 (numéro) MédecinJDD Date OrdonnanceJ-D Code_consultation MontantHTCare Soin_ID (number of the care sheet) Soin_personne_SSl (gender) Soin_personne_SS2 (year) Soin_personne_SS3 (month) Soin_personne_SS4 (department) Soin_personne_SS5 (number) DoctorJDD Date PrescriptionJ-D Code_consultation AmountHT
Figure imgf000021_0001
Nota : le numéro de sécurité sociale est avantageusement découpé en cinq champs Personne SSl à Personne_SS5 correspondant chacun à une information sur le patient (sexe, année, mois et département de naissance, numéro). La figure 3 représente une partie du bloc mémoire occupé par un enregistrement 100 de la table Patients. Les 12 octets 111 à 134 servent au stockage du champ Nom ; l'octet 141 correspond au champ Personne_SSl (entier stocké sur 1 octet) ; l'octet 142 correspond au champ Personne_SS2 (entier d'un octet) ; l'octet 143 permet de stocker le champ Personne_SS3 ; l'octet 144 permet de stocker le champ Personne_SS4 ; les 10 octets 151 à 172 sont réservés au champ Prénom ; les octets 173 et 174 correspondent au champ Personne_SS5 ; sur les 16 octets suivants (partiellement représentés) est stockée la valeur du champ Adresse_rue, etc... La figure 4 représente une partie du bloc mémoire d'un enregistrement 200 de la Table Soins. Les octets 201 et 202 servent au stockage du champ SoinJ-D ; l'octet 203 correspond au champ Soin_Personne_SSl ; l'octet 204 correspond au champ Soin_Personne_SS2 ; l'octet 211 correspond au champ Soin_Personne_SS3 ; l'octet 212 correspond au champ Soin_Personne_SS4 ; les octets 213 et 214 correspondent au champ Soin_Personne_SS5 ; les octets 221 et 222 sont utilisés pour stocker la valeur du champ Médecin D ; les 4 octets suivants (partiellement représentés) correspondent au champ Date, etc.. Les champs constituant le numéro de sécurité sociale de chaque patient, stockés sur les octets 141 à 144 et 173-174 pour l'enregistrement 100, sont choisis pour définir une clef primaire de la table Patients. La table Soins possède ces mêmes champs, correspondant aux octets 203-204 et 211 à 214 pour l'enregistrement 200, qui constituent pour cette table une clef étrangère permettant, à partir d'un enregistrement de la table Soins, de remonter à renregistrement correspondant de la table Patients. Un patient pouvant faire l'objet de différentes feuilles de soin, une telle relation est dite relation 1-N. Les tables Examens et Patients sont liées de la même façon au moyen des champs constituant le numéro de sécurité sociale du patient. Les tables Ordonnances et Soins sont liées au moyen du champ Ordonnance GD (noté respectivement OrdonnanceJ-D et Soins_Ordonnance_ID). Pour garantir une parfaite identité des formats du champ Personne_SSi de la table Patients avec le champ Soins_Personne_SSi de la table Soins (i prenant successivement les valeurs 1 à 5), le dispositif selon l'invention est adapté pour importer la définition du format des champs Personne_SSi depuis le descripteur définissant le format des enregistrements de la table Patients vers le descripteur définissant celui des enregistrements de la table Soins. Cette opération est effectuée automatiquement suite à la définition des règles relationnelles liant les deux tables (définition des clefs primaires, étrangères, des champs relations...). Il est à noter que, dans le dispositif selon l'invention, il n'est pas nécessaire que les champs Personne_SSi, composant la clef primaire de la table Patients et le champ relation avec la table Soins, soient définis à la suite les uns des autres dans le descripteur de ladite table, et donc mémorisés à la suite les uns des autres dans la mémoire utilisateur lors de l'insertion d'un enregistrement. En revanche, la définition des champs Soins_Personne_SSi dans le fichier format de la table Soins s'effectuant automatiquement par une opération unique de recopie des données du descripteur de la table Patients relatives auxdits champs, ils sont donc automatiquement définis à la suite les uns des autres dans la table Soins. L'espace mémoire clef dédié à la combinaison des champs Soins_Personne_SSi est par conséquent un bloc mémoire compact. Les clefs étrangère et primaire des tables Soins et Patients permettent par exemple, à partir d'une information quelconque concernant une feuille de soins donnée (par exemple le numéro d'identification de la feuille de soins, noté SoinJD), d'accéder aux informations administratives du patient objet de la feuille de soin. Une telle recherche est dite mono-critère sur plusieurs tables. Dans l'exemple précité, la table de recherche est la table Soins, le champ de recherche est le champ SoinJD, la valeur de référence est le numéro d'identification de la feuille de soin concernée, 123456789 par exemple, l'opérateur de comparaison est le signe « = ». Si l'objet de la recherche est de retrouver le nom du patient concerné, la table de résultat est la table Patients et le champ de résultat est le champ Patients_Nom. Cette recherche se traduit par les opérations suivantes : a) - rechercher l'enregistrement de la table Soins pour lequel SoinJD = 123456789 : lecture des valeurs du champ SoinJD des enregistrements de la table Soins, comparaison de ces valeurs avec la valeur de référence 123456789, mémorisation de l'identificateur de l'enregistrement recherché, b) - effectuer la jointure entre les tables Soins et Patients. Cette . opération s'écrit avec une unique ligne de commande : "Join many to one Soins. PersonneJ-D". Lors de la construction de la base de données et de la définition de règles relationnelles entre les tables, un champ relation PersonneJD a été défini comme regroupant les champs Personne_SSi (i prenant les valeurs 1 à 5) et constituant par ailleurs une clef primaire de la table Patients. Par ailleurs, les champs Soins_personne_SSi ont été définis comme constituant un unique champ formant une clef étrangère de la table Soins pointant vers la clef primaire Personne J-D de la table Patients. La ligne de requête précédente commandent aux moyens de traitement de sélectionner successivement des enregistrements de la table Patients, par exemple un enregistrement 100, et de comparer directement l'espace mémoire clef (espace mémoire occupé par les champs de la clef étrangère de la table Soins correspondant au champ relation PersonneJ , la table Soins possédant par ailleurs d'autres clefs étrangères définissant des champs relations avec d'autres tables) de l'emegistrement de la table Soins, emegistrement 200 par exemple, vérifiant Soin_ID= 123456789 (dont l'identificateur a été mémorisé lors de l'étape précédente), avec les espaces mémoires clefs (occupés par les champs de la clef primaire PersonneJD de la table Patients) de chacun des enregistrements de la table Patients successivement sélectionnés. La comparaison s'effectue, par exemple, octet par octet : les moyens de traitement comparent successivement les octets 141 et 203, puis 142 et 204, puis 143 et 211, puis 144 et 212, puis 173 et 213, puis 174 et 214. Lesdits octets sont lus et directement comparés, sans aucun formatage ni interprétation préalables des données qu'ils contiennent. De plus, l'opération s'effectue sans création ni mémorisation dans la mémoire de travail d'une table de recherche (produit scalaire) comportant les enregistrements des tables Patients et Soins. Dans l'exemple présent, il n'existe qu'un seul enregistrement de la table Patients vérifiant l'égalité. Le dispositif est adapté pour interrompre les comparaisons dès que l'enregistrement recherché à été identifié (commande "many to one"). c) - mémoriser, à titre de résultat de la recherche, l'identificateur de l'enregistrement de la table Patients retenu par l'étape précédente, et lire et afficher la valeur du champ Patients_Nom de cet enregistrement. Cette dernière étape utilise avantageusement le fait que les données utilisateur sont mémorisées dans une mémoire 3 a directement et rapidement accessible en lecture et en écriture (mémoire électronique) par le microprocesseur. Elle permet de réaliser des recherches sur la base des résultats de la recherche précédente, de façon extrêmement rapide. Ainsi, l'adresse de la personne ayant fait l'objet de la feuille de soin n°123456789, et dont le nom (Martin par exemple) apparaît sur l'écran de visualisation en réponse à la recherche précédente, est directement accessible grâce à l'identificateur de l'enregistrement, toujours en mémoire en tant que résultat de la recherche précédente. Cette opération est une simple opération de lecture dans la mémoire utilisateur, instantanée. A titre de comparaison, dans un dispositif antérieur muni d'un moteur de recherche SQL, retrouver cette adresse revient à formuler la nouvelle recherche suivante : rechercher l'enregistrement de la table Soins pour lequel SoinJD = 123456789 (une recherche sur le nom Martin dans la table Patients aurait de forte chance d'aboutir à plusieurs résultats) ; effectuer le produit de cet enregistrement avec tous les enregistrements de la table Patients ; rechercher, parmi les lignes créées, celles vérifiant Personne_SSi = SoinsJPersonneJSSi (i prenant successivement les valeurs 1 à 5) ; mémoriser et afficher les valeurs des champs Patients_Adresse_rue, Patients_Adresse_CodePostal et Patients_Adresse_ville de la ligne retenue lors de l'étape précédente. Il est à noter également que pour le gestionnaire de la base de données, la combinaison des champs SoinsJPersonneJSSi est définie comme un unique champ (clef étrangère) permettant d'établir une relation avec la table Patients. Parallèlement, chacun des champs Soins_Personne_SSi est défini individuellement comme un champ de la table Soins (dont le format a été importé depuis le descripteur de la table Patients), de sorte qu'il est également possible d'effectuer sur cette table Soins des recherches portant sur un seul de ces champs. Le dispositif selon l'invention permet donc de réaliser des jointures entre des tables liées d'une base de données (les règles relationnelles doivent, en contrepartie, être définies lors de la construction de la base de données) de façon sûre et extrêmement rapide, réduisant ainsi considérablement les temps de recherche dans ladite base. Il utilise un langage de requête grandement simplifié ; les applicatifs correspondants occupent un espace mémoire réduit. 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++. 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. En particulier, le dispositif selon l'invention est adapté pour permettre la réalisation d'une jointure en vue de déterminer l'unique enregistrement d'une première table lié à un enregistrement d'une deuxième table pouvant contenir plusieurs enregistrements liés à l'enregistrement recherché de la première table (relation dite 1-N et correspondant à l'exemple décrit ci-avant : une même personne, identifiée par un unique numéro de sécurité sociale, peut faire l'objet de plusieurs feuilles de Soins). Une telle recherche s'écrit au moyen d'une unique ligne de commande : "Join many to one Soins. PersonneJD". Dans le cas où plusieurs enregistrements de la deuxième table ont préalablement été sélectionnés (exemple : on recherche les patients d'un médecin donné. Une première étape de recherche a permis d'identifier l'ensemble des feuilles de soin délivrées par ce médecin), le dispositif est adapté pour réaliser autant de jointures desdites première et deuxième tables que d'enregistrements sélectionnés. L'ensemble des jointures est programmé au moyen d'une unique ligne de commande : "Join multiple many to one Soins. PersonneJD". Le dispositif permet également de réaliser une jointure en vue de déterminer les enregistrements d'une première table liés à un enregistrement d'une deuxième table, étant précisé que ladite deuxième table ne contient qu'un seul enregistrement lié aux enregistrements recherchés de la première table (relation N-l : il s'agit par exemple de retrouver les feuilles de soins dont a fait l'objet une personne donnée, la première table étant la table Soins, la deuxième la table Patients). Une telle recherche s'écrit également au moyen d'une unique ligne de programme, utilisant une commande "one to many" : "Join one to many Soins. PersonneJD". Comme précédemment, dans le cas où plusieurs enregistrements de la deuxième table ont été préalablement sélectionnés (on recherche les feuilles de soin d'une série de patients exerçant une profession donnée, une première - étape ayant permis d'identifier lesdits patients), le dispositif réalise une pluralité de jointures sous l'unique commande suivante : "Join multiple one to many Soins. PersonneJD".
Figure imgf000021_0001
Note: the social security number is advantageously divided into five fields Person SSl to Person_SS5 each corresponding to information on the patient (sex, year, month and department of birth, number). FIG. 3 represents a part of the memory block occupied by a record 100 of the Patients table. The 12 bytes 111 to 134 are used to store the Name field; byte 141 corresponds to the Person_SSl field (integer stored on 1 byte); byte 142 corresponds to the Person_SS2 field (integer of one byte); byte 143 stores the Person_SS3 field; byte 144 stores the Person_SS4 field; the 10 bytes 151 to 172 are reserved for the First name field; bytes 173 and 174 correspond to the Person_SS5 field; on the following 16 bytes (partially represented) is stored the value of the Street_address field, etc ... FIG. 4 represents a part of the memory block of a record 200 of the Treatment Table. Bytes 201 and 202 are used to store the SoinJ-D field; byte 203 corresponds to the Soin_Personne_SSl field; byte 204 corresponds to the Soin_Personne_SS2 field; byte 211 corresponds to the Soin_Personne_SS3 field; byte 212 corresponds to the Soin_Personne_SS4 field; bytes 213 and 214 correspond to the Soin_Personne_SS5 field; bytes 221 and 222 are used to store the value of the Doctor D field; the next 4 bytes (partially shown) correspond to the Date field, etc. The fields constituting the social security number of each patient, stored on bytes 141 to 144 and 173-174 for record 100, are chosen to define a primary key of the Patients table. The Treatments table has these same fields, corresponding to bytes 203-204 and 211 to 214 for the record 200, which constitute for this table a foreign key allowing, starting from a record of the Treatments table, to go back to the corresponding record from the Patients table. As a patient can be the subject of different treatment sheets, such a relationship is called a 1-N relationship. The Examinations and Patients tables are linked in the same way by means of the fields constituting the patient's social security number. The Prescriptions and Treatments tables are linked by means of the GD Prescription field (noted respectively OrdonnanceJ-D and Soins_Ordonnance_ID). To guarantee perfect identity of the formats of the Person_SSi field of the Patients table with the Care_Personne_SSi field of the Care table (i successively taking the values 1 to 5), the device according to the invention is suitable for import the definition of the format of the Person_SSi fields from the descriptor defining the format of the records in the Patients table to the descriptor defining that of the records in the Care table. This operation is performed automatically following the definition of the relational rules linking the two tables (definition of primary, foreign keys, relationship fields, etc.). It should be noted that, in the device according to the invention, it is not necessary that the Person_SSi fields, composing the primary key of the Patients table and the relation field with the Care table, are defined following each of the others in the descriptor of said table, and therefore stored one after the other in user memory when a record is inserted. On the other hand, the definition of the Care_Personne_SSi fields in the file format of the Care table is performed automatically by a single operation of copying the data from the descriptor of the Patients table relating to the said fields, they are therefore automatically defined following each other in the Care table. The key memory space dedicated to the combination of the Care_Person_SSi fields is therefore a compact memory block. The foreign and primary keys of the Care and Patient tables allow, for example, from any information concerning a given care sheet (for example the identification number of the care sheet, noted SoinJD), to access information of the patient who is the subject of the treatment sheet. Such a search is said to be mono-criterion on several tables. In the above example, the search table is the Care table, the search field is the CareJD field, the reference value is the identification number of the care sheet concerned, for example 123456789, the comparison operator is the sign "=". If the object of the research is to find the name of the patient concerned, the result table is the Patients table and the result field is the Patients_Name field. This search results in the following operations: a) - finding the record in the Care table for which SoinJD = 123456789: reading the values in the SoinJD field from the records in the Care table, comparing these values with the reference value 123456789, memorization of the identifier of the sought record, b) - join the Care and Patient tables. This . operation is written with a single command line: "Join many to one Care. PersonJ-D". During the construction of the database and the definition of relational rules between the tables, a relation field PersonJD was defined as gathering the fields Person_SSi (i taking the values 1 to 5) and constituting in addition a primary key of the Patients table. In addition, the Care_person_SSi fields have been defined as constituting a single field forming a foreign key in the Care table pointing to the primary person JD key in the Patients table. The preceding request line commands the processing means to successively select records from the Patients table, for example a record 100, and to directly compare the key memory space (memory space occupied by the fields of the foreign key in the Care table corresponding to the PersonJ relation field, the Care table also having other foreign keys defining relationship fields with other tables) of the record of the Care table, record 200 for example, checking Soin_ID = 123456789 (including the identifier was memorized during the previous step), with the key memory spaces (occupied by the fields of the primary key PersonJD in the Patients table) of each of the records in the Patients table successively selected. The comparison is carried out, for example, byte by byte: the processing means successively compare bytes 141 and 203, then 142 and 204, then 143 and 211, then 144 and 212, then 173 and 213, then 174 and 214. Said bytes are read and directly compared, without any prior formatting or interpretation of the data they contain. In addition, the operation is carried out without creation or storage in the working memory of a search table (scalar product) comprising the records of the Patients and Care tables. In this example, there is only one record in the Patients table that checks for equality. The device is suitable for interrupting comparisons as soon as the record sought has been identified ("many to one" command). c) - memorize, as a result of the search, the identifier of the record in the Patients table used in the previous step, and read and display the value of the Patients_Name field of this record. This last step advantageously uses the fact that the user data is stored in a memory 3a directly and quickly accessible for reading and writing (electronic memory) by the microprocessor. It allows searches based on the results of the previous search, extremely quickly. Thus, the address of the person who was the subject of care sheet n ° 123456789, and whose name (Martin for example) appears on the display screen in response to the previous search, is directly accessible thanks to the identifier of the record, still in memory as a result of the previous search. This operation is a simple instant read operation in the user memory. For comparison, in a previous device equipped with a SQL search engine, finding this address amounts to formulating the following new search: searching for the record in the Care table for which SoinJD = 123456789 (a search on the name Martin in the Patients table would have a good chance of achieving several results); perform the product of this record with all the records in the Patients table; find, among the lines created, those verifying Person_SSi = CareJPerson NSSJi (i successively taking the values 1 to 5); memorize and display the values of the Patients_Adresse_rue, Patients_Adresse_CodePostal and Patients_Adresse_ville fields of the line used in the previous step. It should also be noted that for the database manager, the combination of the CareJPersonJSSi fields is defined as a single field (foreign key) used to establish a relationship with the Patients table. At the same time, each of the Care_Person_SSi fields is defined individually as a field in the Care table (the format of which was imported from the descriptor of the Patients table), so that it is also possible to carry out searches on this Care table relating to on only one of these fields. The device according to the invention therefore makes it possible to perform joins between linked tables of a database (the relational rules must, in return, be defined during the construction of the database) in a secure manner and extremely fast, thus considerably reducing the search times in said database. It uses a greatly simplified query language; the corresponding applications occupy a reduced memory space. 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. It goes without saying that the invention can be the subject of numerous variants with respect to the embodiments previously described and represented in the figures. In particular, the device according to the invention is adapted to allow the creation of a join in order to determine the single record of a first table linked to a record of a second table which may contain several records linked to the record. retrieved from the first table (relationship known as 1-N and corresponding to the example described above: the same person, identified by a single social security number, can be the subject of several Care sheets). Such a search is written by means of a single command line: "Join many to one Treatments. PersonJD". In the case where several records from the second table have been previously selected (example: we are looking for the patients of a given doctor. A first search step made it possible to identify all the treatment sheets issued by this doctor), the device is suitable for making as many joins of said first and second tables as there are selected records. All the joins are programmed by means of a single command line: "Join multiple many to one Treatments. PersonJD". The device also makes it possible to perform a join in order to determine the records of a first table linked to a record of a second table, it being specified that said second table contains only one record linked to the searched records of the first table (relationship Nl: this involves, for example, finding the treatment sheets for which a given person was the subject, the first table being the Treatment table, the second the Patients table). Such research is also written by means of a single line of program, using a "one to many" command: "Join one to many Treatments. PersonJD". As before, in the case where several records from the second table have been previously selected (we are looking for the treatment sheets for a series of patients exercising a given profession, a first - step having made it possible to identify said patients), the device performs a plurality of joins under the following single command: "Join multiple one to many Treatments. PersonJD".

Claims

REVENDICATIONS
II - 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 (3 a), 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) 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 construite selon des spécificités définies par une personne, dite opérateur, et permettant d'organiser le stockage des données utilisateur sous forme d'enregistrements de tables comprenant chacune une pluralité de champs, ladite base de données comprenant au moins deux tables liées entre elles par un ou plusieurs champs communs, dits champs clefs, qui occupent, pour chaque enregistrement desdites tables, un espace mémoire dit espace mémoire clef de l'enregistrement, le dispositif étant caractérisé en ce qu'il est adapté pour : lors de la construction de la base de données, enregistrer dans la mémoire utilisateur (3 a) un format des enregistrements de l'une -première- des deux tables, tel que défini et saisi par l'opérateur, dans un descripteur de la première table, et recopier dans la mémoire utilisateur, à partir du descripteur de la première table, les informations définissant le format de chacun des champs clefs de ladite table vers un descripteur de la seconde table, définissant un format des enregistrements de l'autre - seconde- desdites tables, de sorte que chaque champ clef est défini avec le même format dans les deux tables, permettre la réalisation d'au moins une jointure entre lesdites tables en vue de déterminer le ou les enregistrement(s) de l'une -première- desdites tables lié(s) à un enregistrement (200) de l'autre -seconde- desdites tables, en comparant directement l'état électronique des espaces mémoires clefs (203, 204, 211-214, 141-144, 173, 174) de l'enregistrement de la seconde table et d'au moins un enregistrement (100) de la première table, et mémoriser dans la mémoire utilisateur au moins une information, dite résultat de la jointure, représentative du fait qu'un ou plusieurs enregistrement(s) identifié(s) de la première table présentent) un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table. 21 - Dispositif selon la revendication 1, caractérisé en ce que le dispositif est adapté pour, lors de la construction de la base de données, mémoriser la définition, telle que saisie par l'opérateur, d'un champ, dit champ relation des première et seconde table, formé par la combinaison des champs clefs tels que définis dans le descripteur de la première table, et recopier automatiquement les informations définissant le format des champs composant le champ relation depuis le descripteur de la première table vers le descripteur de la seconde table en réponse à la mémorisation de la définition dudit champ relation. 3/ - Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce qu'il est adapté pour, lors de la réalisation de la jointure, comparer octet (141, 203) par octet les espaces mémoires clefs de l'enregistrement (200) de la seconde table et d'un enregistrement (100) de la première table, et interrompre la comparaison dès que deux octets correspondants comparés présentent un état électronique différent. 4/ - Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce qu'il est adapté pour, lors de la réalisation de la jointure, comparer mot par mot, respectivement mot long par mot long, respectivement double par double, les espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table, et interrompre la comparaison dès que deux mots, respectivement deux mots longs, respectivement deux doubles, correspondants comparés présentent un état électronique différent. 5/ - Dispositif selon l'une des revendications 1 à 4, caractérisé en ce qu'il est adapté pour, lors de la réalisation d'une jointure, sélectionner un mode de comparaison pour chaque champ clef en fonction du format dudit champ clef. 6/ - Dispositif selon l'une des revendications 1 à 5, caractérisé en ce qu'il est adapté pour, lors de la réalisation de la jointure, comparer champ clef par champ clef les espaces mémoires clefs de l'enregistrement de la seconde table et d'un enregistrement de la première table, et interrompre la comparaison dès que les espaces mémoires de deux champs clefs correspondants comparés présentent un état électronique différent. Il - Dispositif selon l'une des revendications 1 à 6, caractérisé en ce qu'il est adapté pour calculer et mémoriser, pour chaque enregistrement de la base de données, un identificateur permettant d'accéder directement audit enregistrement dans la mémoire utilisateur. 8/ - Dispositif selon la revendication 7 caractérisé en ce qu'il est adapté pour élaborer, mettre à jour pour chaque nouvel enregistrement saisi d'une table prédéfinie par l'opérateur, et mémoriser dans la mémoire utilisateur, un index d'un champ de ladite table prédéfini par l'opérateur, dit champ indexé, ledit index comprenant les identificateurs des enregistrements de ladite table mémorisés les uns à la suite des autres de telle sorte que les valeurs du champ indexé desdits enregistrements soient ordonnées. 9/ - Dispositif selon les revendications 6 et 8, caractérisé en ce qu'il est adapté pour permettre la réalisation d'au moins une jointure entre une première et une seconde tables liées par un ou plusieurs champs clefs communs dont l'un au moins est indexé, et pour sélectionner successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de l'enregistrement de la seconde table, en effectuant une recherche dichotomique sur l'index du champ clef indexé. 10/ - Dispositif selon l'une des revendications 1 à 8, caractérisé en ce qu'il est adapté pour sélectionner successivement les enregistrements de la première table dont les espaces mémoires clefs sont à comparer à celui de l'enregistrement de la seconde table, dans un ordre de mémorisation desdits enregistrements dans la mémoire utilisateur. 11/ - Dispositif selon l'une des revendications 1 à 10, dans lequel la combinaison des champs clefs constitue une clef primaire de la première table et une clef étrangère de la seconde table, caractérisé en ce qu'il est adapté pour interrompre les comparaisons entre l'espace mémoire clef de l'enregistrement de la seconde table et les espaces mémoires clefs d'enregistrements de la première table, dès qu'un enregistrement de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table a été identifié. 12/ - Dispositif selon l'une des revendications 1 à 11 et selon la revendication 7, caractérisé en ce qu'il est adapté pour mémoriser, à titre de résultat de la jointure, l'identificateur du(des) enregistrements) de la première table présentant un espace mémoire clef électroniquement identique à celui de l'enregistrement de la seconde table. 13/ - Dispositif selon l'une des revendications 1 à 12 et selon la revendication 7, caractérisé en ce qu'il est adapté pour : - en réponse à une recherche effectuée dans la base de données à partir de critères de recherche, saisir par un utilisateur ou un opérateur et comprenant au moins des informations de désignation d'une table, dite table de recherche, d'un champ de ladite table, dit champ de recherche, d'un opérateur de comparaison, d'une valeur de référence, et d'une autre table, dite table de résultat, sélectionner le(s) enregistrement(s) de ladite table de recherche vérifiant lesdits critères de recherche, - réaliser au moins une jointure entre la table de recherche et la table de résultat en vue de déterminer le(s) enregistrements(s) de la table de résultat lié(s) à chaque enregistrement, précédemment sélectionné, de la table de recherche, - mémoriser, dans la mémoire utilisateur, l'identificateur du(des) enregistrement(s), précédemment déterminé(s), de la table de résultat. 14/ - Dispositif selon l'une des revendications 1 à 13, caractérisé en ce que la mémoire utilisateur (3 a) est choisie parmi une mémoire é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. II - Device for digital data processing, comprising processing means (1) comprising at least one microprocessor; non-volatile storage means (2), called read-only memory, directly accessible in read-only mode by the processing means, and consisting exclusively of one or more non-volatile electronic memory (s); means (3 a), called user memory, for storage directly accessible in read and write mode by the processing means for storing user programs and / or 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) 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 constructed according to specificities defined by a person, called operator, and making it possible to organize the storage of user data in the form of 'table records each comprising a plurality of fields, said database comprising at least two tables linked together by one or more common fields, called key fields, which occupy, for each record of said tables, a memory space called key memory space of the recording, the device being characterized in that it is suitable for: during the construction of the database, recording in the user memory (3 a) a format of the recordings of the first one of the two tables, as defined and entered by the operator, in a descriptor of the first table, and copy into user memory, through shot from the descriptor of the first table, the information defining the format of each of the key fields of said table to a descriptor of the second table, defining a format of the records of the other - second- of said tables, so that each key field is defined with the same format in both tables, allow at least one join between said tables to determine the record (s) of one -first- of said tables linked (s) to a record (200) of the other -second- of said tables, by directly comparing the electronic state of the key memory spaces (203, 204, 211-214, 141-144, 173, 174) of the recording of the second table and of at least one recording (100) of the first table, and memorize in the user memory at least one item of information, called the result of the join, representative of the fact that one or more identified record (s) of the first table have) a key memory space electronically identical to that the registration of the second table. 21 - Device according to claim 1, characterized in that the device is adapted for, during the construction of the database, memorize the definition, as entered by the operator, of a field, said field relation of the first and second table, formed by the combination of key fields as defined in the descriptor of the first table, and automatically copy the information defining the format of the fields composing the relation field from the descriptor of the first table to the descriptor of the second table in response to memorizing the definition of said relation field. 3 / - Device according to one of claims 1 or 2, characterized in that it is suitable for, when performing the join, compare byte (141, 203) by byte the key memory spaces of the recording ( 200) of the second table and of a record (100) of the first table, and interrupt the comparison as soon as two corresponding bytes compared have a different electronic state. 4 / - Device according to one of claims 1 or 2, characterized in that it is suitable for, when making the join, compare word by word, respectively long word by long word, respectively double by double, the key memory spaces for the recording of the second table and of a recording of the first table, and to interrupt the comparison as soon as two words, respectively two long words, respectively two doubles, compared correspondents have a different electronic state. 5 / - Device according to one of claims 1 to 4, characterized in that it is suitable for, when performing a join, select a comparison mode for each key field according to the format of said key field. 6 / - Device according to one of claims 1 to 5, characterized in that it is suitable for, when performing the join, compare key field by key field the key memory spaces of the recording of the second table and a recording of the first table, and interrupt the comparison as soon as the memory spaces of two compared key fields compared have a different electronic state. It - Device according to one of claims 1 to 6, characterized in that it is suitable for calculating and storing, for each record in the database, an identifier allowing direct access to said record in the user memory. 8 / - Device according to claim 7 characterized in that it is adapted to develop, update for each new record entered from a table predefined by the operator, and store in the user memory, an index of a field of said table predefined by the operator, said indexed field, said index comprising the identifiers of the records of said table stored one after the other so that the values of the indexed field of said records are ordered. 9 / - Device according to claims 6 and 8, characterized in that it is adapted to allow the production of at least one joint between a first and a second tables linked by one or more common key fields of which at least one is indexed, and to successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, by performing a dichotomous search on the index of the key field indexed. 10 / - Device according to one of claims 1 to 8, characterized in that it is adapted to successively select the records of the first table whose key memory spaces are to be compared to that of the recording of the second table, in an order of memorization of said records in the user memory. 11 / - Device according to one of claims 1 to 10, in which the combination of the key fields constitutes a primary key of the first table and a foreign key of the second table, characterized in that it is adapted to interrupt the comparisons between the key memory space of the recording of the second table and the key memory spaces of records of the first table, as soon as a recording of the first table having a key memory space electronically identical to that of the recording of the second table has been identified. 12 / - Device according to one of claims 1 to 11 and according to claim 7, characterized in that it is adapted to memorize, as a result of the join, the identifier of the record (s) of the first table presenting a key memory space electronically identical to that of the recording of the second table. 13 / - Device according to one of claims 1 to 12 and according to claim 7, characterized in that it is suitable for: - in response to a search carried out in the database using search criteria, enter by a user or an operator and comprising at least information for designating a table, said search table, a field of said table, said search field, a comparison operator, a reference value, and from another table, called the result table, select the record (s) of said search table verifying said search criteria, - make at least one join between the search table and the result table in view to determine the record (s) of the result table linked to each record, previously selected, of the search table, - store, in user memory, the identifier of the record (s) ), previously determined iné (s), from the result table. 14 / - Device according to one of claims 1 to 13, characterized in that the user memory (3 a) is chosen from a dynamic volatile electronic memory of the "RAM" type, a static volatile electronic memory of the "SRAM" type, a non-volatile electronic memory of the “flash” memory type, a space memory of one of these memories dedicated to storing data and user programs.
PCT/FR2003/001678 2003-06-04 2003-06-04 Pda-type computer device for storing and processing relational databases WO2005004001A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/FR2003/001678 WO2005004001A1 (en) 2003-06-04 2003-06-04 Pda-type computer device for storing and processing relational databases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2003/001678 WO2005004001A1 (en) 2003-06-04 2003-06-04 Pda-type computer device for storing and processing relational databases

Publications (1)

Publication Number Publication Date
WO2005004001A1 true WO2005004001A1 (en) 2005-01-13

Family

ID=33560951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/001678 WO2005004001A1 (en) 2003-06-04 2003-06-04 Pda-type computer device for storing and processing relational databases

Country Status (1)

Country Link
WO (1) WO2005004001A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125110A (en) * 2019-12-25 2020-05-08 深圳前海环融联易信息科技服务有限公司 Method and device for checking non-primary key field, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
EP0818743A2 (en) * 1996-07-09 1998-01-14 Informix Software, Inc. Generalized key indexes
US6108651A (en) * 1997-09-09 2000-08-22 Netscape Communications Corporation Heuristic co-identification of objects across heterogeneous information sources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
EP0818743A2 (en) * 1996-07-09 1998-01-14 Informix Software, Inc. Generalized key indexes
US6108651A (en) * 1997-09-09 2000-08-22 Netscape Communications Corporation Heuristic co-identification of objects across heterogeneous information sources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125110A (en) * 2019-12-25 2020-05-08 深圳前海环融联易信息科技服务有限公司 Method and device for checking non-primary key field, computer equipment and storage medium
CN111125110B (en) * 2019-12-25 2023-08-18 深圳前海环融联易信息科技服务有限公司 Non-primary key field checking method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
Gorelik The enterprise big data lake: Delivering the promise of big data and data science
Dinneen et al. The ubiquitous digital file: A review of file management research
Whittaker et al. Easy on that trigger dad: a study of long term family photo retrieval
US9928463B2 (en) Episodic and semantic memory based remembrance agent modeling method and system for virtual companions
TWI550419B (en) Method for searching relevant images via active learning, electronic device using the same
US20210342634A1 (en) Precomputed similarity index of files in data protection systems with neural network
CN110457504A (en) Digital asset search technique
US20230376525A1 (en) Skin tone filter
WO2023108980A1 (en) Information push method and device based on text adversarial sample
Zhou et al. A baseline search engine for personal life archives
Xie et al. The role of memory in document re-finding
Fuller et al. Applying contextual memory cues for retrieval from personal information archives
de Andrade et al. Photo annotation: a survey
WO2005004001A1 (en) Pda-type computer device for storing and processing relational databases
US11699032B2 (en) Data set lookup with binary search integration and caching
Kalnikaite et al. Synergetic recollection: how to design lifelogging tools that help locate the right information
US20150269177A1 (en) Method and system for determining user interest in a file
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
Inoue Image retrieval: Research and use in the information explosion
Dinneen Analysing file management behaviour
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
Jones et al. Information access tasks and evaluation for personal lifelogs
Carver Preparing data for analysis with JMP
Lambert Visualizing and analyzing human-centered data streams

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION PURSUANT TO RULE 69 EPC (EPO FORM 1205A OF 010306)

122 Ep: pct application non-entry in european phase