PROCEDE DE GESTION DYNAMIQUE D'UNE BASE DE DONNEES
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 de base de données comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il consiste à déclarer, au travers de moyens de renseignement, un champ de ladite structure en fonction des caractéristiques de ladite donnée au fur et à mesure de l'insertion desdites données .
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 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. Cette allocation est réalisée de manière définitive au moment de la création de la base de données au travers de la déclaration de sa structure incluant les tables et champs y relatifs .
Un inconvénient des bases de données et des gestionnaires de base de données 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. En d'autres termes, une quantité de mémoire superflue est réservée et par conséquent utilisée lors de l'enregistrement ultérieur, au niveau physique, de ladite base de données .
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 la réservation et 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, par exemple une mémoire de type « flash », ROM ou équivalente .
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 de base de données comprenant au moins un champ destiné à recevoir au moins une donnée, caractérisé par le fait qu'il consiste à déclarer, au travers de moyens de renseignement, un champ de ladite structure en fonction des caractéristiques de ladite donnée au fur et à mesure de l'insertion desdites données.
Selon d'autres caractéristiques de l'invention, un tel procédé consiste à calculer l'espace mémoire à allouer à un champ en fonction du type, de taille ou du format de la donnée qui y est insérée .
Préférentiellement, il consiste à accéder à un champ non déclaré de ladite structure au travers de moyens de contrôle dudit champ générant une réponse correspondant à un champ déclaré sans qu'aucune donnée y ait été insérée.
De plus, il consiste à déclarer provisoirement un champ de ladite structure.
Tout particulièrement, il consiste à sauvegarder tout ou partie de la structure déclarée sous forme d'au moins un fichier originel accompagné ou non 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.
Selon un mode de réalisation, il consiste à sauvegarder la structure déclarée sur des moyens 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 en référence aux figures en annexe, dans lesquels :
- la figure 1 est une vue schématique de l'espace mémoire requis par l'insertion de données dans une structure préalablement déclarée ; et
- la figure 2 est une représentation schématique de l'espace mémoire alloué selon l'invention.
La présente invention concerne la gestion dynamique d'une 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, lesdites données pouvant être 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 .
II convient de noter que le terme « champ » s'entendra dans la description qui va suivre pour toute table, champ ou 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.
On notera ici qu'il s'agit d'une réservation virtuelle de l'espace mémoire. En effet, l'inscription et l'adressage physique seront effectués ultérieurement lors de l'enregistrement ou de la sauvegarde de ladite base de données, au travers dudit gestionnaire de fichier. On ne considère donc pas ici la réservation physique qui est effectuée par les moyens de stockage mais la déclaration et l'allocation de mémoire des champs des tables et de la structure de la base de données .
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.
L'espace requis pour un champ dépend donc de la donnée elle-
même. De plus, la structure de la base ne comprendra uniquement des champs dans lesquels une donnée a été insérée. En somme, la base de donnée dynamique selon l'invention développe sa structure et adapte sa taille globale en fonction de la taille des données qui y sont insérées au fur et à mesure que lesdites données y sont enregistrées . On notera que la gestion de données selon l'invention ne nécessite aucune déclaration préalablement à l'insertion des données.
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, en particulier au travers de la construction au fur et à mesure de l'insertion des données. Ainsi, la taille de la structure enveloppante est constamment optimisée par rapport à la quantité et la variété de données hébergées .
Les figures en annexe mettent en évidence la différence d'espace mémoire réservé par une base de données classique au regard de la gestion de base de données selon l'invention. Dans une base de données classique, la structure de la base de données, incluant tables, enregistrements et champs, est figée de sorte que, lors de l'insertion d'une donnée, tous les champs sont déclarés, même s'ils ne contiennent pas de valeur (données grisées) . La réservation de l'espace au niveau des moyens de stockage est directement liée à la taille de la structure. On constate que, pour la même donnée insérée, la structure selon l'invention ne comprend que les champs dont les données comprennent une valeur. Par conséquent, l'espace mémoire requis sur les moyens de stockage s'en trouve diminué. De plus, en
fonction des données insérées ou renseignées, la structure de la base de données peut fluctuer et comprendre davantage ou moins de champs ou d' enregistrements déclarés .
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, alors que le champ n'existe pas en fin de compte. 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é.
En résumé, le procédé de gestion selon l'invention considère que, virtuellement, toute table et tout champ existent et que, concrètement, seule une table non vide est implémentée.
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émentés , à 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 . Ce dernier peut avantageusement se présenter sous une table enregistrée, les incrémentations successives pouvant correspondre à au moins une instruction d'insertion, de suppression ou tout autre opération effectuées sur ladite table.
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. En pratique il s'agit de récupérer le fichier précédent et de l'enregistrer en dernier.
Ainsi, une structure de table nouvellement créée le sera toujours en premier lieu dans un fichier originel représentant cette structure, existant de façon individuelle. La modification d'une telle structure sera effectuée au travers de l'ajout de fichiers de mise à jour, ces derniers ne contenant que des modifications liées à la structure déjà existante, et s'appliquant au fichier originel et/ou au fichier de mise à jour précédent. En d'autres termes, la sauvegarde de la structure de la base de données consiste à enregistrer tout ou partie de la structure, une fois déclarée, sous forme d'au moins un fichier originel suivi éventuellement d' au moins un fichiers de mise à jour. Tout particulièrement, il consiste à sauvegarder tout ou partie de la structure déclarée, notamment sous forme d' au moins un fichier originel éventuellement assorti d'un ou plusieurs fichiers de mise à jour.
Selon un mode de réalisation particulier, la sauvegarde d'un élément de structure se fera préalablement et obligatoirement via un fichier originel qui représente cet élément de
structure. Il n'y a alors pas de fichier de mise à jour sans ce fichier originel, ce dernier pouvant exister sans présence d'aucun fichier de mise à jour. En d'autres termes, pour chaque élément de structure composant cette base, il existe un et un seul fichier originel .
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 .
Selon un mode préférentiel de réalisation, la base de données comprend un gestionnaire de fichier apte à gérer le caractère dynamique de l'invention, seule l'interface utilisateur étant alors conservée par rapport à un système de base de données connu .
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.
La présente invention trouvera une application toute particulière dans les appareils et dispositifs portables dont l'espace mémoire est limité, tels un téléphone cellulaire, un appareil photographique, un agenda électronique, etc.
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.