44 CHAPITRE 3 — Interrogation flexibleEn définitive, le caractère flexible <strong>de</strong> l’interrogation <strong>de</strong> bases <strong>de</strong> données désigne une variationautour du processus habituel d’interrogation (expression d’une requête dans un langage <strong>de</strong>manipulation <strong>de</strong> données structurées – habituellement, SQL – puis évaluation booléenne <strong>de</strong> larequête et enfin production d’une liste indifférenciée <strong>de</strong> tuples en tant que réponse), notammentlorsque les données prises en compte sont <strong>de</strong> nature « non-classique », par exemple, les donnéesincomplètes, mal connues, issues <strong>de</strong> la théorie <strong>de</strong>s probabilités, etc.Objectifs <strong>Le</strong> paradigme <strong>de</strong> l’interrogation flexible décrit par Bosc et al. dans [23] assimileun système flexible à un expert humain servant d’intermédiaire entre l’utilisateur et le systèmed’information. Suivant cette hypothèse, l’expert serait capable d’analyser les <strong>de</strong>man<strong>de</strong>s<strong>de</strong>s utilisateurs, <strong>de</strong> déterminer leurs besoins en termes d’information, <strong>de</strong> localiser les sourcesd’information adéquates, d’en extraire les éléments <strong>de</strong> réponse plus ou moins pertinents et <strong>de</strong>les ordonner. Cependant, il est évi<strong>de</strong>nt qu’il existe une certaine différence entre l’utilisateur etl’expert ; ce <strong>de</strong>rnier ne peut totalement cerner les besoins <strong>de</strong> l’utilisateur. L’expert ne peut fairequ’une estimation <strong>de</strong>s éléments pertinents. La qualité du système d’interrogation sera largementinfluencée par celle <strong>de</strong> la mise en correspondance entre, d’une part, l’expression <strong>de</strong> la requêteet, d’autre part, les besoins à satisfaire, déduits <strong>de</strong> la requête, que le système adopte <strong>comme</strong>objectifs.Deux éléments importants interviennent dans cette mise en correspondance : l’interprétation<strong>de</strong>s besoins <strong>de</strong> l’utilisateur et l’interprétation <strong>de</strong>s données au regard <strong>de</strong>s besoins. L’interrogationflexible a <strong>comme</strong> contrainte la nécessité <strong>de</strong> prendre en compte ces <strong>de</strong>ux transformations dumieux possible. Pour ce faire, la flexibilité a <strong>de</strong>ux objectifs.Premièrement, elle vise à faciliter l’expression <strong>de</strong>s besoins en termes <strong>de</strong> clarté, <strong>de</strong> précision,<strong>de</strong> concision ou <strong>de</strong> proximité par rapport au langage naturel [51, 118]. Par exemple, Larsen [96]pointe le fait que les langages <strong>de</strong> manipulation <strong>de</strong> données – nommément CCL (Common CommandLanguage) et SQL (Structured Query Language) – tiennent plus compte du système <strong>de</strong>traitement (bases <strong>de</strong> données et systèmes informatiques) que <strong>de</strong> l’utilisateur. Celui-ci doit s’immergerdans les arcanes du langage pour exprimer clairement ses besoins <strong>de</strong> manière à ce qu’ilssoient fidèlement satisfaits. C’est une contrainte difficilement imposable à l’utilisateur moyen,en raison <strong>de</strong> l’investissement en temps et <strong>de</strong>s connaissances préalables qui seraient requis. Larsenpropose donc que le langage d’interrogation soit « plus naturel et plus intuitif ».Toujours du côté <strong>de</strong> l’utilisateur, l’interrogation flexible vise aussi une meilleure présentation<strong>de</strong>s réponses <strong>de</strong> requêtes. Habituellement, le langage SQL présente une liste <strong>de</strong> résultats.Dans le cas où cette liste est importante (plus <strong>de</strong> quelques enregistrements), l’utilisateur s’y
CHAPITRE 3 — Interrogation flexible 45perd. Certains travaux [16, 50, 64, 65, 69] portent sur une expression intelligible <strong>de</strong>s résultatsafin d’en permettre une meilleure exploitation. Classés en général parmi les systèmes à caractèrecoopératif, ils ai<strong>de</strong>nt l’utilisateur à interpréter les résultats ou les expriment <strong>de</strong> manièreintensionnelle.Deuxièmement, la flexibilité vise à prendre en compte <strong>de</strong>s données qui auraient, autrement,été exclues du processus habituel d’interrogation parce que mal définies, mal connues, incomplètes,ou hors (mais proches) <strong>de</strong>s critères <strong>de</strong> sélection. <strong>Le</strong>s travaux sur la fuzzification <strong>de</strong>s bases<strong>de</strong> données [24, 27] ou du langage d’interrogation [24] veulent englober les données imparfaites,se montrant ainsi plus proches <strong>de</strong> la réalité reflétée par une base <strong>de</strong> données.Conventions Dans la suite <strong>de</strong> ce document, on considère qu’un système d’interrogation traiteles requêtes qui lui sont adressées en vue <strong>de</strong> fournir une « réponse ». La réception d’une requêtedéclenche une procédure <strong>de</strong> recherche (également désignée par « la recherche » ou « la sélection») qui examine tout ou partie <strong>de</strong> l’espace <strong>de</strong> recherche (une base <strong>de</strong> données ou une table<strong>de</strong> données) pour trouver <strong>de</strong>s résultats. À chaque requête en entrée correspond une réponse ensortie. Cependant, une réponse est constituée <strong>de</strong> un ou plusieurs résultats. Dans le cadre précis<strong>de</strong>s bases <strong>de</strong> données, un résultat est un enregistrement sélectionné lors <strong>de</strong> la recherche.On supposera par ailleurs que, dans une requête, <strong>de</strong>s critères <strong>de</strong> sélection sont spécifiés pour<strong>de</strong>s attributs dits « d’entrée » ; un critère, qu’il soit simple ou complexe, sera ainsi toujoursassocié à un attribut. Ainsi, une requête SQL dont la clause <strong>de</strong> sélection est :WHERE age < 25 AND dpt = 16dispose <strong>de</strong> <strong>de</strong>ux critères simples sur les attributs age et dpt, tandis qu’une requête où la clause<strong>de</strong> sélection est :WHERE age > 18 AND age < 25a un critère, sur l’attribut age, complexe car faisant intervenir plus d’une valeur.On admettra également que la réponse à une requête fournit <strong>de</strong>s informations sur les attributs« <strong>de</strong> sortie », représentés dans une requête SQL par la clause SELECT, par exemple, nom etsalaire dans :SELECT nom, salaire FROM Employés WHERE age < 25 AND dpt = 16 ;