Beruflich Dokumente
Kultur Dokumente
en SQL
Didier DONSEZ
Universit Joseph Fourier (Grenoble 1)
IMA LSR/ADELE
'LGLHU'RQVH]#LPDJIU
'LGLHU'RQVH]#LHHHRUJ
Didier Donsez, 1998-2003
Donnes semi-structures
Documents (XML), Assemblage de composants techniques,
Oprations : Recherchez les documents contenant un lment dont
l attribut AUTHOR est Didier DONSEZ !
'LGLHU'RQVH]
Dduction Logique
La BD est une base de fait (Base Extentionnelle)
Les rgles permettent de dduire d autres faits
(Base Intensionnelle)
Systmes Experts sur de grandes bases de donnes dcisionnelles
La rcursivit en SQL
SQL2 :
boucle en PL/SQL
test d arrt : pas de cration de nouvelles lignes
'LGLHU'RQVH]
CONNECT BY PRIOR
rgle de connexion entre les noeuds
LEVEL
profondeur du nud par rapport la racine
'LGLHU'RQVH]
Exemple
6(/(&7/(9(/$6/RQJXHXUQDPH DVVHPEO\QRVXEDVVHPEO\QR
)5203URGXFW7UHH
&211(&7%<35,25VXEDVVHPEO\QR DVVHPEO\QR
67$57:,7+DVVHPEO\QR $
Racine / Root
$
$
'LGLHU'RQVH]
$
$
$
$
$
$
$
$
$
$
'LGLHU'RQVH]
'DSUqVPDQXHO64/2UDFOH
'LGLHU'RQVH]
'DSUqVPDQXHO64/2UDFOH
'LGLHU'RQVH]
'DSUqVPDQXHO64/2UDFOH
Graphe
'LGLHU'RQVH]
6(/(&7 )520)(50(785(
Src
A
B
A
D
C
E
Dest
B
C
D
E
E
10
'LGLHU'RQVH]
A vous de jouer :
n Modlisez ce graphe valu
o Rpondez la question suivante :
4XHOOHVVRQWOHV YDOXDWLRQV PLQLPDOHV
GHVFKHPLQVHQWUHOHVSRLQWV
GXJUDSKHYDOXp "
11
'LGLHU'RQVH]
A vous de jouer :
n Modlisez ce graphe valu
o Rpondez la question suivante :
4XHOOHVVRQWOHV YDOXDWLRQV PLQLPDOHV
GHVFKHPLQVHQWUHOHVSRLQWV
GXJUDSKHYDOXp "
p A complter pour offrir
les mmes fonctionnalits
que MS Autoroute Express ;-)
12
'LGLHU'RQVH]
13
'LGLHU'RQVH]
8QHPRGpOLVDWLRQSRVVLEOH
Document(URL,DTD)
Element(URL,NE,Name,Value, ISBNSup,NESup)
Foreign key (URL) references Document
Foreign key (URLSup,NESup) references Element
Attribute(URL,NE,Name,Value)
Foreign key (URL,NE) references Element
14
'LGLHU'RQVH]
8QHDXWUHPRGpOLVDWLRQSRVVLEOH
Document(URL,DTD,NERoot)
Foreign key (NERoot) references Element
Element(NE,Name,Value,NESup)
Foreign key (NESup) references Element
Attribute(NE,Name,Value)
Foreign key (NE) references Element
oRpondez la question suivante :
5HFKHUFKH]OHVFRXUVFRQWHQDQWXQpOpPHQW
GRQWO DWWULEXW$87+25HVW 'LGLHU'216(=
15
'LGLHU'RQVH]
DYHFOHVFKpPDoDGRQQH
:LWK5HFXUVLYH6XS(OHPHQW6XS6XE$6
6HOHFW1(6XS$66XS1($66XE)URP(OHPHQW
:KHUH 1(6XS LV QRWQXOO
8QLRQ
6HOHFW 6XS1($66XE)URP(OHPHQW(6XS(OHPHQW 6(
:KHUH (1(6XS 6(6XE
6HOHFW85/
)URP 'RFXPHQW'6XS(OHPHQW 6($WWULEXWH $
:KHUH '1(5RRW 6(6XS $1'6(6XE $1( -RLQWXUHV
$1'$1DPH
$87+25
$1'$9DOXH
'LGLHU'RQVH]
$1'''7'
FRXUVGWG
16
'LGLHU'RQVH]
17
'LGLHU'RQVH]
18
'LGLHU'RQVH]
Arbre gnalogique
Pere(e,p)
Mere(e,m)
Parent(x,y) Pere(x,y)
Parent(x,y) Mere(x,y)
Couple(m,f) Pere(z,m) Mere(z,f)
Ancetre(x,y) Parent(x,y)
Ancetre(x,y) Parent(x,z) Ancetre(z,y)
AncetreDegre(x,y,1) Parent(x,z)
AncetreDegre(x,y,d+1) Parent(x,z) AncetreDegre(z,y,d)
FrereSoeur(x,y) Parent(x,z) Parent(y,z) xy
Cousin(x,y) Parent(x,px) Parent(y,py)
FrereSoeur(px,py)
CousinEloign(x,y) ???
19
'LGLHU'RQVH]
voir [Gardarin][Ullman]
20
Bibliographie
Joe Celko, "SQL Avanc", 1997, Ed Intl Thomson
Publ., ISBN 2-84180-141-1
Voir les chapitres 26-27 pour le traitement des arbres et des
graphes en SQL92.
Datalog et Negation