Brevet FR2883391A1 — publié le 20060922

La présente invention concerne un procédé de gestion dynamique d'une base de données, dans lequel des données, stockées dans des moyens de stockage, sont destinées à être ordonnées au travers de moyens d'ordonnancement selon au moins une structure comprenant au moins un champ destiné à recevoir au moins une donnée. La présente invention entre dans le domaine des systèmes de gestion de base de données. L'invention concerne plus particulièrement la gestion 10 dynamique d'une base de donnée. De manière connue, une base de données stocke et organise des données de façon structurée. L'accès pour un utilisateur aux données stockées et ordonnées dans la base s'effectue au travers d'un système de gestion d'une telle base. Ce système a pour rôle de permettre l'accès auxdites informations et leur manipulation dans la base, à savoir l'insertion, la suppression ou la modification des données. Généralement, un système de gestion de base de données comprend, d'une part, un gestionnaire de fichier pour le stockage des données sur un support physique, d'autre part, un gestionnaire interne pour l'ordonnancement des données, et, d'autre part encore, un gestionnaire externe servant d'interface avec l'utilisateur. Les bases de données de l'état de la technique comprennent une structure qu'il convient de déclarer avant l'insertion des données et dans laquelle les données sont classées selon des champs définis en fonction du type et des caractéristiques desdites données, par exemple le type, la longueur de chaîne de caractère ou autre. Il est donc nécessaire d'allouer de l'espace mémoire à chaque champ défini dans ladite structure. Un inconvénient des bases de données et des gestionnaires de base de l'état de la technique réside dans le fait d'allouer cet espace mémoire, même si le champ de la structure n'est pas renseigné. En effet, la création d'un champ implique l'allocation de la place mémoire qu'il nécessite et donc une perte d'espace si la donnée qui doit y être stockée n'a pas de valeur ou n'existe pas. Par exemple, une structure comprend les champs correspondants aux nom, prénom et adresse d'une personne, et est déclarée comme telle. Si lors de l'insertion de données, l'adresse d'une personne n'est pas connue, l'espace mémoire sera quand même alloué dans la structure. De plus, la création de champs temporaires nécessite l'allocation de mémoire qu'il convient de prévoir lors de la déclaration de la structure et de supprimer en fin d'utilisation. Ces opérations ralentissent considérablement le fonctionnement d'un système de gestion de telle sorte qu'elle ne sont que rarement envisagées. L'invention a pour but de pallier les inconvénients de l'état de la technique en proposant une gestion dynamique de base de données, évitant ainsi l'allocation de mémoire pour un champ si ce dernier n'est pas renseigné. De plus, la gestion dynamique de la base de données selon l'invention permet la création temporaire de champs sans alourdir le fonctionnement du système de gestion. Enfin, l'invention offre la possibilité d'enregistrer uniquement les modifications apportées à une base de données sous forme d'une mise à jour et sur un support non réinscriptible. Pour ce faire, la présente invention concerne un procédé de gestion dynamique d'une base de données, dans lequel des données, stockées dans des moyens de stockage, sont destinées à être ordonnées au travers de moyens d'ordonnancement selon au moins une structure comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il consiste, lors de l'insertion d'une donnée, à déclarer, au travers de moyens de renseignement, un champ de ladite structure en fonction des caractéristiques de ladite donnée, notamment allouer l'espace mémoire sur lesdits moyens de stockage. Avantageusement, ce procédé consiste à calculer l'espace 35 mémoire à allouer à un champ en fonction du type, de taille ou analogue de la donnée qui y est insérée. 2883391 3 Préférentiellement, il consiste à accéder à un champ non déclaré de ladite structure au travers de moyens de contrôle dudit champ, en générant une réponse correspondant à un champ déclaré mais dont la valeur n'a pas été renseignée. De plus, il consiste à déclarer provisoirement un champ de ladite structure. Avantageusement, il consiste à sauvegarder tout ou partie de la structure déclarée, notamment sous forme d'au moins un fichier de mise à jour. De préférence, il consiste à sauvegarder tout ou partie de la structure déclarée, notamment sous forme de plusieurs fichiers incrémentales de mise à jour. De plus, il consiste à sauvegarder la structure déclarée sur des moyens de stockage amovible et/ou à mémoire non 15 réinscriptible. L'invention concerne aussi un système de mise en oeuvre du procédé de gestion dynamique d'une base de données selon l'invention, comprenant des moyens aptes à ordonner des données, stockées dans des moyens de stockage régis par un gestionnaire de fichier, et des moyens d'interface entre l'utilisateur et ladite base, ladite structure comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il comprend des moyens de renseignement aptes à déclarer l'espace mémoire à allouer à un champ de ladite structure en fonction des caractéristiques de la donnée qui y est insérée. Avantageusement, ce système de gestion comprend des moyens de sauvegarde de tout ou partie de la structure déclarée sur des supports de stockage amovible et/ou à mémoire non réinscriptible. D'autres caractéristiques et avantages de l'invention ressortiront de la description détaillée qui va suivre des modes de réalisation non limitatifs de l'invention. La présente invention concerne la gestion dynamique d'une 35 base de données, en particulier un procédé de gestion dynamique d'une base de données et son dispositif de mise en uvre. La gestion dynamique selon l'invention s'applique à une base de données, ces dernières étant stockées dans des moyens de stockage, tel un gestionnaire de fichier contrôlant des supports physiques de stockage, comme un disque dur ou analogue. Ces données sont destinées à être ordonnées au travers de moyens d'ordonnancement pour permettre leur accès ultérieur par un utilisateur, à savoir l'insertion d'une donnée, sa modification ou sa suppression. Pour ce faire, les données, une fois ordonnées sont classées selon une structure comprenant au moins un champ destiné à recevoir au moins une donnée. Il convient de noter que le terme champ s'entendra dans la description qui va suivre pour toute table, champ ou 15 enregistrement relatifs à une base de données. L'invention vise à optimiser l'espace mémoire requis par l'ordonnancement des données dans ladite structure. Pour ce faire, la gestion dynamique de la base de données ne déclare aucune structure préalablement à l'insertion des données. A l'inverse, l'espace requis pour la déclaration de la structure est alloué lors du renseignement des champs de cette structure au moment où les données sont insérées dans lesdits champs. A ce propos, lors de l'insertion d'une donnée, les caractéristiques de ladite donnée permettent de calculer l'espace mémoire nécessaire à allouer au champ dans lequel elle est insérée. En particulier, ces caractéristiques peuvent être son type, son format, sa taille, la longueur d'une chaîne de caractères, etc. La gestion dynamique consiste donc à optimiser l'espace mémoire requis par la structure de la base de données en déclarant un champ de ladite structure quand une donnée y est insérée. En particulier, lors de l'insertion d'une donnée, des moyens de renseignement d'un champ par ladite donnée son aptes à déclarer ledit champ en fonction des caractéristiques de la donnée qui y est insérée. De plus, la déclaration dudit champ consiste à allouer l'espace mémoire nécessaire sur lesdits moyens de stockage. Un avantage résulte du fait qu'un champ non renseigné ne sera pas déclaré et aucune place mémoire ne lui sera réservée. Un autre avantage réside dans la possibilité d'accéder à un tel champ non renseigné. En effet, la gestion dynamique selon l'invention permet d'accéder, au travers de moyens de contrôle, à un champ alors qu'aucune donnée n'y est insérée. Pour ce faire, lesdits moyens de contrôle du champ vérifient l'existence de ce dernier et/ou la présence d'une valeur de la donnée qui lui serait affectée. Le champ n'étant pas déclaré, les moyens de contrôle, au lieu de renvoyer un message d'erreur, génèrent une réponse correspondant à un champ dont la valeur de la donnée ne serait pas renseignée. La gestion dynamique suppose donc l'existence d'un champ qui est détecté comme non existent ou non déclaré. La gestion dynamique permet aussi de déclarer provisoirement des champs de ladite structure. L'avantage réside dans le fait qu'aucune allocation de mémoire n'est à prévoir à l'avance pour l'élaboration d'un champ destiné à un usage temporaire. La gestion dynamique comprend des moyens de sauvegarde, sur des supports de stockage, de la structure et des champs déclarés comme précédemment décrit. En particulier, elle peut sauvegarder la structure sur un support physique dit non réinscriptible , tel de la mémoire morte ou ROM. Pour ce faire, les moyens de sauvegarde permettent d'inscrire tout ou partie de la structure déclarée, en particulier et dans le cas d'une modification d'une structure existante, sous la forme de fichier de mise à jour de l'ancienne structure. Notamment, les moyens de sauvegarde peuvent comprendre un graveur de ROM, tel un dvd, un cd ou analogue. Ces fichiers de mise à jour peuvent être incrémentales, à savoir que plusieurs fichiers peuvent se succéder, le fichier le plus récent faisant référence à fichier précédent et ainsi de suite jusqu'au fichier initial. Un autre avantage réside dans le fait que la base de données initiale peut être conservée intacte, les fichiers de mise à jour se succédant. A ce propos, il est possible de récupérer l'état d'une structure modifiée en effaçant le ou les fichiers de mise à jour les plus récents. Un avantage réside dans l'affranchissement de la sauvegarde de l'intégralité de la structure de la base de données, conférant ainsi un gain de temps et d'espace en ne ciblant que les données modifiées. De plus, il est alors possible de modifier partiellement une base de données et de ne conserver que les modifications partielles, beaucoup moins lourdes en terme d'espace mémoire, et donc plus aisément transportables, notamment au travers d'un support de stockage amovible, tel une disquette ou une clef de stockage. Enfin, la gestion dynamique de base de données selon l'invention peut s'insérer dans tout type de système de gestion de base de données existant, en remplacement du gestionnaire d'ordonnancement, conservant ainsi les gestionnaire de fichier et l'interface avec l'utilisateur, régissant les relations entre les données et les actions sur ces dernières. Un avantage de la gestion dynamique selon l'invention réside dans le fait que la structure de la base s'adapte dynamiquement aux données au moment où elles y sont insérées, économisant l'espace d'allocation de mémoire. La structure de la base de données se construit au fur et à mesure de l'insertion desdites données, la structure enveloppante des données étant de ce fait constamment optimisée par rapport à la quantité et la variété des données hébergées. Bien entendu, l'invention n'est pas limitée aux exemples illustrés et décrits précédemment qui peuvent présenter des variantes et modifications sans pour autant sortir du cadre de l'invention. En particulier, l'optimisation de l'espace mémoire alloué à la structure de la base de données s'étend aux tables, aux champs et aux enregistrements d'une telle structure. 7 REVENDICATIONS 1. Procédé de gestion dynamique d'une base de données, dans lequel des données, stockées dans des moyens de stockage, sont destinées à être ordonnées au travers de moyens d'ordonnancement selon au moins une structure comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il consiste, lors de l'insertion d'une donnée, à déclarer, au travers de moyens de renseignement, un champ de ladite structure en fonction des caractéristiques de ladite donnée, notamment allouer l'espace mémoire sur lesdits moyens de stockage. 2. Procédé de gestion dynamique selon la revendication 1, caractérisé en ce qu'il consiste à calculer l'espace mémoire à allouer à un champ en fonction du type, de taille ou analogue de la donnée qui y est insérée. 3. Procédé de gestion dynamique selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il consiste à accéder à un champ non déclaré de ladite structure au travers de moyens de contrôle dudit champ, en générant une réponse correspondant à un champ déclaré mais dont la valeur n'a pas été renseignée. 4. Procédé de gestion dynamique selon l'une quelconque des revendications précédentes, caractérisé par le fait que caractérisé en ce qu'il consiste à déclarer provisoirement un champ de ladite structure. 5. Procédé de gestion dynamique selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à sauvegarder tout ou partie de la structure déclarée, notamment sous forme d'au moins un fichier de mise à jour. 6. Procédé de gestion dynamique selon l'une quelconque des revendications 1 à 4, caractérisé par le fait que caractérisé en ce qu'il consiste à sauvegarder tout ou partie de la structure déclarée, notamment sous forme de plusieurs fichiers incrémentales de mise à jour. 7. Procédé de gestion dynamique selon l'une quelconque des revendications précédentes, caractérisé par le fait que caractérisé en ce qu'il consiste à sauvegarder la structure déclarée sur des moyens de stockage amovible et/ou à mémoire non réinscriptible. 8. Système de mise en oeuvre du procédé de gestion dynamique d'une base de données selon l'une quelconque des revendications précédentes, caractérisé par le fait que comprenant des moyens aptes à ordonner des données, stockées dans des moyens de stockage régis par un gestionnaire de fichier, et des moyens d'interface entre l'utilisateur et ladite base, ladite structure comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il comprend des moyens de renseignement aptes à déclarer l'espace mémoire à allouer à un champ de ladite structure en fonction des caractéristiques de la donnée qui y est insérée. 9. Système de gestion selon la revendication 8, caractérisé par le fait qu'il comprend des moyens de sauvegarde de tout ou partie de la structure déclarée sur des supports de stockage amovible et/ou à mémoire non réinscriptible.