FR 2939536 A1 20100611 FR 0806835 A 20081205 PROCEDES D'ACCES A UNE BASE DE DONNEES DE NAVIGATION La présente invention concerne le domaine des bases de données embarquées dans des systèmes de navigations. Plus particulièrement, le domaine de l'invention se rapporte aux particularités des mécanismes d'indexation d'une base de données de navigation, des accès aux données de navigation et de l'optimisation du temps d'accès aux données d'une telle base. Généralement, le domaine de l'invention concerne les bases de données de grandes capacités comportant un nombre important de données, notamment des données aéronautiques. Dans les systèmes de navigation d'aéronefs actuels, une base de données de navigation est généralement nécessaire pour stocker notamment les données relatives aux plans de vol, aux procédures de vol, aux routes, aux aéroports, aux balises et aux waypoints. Ces bases de données nécessitent de nombreux accès lors d'un vol notamment pour définir ou modifier un plan de vol, enclencher une procédure particulière tel qu'une procédure d'atterrissage, une procédure de décollage ou encore une procédure d'approche ou de rejointe. Lorsqu'un pilote recherche un aéroport par exemple, les bases de données actuelles effectuent soit une recherche dichotomique soit une recherche linéaire sur des tables d'objets classés suivant le critère de recherche. En ce qui concerne les bases de données de navigation, généralement leur taille impose l'utilisation d'index. Dans ce cas, la base de données peut permettre une première recherche sur un index puis un accès en lecture aux objets de la base de données. De nombreuses applications du système de navigation, tel que par exemple le système de management de vol d'un aéronef, également appelé FMS, nécessitent de réaliser de nombreuses requêtes de type très divers sur la base de données de navigation à l'initialisation puis durant certaines phases de vol d'un aéronef. En outre, la sécurisation d'un vol impose, lors des échanges de 35 données entre les divers applications du système de navigation et la base de données de navigation, de minimiser les temps de réponse, d'améliorer l'efficacité des applications, de réduire les taux d'erreurs et d'optimiser les recherches de données. Un problème connu lié à la recherche dans une base de données de navigation sur la base d'un critère de recherche est que les temps de réponse risquent d'être augmenter si plusieurs informations liées aux objets de la base de données sont analysées alors qu'elles ne sont pas exploitées par la suite par l'application. Un second problème généralement rencontré, lors d'une utilisation d'un index par une application cliente dans une recherche dans la base de données de navigation, est que l'accès à la base nécessite de lire l'objet ciblé pour en connaître le type par exemple. Cet accès en lecture requiert donc une indirection inutile si l'objet recherché est d'un type donné. Un autre problème généralement rencontré est le grand volume mémoire occupé par ces index. Enfin un problème lié à l'utilisation d'un index est que l'index renvoie généralement à un identifiant d'un objet permettant de retrouver l'objet dans la base de données. Il est alors nécessaire de ré-effectuer une recherche dans la base de données de navigation à partir des identifiants des objets. Une limitation est donc celle du temps de réponse des requêtes à la base de données et de l'extraction des données recherchées. Notamment, lorsque certains système ne sont pas embarqués tels que ceux de Windows, la solution qui consiste à indexer un maximum de données de la base de données permet de faciliter les recherches. En revanche cette solution est couteuse en mémoire pour des systèmes électroniques ayant pour vocation à être embarqués dans un aéronef. Dans d'autres applications critiques du point de vue de la mémoire 30 disponible, l'indexation peut diminuer les performances des temps de réponse des requêtes. Par ailleurs un second problème est celui du droit d'accès aux données. 35 L'invention permet de pallier aux inconvénients précités. Une solution de l'invention consiste à établir un procédé d'accès à une base de données de navigation, par la création de couples d'index étant structurés de manière à optimiser les recherches dans la base de données de navigation. Notamment, un premier pré-index comprend les adresses des objets dans un second index. Le second index comprend avantageusement les adresses physiques des objets de la base de données de navigation. L'invention permet d'optimiser le rapport du nombre d'index créés et de la taille de la base de données de manière à diminuer au maximum les 10 temps de réponse des requêtes sur la base de données. En outre, l'invention comprend un procédé d'accès aux données mise en oeuvre par un système de navigation embarqué permettant lors d'une recherche d'un objet ou d'une collection d'objets dans la base, suivant un critère donné : 15 d'effectuer une première recherche dans un premier index sur les entrées correspondant au critère ; une application du système de navigation générant des requêtes sur la base de données de navigation est alors renvoyée vers un résultat correspondant à un sous-ensemble classé de données d'un autre index qui liste les objets qui correspondent aux 20 critères. ^ d'effectuer une seconde recherche dichotomique sur ce sous-ensemble. Lors de cette recherche dichotomique, il n'est pas nécessaire de lire le registre de la base de données dans lequel l'objet est stocké 25 physiquement pour connaître son type. Les accès mémoires sont de ce fait simplifiés. L'invention permet d'établir une phase de production de la base de données par la création d'au moins un couple d'index. 30 Un des deux index créé est un pré-index du second index créé. Cette pré-indexation a pour avantage de réduire le nombre d'opérations nécessaires à converger lors d'une recherche dichotomique. En outre, lors de la création d'au moins un couple d'index, l'invention comprend une étape de création d'une clef qui autorise l'utilisation 35 de la base par le système de navigation embarqué. Avantageusement, le procédé d'accès à une base de données de navigation au moyen d'un calculateur de bord, la base de données de navigation étant destinée à être intégrée dans un système de navigation pour aéronef comportant ledit calculateur, la base de données comprend : ^ un premier ensemble d'éléments, appelés Fix, comprenant notamment des représentations d'aéroports, de balises et de waypoints, ainsi que les coordonnées géographiques desdits Fix ; ^ un second ensemble d'éléments comprenant des procédures, chaque procédure étant définies par une succession de transitions, les transitions comprenant un ensemble de manoeuvres de l'aéronef, les manoeuvres étant des instructions prédéfinies dans le système de navigation ; ^ un troisième ensemble d'éléments comprenant des représentations de routes formées par une succession de 15 waypoints et/ou d'aéroports, Avantageusement, le procédé d'accès à une base de données de navigation comprend une étape de création d'un couple d'index comprenant : • un premier index alphanumérique comprenant : o les éléments du premier, second et troisième ensemble ; o des attributs de chaque élément, les attributs comprenant au moins l'identifiant, le type et l'identifiant fonctionnel dudit élément ; o une première liste de pointeurs, chaque pointeur étant associé à un élément, désignant l'adresse mémoire où les éléments sont stockés dans la base de données de navigation, le premier index étant ordonné selon au moins un type d'attributs, appelé AT_ORD, 30 . un pré-index alphanumérique comprenant : o une liste de codes, chaque code étant unique et correspondant aux premiers caractères de chacune des données de I'AT_ORD de chaque élément de la base de données de navigation ; 20 25 o une seconde liste de pointeurs, chaque pointeur étant associé à un code et pointant l'identifiant, dans le premier index, de chaque premier élément dont l'AT_ORD comporte le code associé. Avantageusement, la base de données de navigation comprend : ^ un quatrième ensemble d'éléments, les éléments comprenant des représentations des cellules géographiques couvrant une surface déterminée, les cellules étant repérées par des coordonnées géographiques, les cellules comprenant une liste d'éléments du premier ensemble, Avantageusement, le procédé d'accès à une base de données de navigation comprend la création : • d'un second index géographique comprenant : o une liste des cellules géographiques ; o une troisième liste de pointeurs, chaque cellule étant associée à un pointeur, vers l'adresse mémoire où les cellules géographiques sont stockées dans la base de données; o la taille de chaque liste. Avantageusement, un ensemble de couples comprenant un premier index et un pré-index est crée, chacun des couples d'index étant ordonné selon au moins un type d'attribut d'un élément de la base de données de navigation. Avantageusement, les codes la liste de codes correspondent aux deux premiers caractères de chacune des données de I'AT_ORD de chaque élément de la base de données de navigation. Avantageusement, les codes la liste de codes correspondent aux 30 trois premiers caractères de chacune des données de I'AT_ORD de chaque élément de la base de données de navigation. Avantageusement, le procédé de création de couples d'index de l'invention comprend la création d'une clef de démarrage en en-tête de la base de données lisible par un calculateur du système de navigation. Avantageusement, une première recherche linéaire des premiers caractères dans les éléments du pré-index détermine les adresses mémoires des identifiants du premier et du dernier éléments correspondant dans le premier index. Avantageusement, une seconde recherche dichotomique dans une liste d'éléments du premier index correspondant au critère de recherche détermine l'adresse mémoire du critère dans la base de données de navigation. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit, faite en regard des dessins annexés qui représentent : • la figure 1 : deux index d'une base de données de navigation selon l'invention; L'invention permet de produire une base de données comportant des caractéristiques simplifiant les accès aux données et améliorant la rapidité des réponses. Une première étape de la production de la base de données est la 20 création d'index permettant de simplifier les accès aux données. La figure 1 représente deux index créées selon le procédé de l'invention, il représente également le registre mémoire de la base de données de navigation où est stockée un objet de la base. Un premier index, appelé index 1, créée est celui de la liste de 25 tous les objets de la base de données de navigation. Cet index comprend les identifiants des objets, noté ID, le type de l'objet, noté TYPE, l'identifiant fonctionnel, noté ID_FCT, et le pointeur vers la zone mémoire de la base de données où est stocké l'objet, appelé ADRESS_BD, ainsi qu'éventuellement d'autres attributs selon les modes de 30 réalisations. L'identifiant ID d'un objet est une clef de la base de données. Il peut s'agir par exemple de l'identifiant UUID, dont l'acronyme anglo-saxon signifie � Universally Unique Identifer �, c'est à dire le numéro universel de 35 l'objet. Le type de l'objet peut comprendre notamment : une route, une procédure ou un FIX. Un FIX est un point défini de l'espace généralement utilisé en aéronautique, il regroupe notamment les aéroports, les waypoints et les balises. Généralement, un waypoint est un point de l'espace permettant de définir un point de passage d'un plan de vol. Selon les modes de réalisation de l'invention, le type d'un objet peut-être soit un des éléments suivants : • un FIX ; ~o une procédure ; • une route ; soit un des éléments suivants : • un waypoint ; • un aéroport ; 15 • une balise ; • une procédure ; • une route ; selon si un FIX est considéré comme un type d'un objet ou non. 20 L'identifiant fonctionnel ID_FCT désigne le code d'un type, il peut s'agir par exemple du code OACI pour un aéroport, l'aéroport de Toulouse serait identifié par le code LFBO. Enfin, le pointeur ADRESS_BD vers la zone mémoire de la base 25 de données où est stockée l'objet ainsi que ses attributs et un registre mémoire d'une base de données. L'index 1, ainsi créée, peut être ordonné de plusieurs manières selon l'utilisation de l'opérateur ou du pilote dans les requêtes interrogeant la base de données de navigation. L'invention permet notamment d'ordonner 30 cet index selon les identifiants, les types des objets ou encore les identifiants fonctionnels. Les utilisations préférées sont déterminées à partir des critères de recherche les plus utilisés. Lors de la création de la base de données, l'invention permet de créer éventuellement plusieurs index, correspondant à l'index 1 mais ordonné selon différents critères. L'index utilisé selon la recherche sera choisi de manière à minimiser les temps de réponse. La figure 1 représente un second index, noté INDEX 2, comprenant une liste des premiers caractères, noté PR CAR, d'un ensemble d'objets de la base de données. L'INDEX 2 comprend également les adresses physiques dans l'INDEX 1 de chaque premier objet comprenant les premiers caractères de la liste. Selon les modes de réalisations l'ensemble des objets de l'INDEX 2 comprend soit : • l'ensemble des premiers caractères de tous les identifiants de la base de données de navigation ; • l'ensemble des premiers caractères de tous les types de la base de données de navigation ; • l'ensemble des premiers caractères de tous les identifiants fonctionnels de la base de données de navigation ; • l'ensemble des premiers caractères de tous les objets de la base de données de navigation. Dans un mode de réalisation, l'INDEX 2 est une table d'indexation sur les deux premiers caractères du critère qui va être utilisé pour la recherche dans la base de données. Dans d'autres mode de réalisations, l'invention permet de mettre en oeuvre le avec un, deux ou trois ou plus de caractères. Chacune des � lignes � possède les informations suivantes : • un caractère, un couple ou un triplet de caractères. Par exemple, les deux premiers caractères "'LF" dans l'INDEX 2 désigne tous les objets commençants par les caractères "LF" de la base de données de navigation. L'INDEX 2 comprend également chaque pointeur vers le premier Object ID de l'INDEX 1 comprenant les premiers caractères du critère correspondant. Ainsi pour extraire les objets de l'INDEX 1 commençant par les premiers caractères du critère correspondant, dans l'exemple LF, l'invention permet : • d'une part de relever dans l'INDEX 1, l'adresse physique inscrite dans la ligne de l'élément figurant dans l'INDEX 1 correspondant à l'adresse physique du premier objet de l'INDEX 2 comprenant les premiers caractères ; • d'autre part de relever dans l'INDEX 1, l'adresse physique inscrite dans la ligne de l'élément suivant figurant dans l'INDEX 1 correspondant à l'adresse physique du premier objet de l'INDEX 2 succédant le dernier élément comprenant les premiers caractères. Un avantage de l'invention est qu'il comprend la création d'un 15 couple d'index par critère de recherche. L'INDEX 1 et l'INDEX 2 sont créés de manière à L'invention permet de définir une liste de premiers caractères d'un premier ensemble d'objets de la base de données de l'INDEX 1 correspondant à un ordonnancement de l'INDEX 2 selon le premier 20 ensemble d'objets de la base de données. Ainsi, l'invention permet par exemple de créer plusieurs couples d'INDEX différent selon le choix de l'ensemble d'objets de la base de données. Dans ce cas là, selon les critères de recherches un couple d'INDEX est privilégié de manière à optimiser les temps de réponses. 25 Un premier ensemble d'objets peut comprendre les TYPE de tous les objets de la base de données de navigation. L'INDEX 2 comprend alors, par exemple, la liste des deux premiers caractères de chaque TYPE et l'INDEX 1 est ordonné selon les TYPE des objets de la base de données de navigation. 30 Un second ensemble d'objets peut comprendre les identifiants fonctionnels ID FCT de tous les objets de la base de données de navigation. L'INDEX 2 comprend alors, par exemple, la liste des deux premiers caractères de chaque ID_FCT et l'INDEX 1 est ordonné selon les 35 ID FCT des objets de la base de données de navigation. 10 Un troisième ensemble d'objets peut comprendre les identifiants ID de tous les objets de la base de données de navigation. L'INDEX 2 comprend alors, par exemple, la liste des deux 5 premiers caractères de chaque ID et l'INDEX 1 est ordonné selon les ID des objets de la base de données de navigation. Dans cet exemple trois couples d'INDEX sont créés. 10 Selon le type des accès requis par une application nécessitant des requêtes sur la base de données de navigation, d'autres couples d'INDEX peuvent être créés comme les exemples précédents. L'invention permet par exemple de créer : • Deux INDEX pour un accès par UUID ; 15 • Deux INDEX pour un accès par identifiant de Fix, un FIX étant soit un aéroport, un waypoint ou une balise ; Ce système de double INDEX peut-être utilisé pour des recherches sur différents critères, par exemple : • directement sur l'identifiant ID ; 20 • sur le nom d'un FIX ; • sur le nom d'un FIX de type défini ; • sur des nombres non consécutifs. Un avantage de l'invention est que dans la création des INDEX les 25 liens symboliques, par exemple les identifiants ID des objets sont remplacés par les adresses physiques des objets dans la base de données de navigation. Cette résolution de liens peut s'appliquer à d'autres types 30 d'indexation. Par exemple, elle s'applique également à l'indexation géographique. Dans ce dernier exemple, le monde étant virtuellement divisé en dalles, chaque dalle renvoie l'application à une liste d'identifiants ID. Ces listes d'identifiants ID d'objet sont remplacées par les listes d'adresses physiques correspondantes. Le nombre d'indirections de l'application est ainsi réduit. L'invention permet également de créer une clef de démarrage que seule une application embarquée ciblée, générant des requêtes sur la base de données de navigation, connait. Cette clef peut, par exemple, être ajoutée en en-tête de la base de données. L'invention comprend également un procédé d'accès aux données de la base de données de navigation en utilisant les couples d'INDEX précédemment créés. Dans la mise en oeuvre de ce procédé, une application quelconque ayant vocation à générer des requêtes sur la base de données de navigation est apte à utiliser ce procédé d'accès. L'accès à une donnée selon un critère donné s'effectue en plusieurs étapes. Un exemple de recherche peut être un critère de recherche d'un aéroport, c'est-à-dire un TYPE particulier de FIX, suivant son code OACI, c'est-à-dire son identifiant fonctionnel. L'aéroport de "Toulouse" correspond par exemple au code "LFBO". Une première étape comprend une recherche dans l'INDEX 2 sur les deux premiers caractères de l'identifiant fonctionnel, dans l'exemple il peut s'agir des premiers caractères du code du couple LF. L'application connaît alors le premier est le dernier enregistrement 25 dont l'identifiant fonctionnel commence par LF de l'INDEX 1 ordonné par les identifiants fonctionnels d'objet ID. Cette première étape est toujours optionnelle puisque l'application mettant en oeuvre le procédé d'accès peut effectuer directement la seconde étape. En revanche, en omettant cette première étape, la recherche 30 nécessitera davantage d'opérations pour converger. La seconde étape comprend une recherche dichotomique optimisée sur la base d'un critère de recherche sur le TYPE dans le sous ensemble d'objets dont l'identifiant fonctionnel commence par le couple de 35 caractères "LF". L'application effectue une recherche dichotomique en rejetant automatiquement les objets qui ne sont pas de type "aéroport". La troisième étape comprend l'extraction des données de l'objet recherché à l'endroit physique où les données concernant l'identifiant fonctionnel de l'objet sont stockées. Par exemple, l'identifiant fonctionnel peut être "LFBO", désignant l'aéroport de Toulouse. L'invention permet également de rechercher une collection d'objets donnés par leur identifiant ID respectifs et sur lesquels une sélection sur un critère de TYPE et un critère géographique est effectuée. Pour chaque objet, les étapes suivantes se succèdent : La première étape comprend une recherche sur les premiers caractères de l'identifiant de l'objet. La seconde étape comprend une extraction d'un ensemble d'objets dont le TYPE correspond au critère de recherche. Enfin une recherche géographique peut avoir lieu sur cette sélection d'objets déterminés. Un avantage de cette solution est qu'une application générant des requêtes sur la base de données de navigation n'a pas besoin de lire les données géographiques des objets dont le type ne correspond pas au critère de recherche. Le nombre d'indirections et de lectures est réduit et les temps de réponse sont améliorés. Un autre avantage de l'invention est lié au confort d'utilisation et à l'ergonomie facilitant les recherches par l'intermédiaire d'index correspondant notamment à des besoins spécifiques de pilotes. Enfin, un avantage de l'invention lié à la sécurité est qu'une application embarquée générant des requêtes sur la base de données de navigation nécessite la connaissance d'une clef de démarrage, celle-ci ne peut pas être opérationnelle sans elle. Cette caractéristique permet une amélioration de la sécurité de tels systèmes et du confort d'utilisation. ^ Un premier avantage en terme de temps de réponse est que lors de la recherche d'un objet par son identifiant fonctionnel par exemple "LFBO", l'application obtient directement les pointeurs vers le premier objet dont l'identifiant commence par LF et vers le dernier objet dont l'identifiant commence par LF. Pour converger, la recherche dichotomique requiert moins d'itérations. La réduction du nombre d'itérations peut-être évalué de la manière suivante : On note Nb_Carac Index le nombre de caractères d'indexation et Nb_Total_Objets le nombre total d'objets. Dans un exemple de réalisation, la valeur de Nb_Carac_Index est égale à 40 en comptant les lettres, les chiffres 1 o et certains caractères spéciaux. Dans le cas d'une indexation sur deux caractères alphanumériques, il y a donc Nb_Carac_Index 2 combinaisons. En supposant une distribution uniforme des données sur les différents caractères, un sous-ensemble correspondant à un couple de lettre 15 comporte en moyenne Nb _Total _Objets éléments. Nb Carac Index2 Le nombre Nb_lter d'itérations requises est : Nb_lter = log2(Nb_Total_Objets) û 2.1og2(Nb_Carac_Index). Le nombre d'itérations est diminué en moyenne de 2 . log2(Nb_Carac_I ndex). ^ Un second avantage en terme de temps de réponse est que lors de la recherche dichotomique, l'application peut directement connaître le type de l'objet sans avoir à accéder à la zone mémoire où l'objet est physiquement stocké. Le nombre d'indirections en est ainsi réduit. 25 Dans un mode de réalisation privilégié, l'invention comprend un troisième index, noté INDEX 3, comprenant des données représentant des cellules géographiques. Cet index permet d'accéder plus rapidement à des informations de la base de données de navigation notamment comprises 30 dans une région donnée. Dans une variante de réalisation, par exemple, chacune des cellules géographiques correspond à une surface de l'espace prédéterminée. Cette surface peut être définie par une largeur et une longueur exprimées en degrés et une position. 20 Par exemple, une cellule géographique peut être une surface de 1° en latitude sur 1° en longitude. La Terre est alors composée de 64800 cellules. L'invention permet de créer un INDEX 3 comprenant la liste de 5 toutes les cellules et l'inscription de la position de l'adresse mémoire où est stockée la cellule dans la base de données de navigation. Dans un mode de réalisation, chaque ligne de l'INDEX 3 définissant une cellule géographique comporte une donnée définissant la taille de la liste des éléments compris dans ladite cellule géographique. 10 Ainsi, il est possible d'accéder à la zone mémoire où est stockée la cellule géographique dans la base de données de navigation par comparaison de la taille du nombre d'éléments compris dans une zone géographique et une position connue de référence d'une zone géographique dans la mémoire. 15 Enfin, l'invention présente un autre mode de réalisation, comprenant la définition d'un ensemble de procédure prédéfinie telle que notamment : • un atterrissage ; 20 • une procédure d'approche ; • une procédure décollage ; • une procédure de rejointe d'un plan de vol • une procédure d'attente • etc. 25 Chaque procédure comprend un ensemble de transitions, chaque transition étant définie par un ensemble de LEG. Un LEG est une manoeuvre donnée d'un aéronef. Ils sont généralement définis par rapport à au moins un FIX. Des exemples de LEG prédéfinis sont : 30 • un virage par rapport à un point de référence donné par un FIX ; • la rejointe d'un FIX ; • etc. L'invention permet de lier chacune des procédures à un ensemble de transitions, elles-mêmes étant chacune liées à un ensemble de LEG, les LEG étant définis dans la base de données de navigation. L'invention permet de définir dans chaque lien entre respectivement : • une procédure et les transitions comprises dans ladite procédure ; • une transition et les LEG compris dans ladite transition ; • un LEG et les FIX compris dans ledit LEG ; les adresses physiques des éléments, les éléments comprenant des transitions, des LEG et des FIX. Ainsi une procédure peut comprendre : • une première transition comprenant une première adresse physique dans la base de données de navigation ; • une seconde transition comprenant une seconde adresse physique dans la base de données de navigation et ; • enfin une troisième transition comprenant une première adresse physique dans la base de données de navigation. Les liens qui lient une procédure aux adresses physiques de chaque élément de ladite procédure permettent de réduire les temps d'accès aux informations lors de l'exécution de la procédure. Les éléments d'une procédure comprennent notamment des transitions, des LEG et des FIX. Une transition peut comprendre une succession de LEG et leurs adresses physiques dans la base de données de navigation. Pareillement, un LEG peut comprendre un FIX et l'adresse physique de ce FIX dans la base de données de navigation. Un avantage du procédé d'accès à la base de données est que chaque couple d'index créée est un moyen d'accès à la base de données de navigation permettant de réduire les temps de réponses des applications aéronautiques nécessitant des requêtes à la base de données de navigation. En outre, un autre avantage est que la création d'index répond à une exigence de diminution des traitements par le calculateur de bord. La base de données de navigation est une base comprenant un très grand nombre de données de nature différente et les accès à la base de données nécessitent de nombreuses opérations pouvant diminuer l'efficacité des missions en aéronautique. Dans certaines applications utilisées en aéronautique, à titre d'exemple certaines bases de navigation peuvent comporter de 600000 à 800000 éléments. La création d'index permet alors de réduire un certains nombres 10 d'opérations qui ne sont plus nécessaires selon les structures et le nombre d'index crées qui permettent d'optimiser les requêtes. Un avantage de l'invention est notamment d'optimiser le compromis entre la taille de la base de données de navigation et le nombre 15 d'index créés de manière à réduire les temps de réponse. Notamment, le système de navigation incluant la base de données de navigation étant embarqué généralement dans un cockpit d'aéronef, la problématique de la mémoire physique est primordiale pour ne pas pénaliser en temps de réponse les requêtes sur la base de données. Les solutions "tout indexer" ou 20 "rien indexer" sont, par conséquent, non appropriés à une configuration d'utilisation où les systèmes sont embarqués. Enfin, le personnel utilisant ces bases de données et les index crées selon l'invention est un personnel compétent et formé à de tels outils nécessitant un apprentissage de l'utilisation des bases de données de 25 navigation. Les index créés selon l'invention sont donc crées de manière à répondre à des exigences de personnels formés et avertis. REVENDICATIONS1. Procédé d'accès à une base de données de navigation au moyen d'un calculateur de bord, la base de données de navigation (BD) étant destinée à être intégrée dans un système de navigation pour aéronef comportant ledit calculateur, la base de données comprenant: ^ un premier ensemble d'éléments, appelés Fix, comprenant notamment des représentations d'aéroports, de balises et des waypoints, ainsi que les coordonnées géographiques desdits Fix ; ^ un second ensemble d'éléments comprenant des procédures, chaque procédure étant définies par une succession de transitions, les transitions comprenant un ensemble de manoeuvres de l'aéronef, les manoeuvres étant des instructions prédéfinies dans le système de navigation ; ^ un troisième ensemble d'éléments comprenant des représentations de routes formées par une succession de waypoints et/ou d'aéroports, caractérisé en ce que le procédé comprend une étape de création d'un couple d'index comprenant : • un premier index (INDEX 1) alphanumérique comprenant : o les éléments du premier, second et troisième ensemble ; o des attributs de chaque élément, les attributs comprenant au moins l'identifiant, le type et l'identifiant fonctionnel dudit élément ; o une première liste de pointeurs, chaque pointeur étant associé à un élément, désignant l'adresse mémoire où les éléments sont stockés dans la base de données de navigation, le premier index étant ordonné selon au moins un type d'attributs, appelé AT_ORD, • un pré-index (INDEX 2) alphanumérique comprenant : o une liste de codes (PR_CAR), chaque code étant unique et correspondant aux premiers caractères de chacune des 30 35données de l'AT_ORD de chaque élément de la base de données de navigation ; o une seconde liste de pointeurs, chaque pointeur étant associé à un code et pointant l'identifiant, dans le premier index, de chaque premier élément dont I'AT_ORD comporte le code associé. 2. Procédé d'accès à une base de données de navigation selon la revendication 1, la base de données de navigation comprenant: ^ un quatrième ensemble d'éléments, les éléments comprenant des représentations des cellules géographiques couvrant une surface déterminée, les cellules étant repérées par des coordonnées géographiques, les cellules comprenant une liste d'éléments du premier ensemble, caractérisé en ce qu'il comprend la création : • d'un second index géographique comprenant : o une liste des cellules géographiques ; o une troisième liste de pointeurs, chaque cellule étant associée à un pointeur, vers l'adresse mémoire où les cellules géographiques sont stockées dans la base de données; o la taille de chaque liste. 3. Procédé d'accès à une base de données de navigation selon l'une quelconque des revendications 1 à 2, caractérisé en qu'un ensemble de couples comprenant un premier index et un pré-index est crée, chacun des couples d'index étant ordonné selon au moins un type d'attribut d'un élément de la base de données de navigation. 4. Procédé d'accès à une base de données de navigation selon l'une quelconque des revendications 1 à 3, caractérisé en que les codes (PR_CAR) de la liste de codes correspondent aux deux premiers caractères de chacune des données de l'AT_ORD de chaque élément de la base de données de navigation.35 5. Procédé d'accès à une base de données de navigation selon l'une quelconque des revendications 1 à 3, caractérisé en que les codes de la liste de codes correspondent aux trois premiers caractères de chacune des données de l'AT_ORD de chaque élément de la base de données de navigation. 6. Procédé d'accès à une base de données de navigation selon la revendication 1, caractérisé en ce qu'il comprend la création d'une clef de démarrage en en-tête de la base de données lisible par un calculateur du système de navigation. 7. Procédé de recherche d'un élément d'une base de données de navigation à partir d'un critère de recherche à partir d'au moins un couple d'index selon la revendication 3, caractérisé en ce que : • une première recherche linéaire des premiers caractères dans les éléments du pré-index détermine les adresses mémoires des identifiants du premier et du dernier éléments correspondant dans le premier index ; • Une seconde recherche dichotomique dans une liste d'éléments du premier index correspondant au critère de recherche détermine l'adresse mémoire du critère dans la base de données de navigation.