Académique Documents
Professionnel Documents
Culture Documents
Bases de Données Déductives
Bases de Données Déductives
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 1
BASES DE DONNÉES DÉDUCTIVES _________________________________________________________________________________________________________
Un SGBD déductif est un système qui comporte des possibilités pour définir
des règles qui peuvent déduire ou inférer des informations à partir de faits stockés
dans une base de données. Dans un système de gestion de bases de données
déductif, un langage déclaratif est utilisé pour spécifier des règles. Un mécanisme
d’inférence (ou mécanisme de déduction) peut alors déduire de nouveaux faits
à partir de la base de données en interprétant les règles. Le modèle utilisé pour
les bases de données déductives s’apparente au modèle de données relationnel
et plus particulièrement au formalisme du calcul relationnel. Un sous-ensemble
de Prolog appelé Datalog est utilisé pour définir de façon déclarative des règles.
Un exemple d’application intéressante pour les bases de données déductives
est celui où les données peuvent être interprétées sous des visions différentes.
Les relations de parenté entre individus (frère, sœur, grand-parent, cousin,
ancêtre, etc.) en sont une bonne illustration ; elles sont décrites à partir de la
seule définition des liens parents-enfants. Les domaines dans lesquels plusieurs
solutions sont possibles pour une requête et où l’on souhaite décrire des algo-
rithmes ou des heuristiques de choix de solutions optimales sont également un
champ d’application important (tous les problèmes de graphes dans lesquels
on veut décrire des chemins optimaux par exemple). Comme toute technologie,
les bases de données déductives trouvent un intérêt particulier dans certains
domaines d’application. Ces domaines sont ceux qui nécessitent l’emploi de
données factuelles et de règles de comportement et de déduction. Nous pouvons
citer, par exemple, la découverte de connaissances (data mining), la régulation
de transport, l’ingénierie concurrente, la biologie, etc.
Pour de telles applications, les SGBD déductifs proposent des langages spéci-
fiques permettant de décrire et de manipuler des vues sur les données à côté
des langages de description usuels des données de base.
Plusieurs domaines d’application privilégient l’utilisation des bases de données
déductives. Nous citerons ici trois domaines d’application.
■ Découverte de connaissances
La découverte de connaissances consiste à expliciter une partie de la connais-
sance qui n’est présente que de façon implicite dans une base de données. Ce
domaine est d’autant plus important que les sources d’information sont diverses.
L’exemple d’application relevant de ce domaine est celui de l’école publique aux
États-Unis d’Amérique. L’idée de réaliser une gestion de plus en plus locale de
ces écoles a fait ressortir le besoin de nouvelles considérations. Les officiels de
ces écoles sont amenés à accéder à divers types de données socio-économiques
des écoles voisines. D’un point de vue bases de données, le problème (posé)
est de savoir comment intégrer une collection de bases de données et les utiliser
de façon radicalement différente de leur utilisation initiale.
■ Applications de régulation
L’application citée est celle du transport et du stockage de matières dange-
reuses. Cette activité est en général régie par des règles standard qui peuvent
être internationales, nationales ou locales. Ces matières étant sujettes à des
déplacements répétés, les règles à respecter sont diverses. De plus, ces règles
sont régulièrement mises à jour et donc difficiles à comprendre pour un individu.
L’utilisation d’une base de données équipée d’un composant contraintes d’inté-
grité constitue une solution à ce problème. Les contraintes d’intégrité sont alors
utilisées pour valider ou interdire une situation donnée.
■ Ingénierie concurrente
En ingénierie concurrente, la conception est une activité partagée par plusieurs
participants. Chaque participant réalise des décisions de conception indépen-
damment des autres. Les conceptions issues des différentes disciplines sont
ensuite intégrées de façon à produire une conception globale d’un projet. Dans
une telle situation, les différents participants utilisant des données partagées,
il peut arriver que les interactions entre les concepteurs de différentes disciplines
génèrent des inconsistances. L’objectif est de détecter de telles inconsistances
le plus tôt possible de façon à ne pas fausser les décisions futures. La solution
consiste à fournir une base de données partagée relative à plusieurs disciplines.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 2 048 − 2 © Techniques de l’Ingénieur, traité Informatique
________________________________________________________________________________________________________ BASES DE DONNÉES DÉDUCTIVES
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 3
BASES DE DONNÉES DÉDUCTIVES _________________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 2 048 − 4 © Techniques de l’Ingénieur, traité Informatique
________________________________________________________________________________________________________ BASES DE DONNÉES DÉDUCTIVES
Les clauses dans la théorie peuvent être partiellement instan- 1.3 Stratégies de construction
ciées. Des clauses sans conclusion sont interprétées comme des
contraintes d’intégrité (exprimées sous forme négative puisque
P ∧ Q → peut s’écrire ¬ P ∨ ¬ Q). Les bases de données déductives relationnelles (BDDR) sont les
Exemple : soient les relations Père (nomP, nomE) et Mère (nomM, bases de données construites sur l’idée que le modèle de données
nomE) et l’ensemble de clauses : sous-jacent est le modèle relationnel. La transition d’une base de
données relationnelle classique vers une BDDR est relativement
1. Père (X, Y) → Parent (X, Y)
simple et naturelle car le modèle relationnel repose sur des expres-
2. Mère (X, Y) → Parent (X, Y)
sions simples, bien formalisées en logique des prédicats du premier
3. Mère (X, Y) ∧ Parent (Y, Z) → Gmère (X, Z)
ordre.
4. Père (X, Y) ∧ Parent (Y, Z) → Gpère (X, Z)
5. Parent (X, Y) → Ancêtre (X, Y) La stratégie adoptée dans le développement d’une BDDR est carac-
6. Parent (X, Y) ∧ Ancêtre (Y, Z) → Ancêtre (X, Z) térisée par la conception d’une base de données relationnelle comme
Ancêtre est un prédicat récursif alors que les autres prédicats sont un outil de stockage de faits dans un environnement de démonstra-
(des prédicats) hiérarchiques. Ces prédicats permettent de calculer les teur de théorèmes. Deux principales stratégies ont été utilisées pour
extensions correspondantes à partir des relations construire des BDDR : la stratégie par couplage et la stratégie par
intégration de systèmes.
Père (nomP, nomE) et Mère (nomM, nomE)
Ces extensions sont calculées par un moteur d’inférences utilisant le
1.3.1 Stratégie par couplage
formalisme clausal, les règles de déduction et la base de données.
D’une façon pratique, il s’agit le plus souvent d’un démonstrateur
PROLOG connecté à un SGBD dont il exploite les données. Elle consiste à équiper un langage logique, généralement
PROLOG, de fonctionnalités de gestion de faits en mémoire secon-
Exemple : si on demande les grand-mères de jean (?Gmère daire de façon la plus transparente possible. Ainsi, à chaque fois que
(X, jean)), le système utilise la clause 3 contenant la définition du pré- le système déductif a besoin de faits en mémoire centrale pour pour-
dicat Gmère. En propageant la constante jean dans la clause, il remplace suivre ses déductions, le SGBD est activé pour l’alimenter.
le but à résoudre par le nouveau sous-but Mère (X, Y) ∧ Parent (Y, jean).
La stratégie par couplage peut être affinée pour distinguer deux
L’utilisation des clauses 1 et 2 l’amène à résoudre deux nouveaux
types de couplage : le couplage lâche (faible) et le couplage serré
sous-buts :
(fort).
Mère (X, Y) ∧ Père (X, jean)
Dans une approche couplage lâche, le système déductif accède
Mère (X, Y) ∧ Mère (Y, jean) à la base de données en générant des appels via le langage de
dont la résolution va faire appel à la base de données. Le système requêtes du SGBD. Cette tâche est celle du programmeur. À la
construit donc un arbre de résolution qui a comme racine le but initial suite d’un appel du système déductif au SGBD, celui-ci retrouve
à démontrer et comme branches les sous-buts successifs obtenus par tous les n-uplets satisfaisant la requête SELECT et les dépose dans
remplacement d’un but par des sous-buts associés dans une clause. la mémoire de travail du système déductif, et ce dernier peut alors
Les feuilles sont les faits (prédicats) de base. On dit que la résolution continuer ses inférences.
se fait par chaînage arrière. Dans une approche couplage fort, le système déductif accède à
la base de données en générant des appels directement aux
méthodes d’accès du SGBD. Dès que le SGBD a retrouvé un n-uplet
satisfaisant les conditions de sélection, il le charge dans la mémoire
1.2 Bases de données déductives de travail du système déductif. Le système déductif continue ses infé-
et règles de production rences et le SGBD continue de façon asynchrone à générer des
n-uplets satisfaisant la requête SQL, préparant ainsi des réponses
à d’éventuels appels à la même requête SELECT.
Une règle de production est de la forme :
Si conditions ALORS actions 1.3.2 Stratégie par intégration de systèmes
où les actions représentent un ensemble d’opérations à effectuer
(opérations arithmétiques, entrées-sorties, génération d’un nouveau Cette approche consiste à intégrer en un seul système les fonctions
fait...). Ces opérations seront effectuées si l’ensemble des conditions de gestion de données permanentes (fonctions propres à un SGBD)
est satisfait. et les fonctions de déduction (fonctions du moteur d’inférences).
Exemple : les règles précédentes pourraient s’exprimer sous la L’attention est souvent portée sur trois langages : un langage de pro-
forme : grammation logique utilisé dans le système déductif, un langage de
définition de données et un langage de manipulation de données.
Si X = Père (Y) et Y = Père (Z) ALORS créer X = Gpère (Z) L’intérêt d’une telle approche est de disposer d’un seul langage décla-
ratif pour les requêtes, les règles de déduction et les contraintes
Si X = Père (Y) ALORS créer X = Ancêtre (Y)
d’intégrité. Cette stratégie a été rarement utilisée dans la pratique
Si X = Père (Y) et Y = Ancêtre (Z) ALORS créer X = Ancêtre (Z) car elle nécessite la réécriture de systèmes complets.
Le moteur d’inférences va alors exploiter les règles en cherchant
celles dont les prémisses sont satisfaites à une étape donnée.
Celles-ci peuvent générer de nouveaux faits qui peuvent entraîner
le déclenchement de nouvelles règles. Le mécanisme de déduction
se fait donc par chaînage avant principalement. Ce type de fonc-
tionnement est bien adapté à des problèmes dans lesquels on veut
connaître les conséquences d’un ensemble d’hypothèses, comme
par exemple les problèmes de diagnostic. La base de données
contient l’ensemble des données décrivant les hypothèses.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 5
BASES DE DONNÉES DÉDUCTIVES _________________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 2 048 − 6 © Techniques de l’Ingénieur, traité Informatique
________________________________________________________________________________________________________ BASES DE DONNÉES DÉDUCTIVES
Les objets complexes ne sont pas forcément des arbres structurés, Le langage TERM/VAR peut être étendu pour autoriser la notion
comme dans ce dernier exemple. Puisque les objets ont des identi- de partage de structure plus générale. L’idée de base pour un par-
ficateurs uniques, le partage de structures est facilement supporté. tage plus généralisé est une substitution plus consistante des
variables objets. Les variables objets sont associées aux
Exemple :
identificateurs d’objets. Si une variable objet admet plusieurs
Quand deux segments orientés ont le même point origine, un angle occurrences, celles-ci vont désigner un unique identificateur
est formé : d’objet, référençant ainsi une même structure complexe.
Angle:A(ArcInitial→SegmentOrienté:S, Traditionnellement, les variables sont des emplacements dans
ArcFinal → SegmentOrienté:S2(PointOrigine → Point:P1, les systèmes logiques. Elles sont utilisées pour former des abstrac-
PointExtrémité → Point:P3(x → 2, y → 4))). tions avec une quantification. Généralement, un terme avec des
variables non liées est difficile à interpréter et la plupart des
Les deux segments S et S2 qui forment l’angle A ont le même point systèmes logiques n’assignent pas de sens à de tels termes. Le lan-
origine P1(x→2, y→2).
gage étendu avec des variables co-références arbitraires conduit
toujours à des termes clos. Donc, en plus des variables
co-références, on ajoute une autre classe de variables dont les
2.2.2 Définition de structures complexes occurrences libres permettent une interprétation sensée. Cette
classe de variables désigne des objets « étiquettes » qui sont inter-
Des notations existent en mathématiques pour décrire des struc- prétés par des objets abstraits. Dans un terme, ces objets
tures complexes. Comme exemples, nous trouvons : étiquettes ne sont pas manipulés lors de l’interprétation comme
— la notation ensembliste SET, qui est un support de base pour des substitutions de variables. Une fonction d’interprétation asso-
l’étude abstraite de graphes. Par exemple, la paire S = ({a, b, c, d}, cie des objets abstraits à des objets étiquettes.
{(a,b), (a,c), (b,c), (b,d), (d,a)}) décrit le graphe de la figure 1 ;
Exemple :
— les termes clos TERM : la notation TERM est équivalente aux
arbres orientés avec racine. Par exemple, le terme clos a(b,c(d,e)) — dans la description :
représente l’arbre de la figure 2 ; Employé:E(nom→ NomPersonne:N(nom_famille→F, Prénom→P))
— les termes avec variables TERM/VAR : c’est une extension
immédiate de TERM. Bien que les variables n’aient pas de sens les variables F et P sont libres, E et N sont liées ;
quand elles sont considérées seules, elles donnent lieu à une classe — le terme :
de formules, qui sont des formules quantifiées ayant une inter- NomPersonne:(nom_famille→’wadich’, prénom→’marie’)
prétation. Pour déterminer la valeur de vérité d’une formule, les
variables sont substituées par des constantes. Exemple : le terme dénote un objet complexe représentant un nom d’individu ;
a(X, c(d, X)) décrit le graphe de la figure 3. et le terme :
Personne:V(nom→NomPersonne:(nom_famille→’wadich’,prénom→’marie’),
adr→Adresse:(NoRue→1,Nom_Rue→’prem. rue’))
dénote un objet complexe correspondant à une personne. Cet objet
comprend un sous-objet NomPersonne et un sous-objet Adresse ;
— le terme :
Personne:P?(nom→NomPersonne:N?(prénom→’marie’))
dénote un objet abstrait, qui contient un objet abstrait NomPersonne.
L’objet abstrait NomPersonne coïncide avec des objets concrets
NomPersonne dont le champ prénom admet un objet simple « marie »
comme valeur. L’objet abstrait Personne correspond à des objets
Figure 1 – Graphe d’une notation SET concrets Personne dont le prénom est « marie ».
■ Sémantique
Les termes objets sont des spécifications (et aussi des construc-
teurs) pour les bases de données objet. Techniquement, ce sont des
formules interprétées par des objets. Les objets fournissent un sens
aux termes. Établir une correspondance (interprétation) entre
formules et objets revient à définir la sémantique d’un langage. Dans
notre cas, chaque terme simple est interprété par une et une seule
valeur atomique, alors qu’un terme complexe peut être associé à
n’importe quel objet parmi un nombre infini d’objets complexes.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 7
BASES DE DONNÉES DÉDUCTIVES _________________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 2 048 − 8 © Techniques de l’Ingénieur, traité Informatique
________________________________________________________________________________________________________ BASES DE DONNÉES DÉDUCTIVES
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 9
BASES DE DONNÉES DÉDUCTIVES _________________________________________________________________________________________________________
Ces trois modes peuvent être utilisés de manière indépendante Exemple : reprenons la définition de la classe Employé et
ou simultanée. étendons-la par une règle et une contrainte :
Exemple d’application de STORIA : il s’agit d’une application de Employé in Class with
contrôle et de maintenance en temps réel de centrales hydrauliques Attributes
développée à l’aide de DELPHIA-PROLOG et STORIA. Les données Dépt : Département ;
de fonctionnement des centrales sont captées, transmises au site Directeur : Responsable ;
de contrôle et rangées dans une base ORACLE. Un système expert
analyse en permanence l’évolution des paramètres et décide des Salaire : Integer ;
modifications à effectuer sur les réglages des différentes centrales. Nom : String ;
Les ordres correspondants sont formulés puis envoyés aux centrales rule
par télématique. Ce système permet donc l’exploitation optimale des RègleResponsable : ∀ t/Responsable (d/Département (this
centrales difficiles d’accès. Dépt d)
and (d Directeur t)
or exist m/Responsable (this Directeur m)
3.2 SGBD déductifs orientés objet and (m Directeur t) => (this Directeur t)
Constraint
ConceptBase [5] est un système de gestion de bases de données CISalaire : ∀ m/Responsable x,y/Integer
orientées objet déductif, parmi d’autres. Il utilise un langage de (this Directeur m) and
description limité. Les classes, qui forment le schéma d’une base (this Salaire x) and (m salaire y) ⇒ x = < y.
de données, sont organisées en hiérarchie. Il est possible de définir, end
au niveau d’une classe, des contraintes d’intégrité et des règles de
La règle permet de déduire, pour un employé donné, tous ses res-
déduction.
ponsables. La contrainte d’intégrité exprime le fait qu’un employé ne
Exemple : la déclaration suivante définit la classe Employé avec peut avoir un salaire supérieur à celui de son responsable. Dans
quatre attributs Dépt de type Département, Directeur de type Res- ConceptBase, les requêtes sont traitées de la même façon que les
ponsable, salaire de type Integer et nom de type String. Département règles et les contraintes. Les requêtes sont représentées comme
et Responsable sont des classes : des classes dont les instances constituent la réponse à la requête.
Employe in class with Dans la requête ci-dessous, l’attribut SalaireÉlevé est défini comme
sous-classe de la classe Integer (par une règle de déduction qui
Attributes Dépt : Département ;
spécifie son domaine de valeurs).
Directeur : Responsable ;
QueryClass TopFemmeResponsable isA Responsable, Femme with
Salaire : Integer ; attributes salaire:SalaireÉlevé
Nom : String ; end
end
■ Applications
La classe Responsable est une sous-classe de la classe Employé.
Elle ne spécifie pas d’attributs supplémentaires. Plusieurs utilisations expérimentales ont été faites de Concept-
Base. Dans ces applications, le mécanisme d’abstraction offert par
Responsable in Class isA Employé end
O-Telos, qui est une extension du langage Telos [6] pour la struc-
La déclaration suivante permet de créer l’objet Marie comme ins- turation d’information complexe semble être aussi important que les
tance de la classe Responsable. Seuls trois attributs sont valorisés : possibilités des bases de données déductives. Souvent, Concept-
Marie in Responsable with Base s’utilise comme un outil permettant d’analyser le système selon
Dépt : R&D ; des besoins et à des niveaux méta. Par exemple, dans le domaine
Salaire : 50 000 ; des systèmes d’information, ConceptBase a été utilisé dans le cadre
du projet Esprit DAIDA. Il a servi de base de données globale dans
Nom : « Marie Smith » ; le processus de développement depuis l’analyse jusqu’à l’écriture
end des programmes d’application bases de données. Dans une telle
application, des objets et des outils hétérogènes sont à intégrer. Plus
■ Règles de déduction, contraintes et requêtes
précisément, un système pour une telle application doit gérer
Les ensembles R et CI d’une base objet déductive (BO, R, CI) l’évolution des objets où des dépendances entre objets (gestion de
peuvent contenir des règles de déduction et des contraintes d’inté- versions) sont à maintenir. Un langage pour de tels systèmes doit
grité spécifiques à une application. combiner des possibilités d’abstraction, d’assertion et de classifica-
tion dynamique. L’abstraction est due au fait que les objets logiciels
(spécification, documentation, conception, implantation) ne sont pas
similaires et donc le langage doit permettre une description facile
des propriétés communes. La caractéristique assertionnelle est
nécessaire pour les contraintes d’intégrité.
Exemple de requête typique utilisée pour la classification dyna-
mique d’objets :
QueryClass ProgrammeRéalisé isA Programme with
paramètre
producteur : Agent
constraint
est_réalisé : (this dans_l’état Réalisé) and
(this propriétaire producteur)
end
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 2 048 − 10 © Techniques de l’Ingénieur, traité Informatique
________________________________________________________________________________________________________ BASES DE DONNÉES DÉDUCTIVES
ConceptBase permet de stocker de telles requêtes comme toute majeurs qui se posent encore actuellement sont, d’une part, les
autre classe. Les instances d’une telle classe sont dérivées ; les mises problèmes d’efficacité lorsque le système doit manipuler de nom-
à jour des composants logiciels peuvent donc changer les liens d’ins- breuses règles de déduction et accéder à de vastes bases de données
tanciation de certains objets. et d’autre part, l’absence de norme, qu’il s’agisse du langage de des-
ConceptBase a été utilisé dans beaucoup d’autres applications cription de règles ou des modèles de données objet pour les SGBD
comme la gestion de la qualité logiciel, la rétro-conception des déductifs reposant sur de tels modèles.
schémas de bases de données relationnelles, etc. La technologie bases de données déductives jouera un rôle par-
ticulièrement important dans les domaines d’application où les
décisions sont complexes et évolutives, et nécessitant de nom-
breuses règles et des volumes de données importants. C’est le cas
4. Conclusion par exemple de la gestion de documents évolutifs, de la décou-
verte de connaissances, etc. De plus, avec l’avènement de
« l’Internet grand public », de nouvelles applications, comme le
commerce électronique, sont demandeurs de cette technologie.
Les SGBD déductifs permettent d’associer de façon souple les
fonctionnalités de gestion de données des SGBD et celles d’aide à
la décision des systèmes experts. De nombreuses applications
utilisant de tels systèmes sont opérationnelles. Les deux problèmes
Références bibliographiques
[1] ABITEBOUL (S.), HULL(R.) et VIANU (V.). – [4] GARDARIN (G.) et VALDURIEZ (P.). – SGBD [7] STONEBRAKER (M.) et KEMNITZ (G.). – The
Foundations of Databases. Addison-Wesley avances : bases de données objets, déductives, POSTGRES Next Generation Database Mana-
Publishing Company, ISBN 0-201-53771-0 réparties. Eyrolles (1990). gement Systems. Communication of ACM,
(1995). [5] JARKE (M.), EHERER (S.), GALLERSDOERFER Vol. 34, no 10, p. 78-92 (1991).
[2] FRIESEN (O.), GAUTHIER-VILLARS (G.), (R.), JEUSFELD (M.) et STAUDT (M.). – [8] STORIA Version 1.0r, Manuel de référence de
LEFEBVRE (A.) et VIEILLE (L.). – Applications of ConceptBase – a deductive object base mana- l’interface avec RDB, SLIGOS Agence
deductive object-oriented databases using ger. Research Report RR93-14, University of DELPHIA, déc. 1989.
DEL, in Applications of Logic Databases, Edited Technology, Aachen, Germany (1993). [9] WIDOM (J.), COCHRANE (R.J.) et LINDSAY
by Raghu Ramakrishnan, Academic Press [6] MYLOPOULOS (J.), BORGIDA (A.), JARKE (M.) (B.G.). – Implementation Set-Oriented Pro-
(1995). et KOUBARAKIS (M.). – Telos – a language for duction Rules as an Extension to Starburst. In
[3] GALLAIRE (H.), MINKER (J.) et NICOLAS representing knowledge about information proceedings of VLDB’91, Barcelona, Spain,
(J.-M.). – Logic and Databases : A Deductive systems. ACM Trans. Information Systems. p. 275-285, sept. 1991.
Approach. Computing Survey, Vol. 16, no 2, Vol. 8, no 4, p. 325-362 (1990).
Juin 1984.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 2 048 − 11