27/02/22 © Robert Godin. Tous droits réservés 1
4 Méthodes multidimentionnelles et représentation d'associations
Méthodes d ’organisation avancées
– Méthodes multidimensionnelles
combiner plusieurs clés
– Représentation d ’associations
4.1 Méthodes
multidimensionnelles
Méthodes d’accès par point (Point Access Method – PAM )
– objet représenté par un point
Méthodes d’accès spatiales (Spatial Acces Method - SAM )
– objets spatiaux complexes
segments droite, polygones, etc.
27/02/22 © Robert Godin. Tous droits réservés 3
Catégories de requêtes
Type point
– objets spatiaux qui contiennent un point
Type fenêtre
– objets qui sont inclus dans un sous-espace
surface, volume, etc.
Type plus proche voisin
– objets les plus proches d’une région R
4.1.1Combinaison d’organisations secondaires unidimensionnelles
La ville dont la coordonnée x=10 et y=20
1. Utiliser index sur x
2. Utiliser index sur y
3. Utiliser index sur x et index sur y
– intersection de listes de références
Quel est le plus performant ?
27/02/22 © Robert Godin. Tous droits réservés 5
4.1.2 Hachage partitionné
0 0 2 0 0 2
4 , 5 0 , 2
1 , 5
7 , 2
0 , 0
0 1 2 1 0 2 1 1 2
0 1 2 1 0 2 1 1 2
0 , 3
1 , 1 1 , 4
2 , 4 2 , 7
2 , 0
2 , 2 3 , 2
1 , 3
2 , 5
s
14 , 1
4 , 3
s
2s
1= 7 MOD 3 = 1
= 01
2s
2= 2 MOD 3 = 2
= 10
24.1.3 Fichier quadrillé (grid)
9 , 5
c 1 c 2
3 , 3
c 1 c 2
9 , 5
9
c1 < 9 c 1 9
0 5
0 1 5
1 0 5
1 0
1 5
27/02/22 © Robert Godin. Tous droits réservés 7
Insertion de (14,6)
3 , 3
c 1 c 2
9 , 5
9
c1 < 9 c 1 9
0 5
0 1 5
1 0 5
1 0
1 5
3 , 3
c 1 c 2
9 , 5
9
9 , 5 1 4 , 6 6
0 5
0 1 5
1 0 5
1 0
1 5
Insertion de (11,7)
3 , 3
c 1 c 2
9 , 5
9
9 , 5 1 4 , 6 6
0 5
0 1 5
1 0 5
1 0
1 5
3 , 3
c 1 c 2
9 , 5
9
9 , 5 1 1 , 7 6
1 4 , 6 1 4 , 6
1 4 0 0 5
1 5
1 0 5
1 0
1 5
27/02/22 © Robert Godin. Tous droits réservés 9
4.1.4 Arbre quaternaire (quadtree)
3 , 3 9 , 5
0 x x x2, 0 x x x2 1 x x x2, 0 x x x2 0 x x x2, 1 x x x2 1 x x x2, 1 x x x2
0 5
0 1 5
1 0 5
1 0
1 5
0 x x x 2, 0 x x x2 1 x x x2, 0 x x x2 0 x x x 2, 1 x x x2 1 x x x2, 1 x x x2
3 , 3
0 x x x2, 0 x x x2 1 x x x2, 0 x x x2 0 x x x2, 1 x x x2 1 x x x2, 1 x x x2
1 0 x x2, 0 0 x x2 1 1 x x2, 0 0 x x2
9 , 5 1 4 , 6
1 0 x x2, 0 1 x x2 1 1 x x2, 0 1 x x2
0 5
0 1 5
1 0 5
1 0
1 5
Arbre quaternaire-
PR (~quadtrie)
Insertion de (11,7) et (6,9)
0 5
0 1 5
1 0 5
1 0
1 5 0 5
0 1 5
1 0 5
1 0
1 5
27/02/22 © Robert Godin. Tous droits réservés 11
4.1.4.1 Arbre
quaternaire à point
0 5
0 1 5
1 0 5
1 0
1 5 0 5
0 1 5
1 0 5
1 0
1 5
Arbre quaternaire à point (point quadtree)
Arbre quaternaire-PR
(~quadtrie)
4.1.5 Arbre k-d
9 5
c1 < 9
3 3
c1 > = 9
c2 < 3 c2 > = 3
1 4 6
c2 < 6
1 1 7
c2 > = 6
6 9
c1 < 6 c1 > = 6 c1 < 7 c1 > = 7
0 5
0 1 5
1 0 5
1 0
1 5
27/02/22 © Robert Godin. Tous droits réservés 13
4.1.6 Arbre-R
1 2 3 4 5 6 7 8 9
A B C D
3 2
1
4
6
7
8 9
A B
C
D
5
Arbre-R+
1 2 1 4 6 7 8 9
A B C D E
3 5
3 2
1
4
6
7
8 9
A
B
D
E C
5
27/02/22 © Robert Godin. Tous droits réservés 15
4.2Représentation des associations
Important dans les SGBD
4.2.1 Allocation sérielle par grappe hétérogène
N u m é r o
d e b l o c I D G
0 , 1 0 1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9
1 0 0 1 0 0 0 . 0 0 3 0 0 1 0 0 0 . 0 0
2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8 2 0 0 2 0 0 0 . 0 0
3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7
4 0 0 5 . 0 0 6 0 0 1 0 . 0 0
0
1
0 , 2 0
1 , 3 0
2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8
3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7
1 0 0 1 0 0 0 . 0 0
2 0 0 2 0 0 0 . 0 0
4 0 0 5 . 0 0
3 0 0 1 0 0 0 . 0 0
6 0 0 1 0 . 0 0
1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9
27/02/22 © Robert Godin. Tous droits réservés 17
Cas IMS (hiérarchique)
RECORD
–
hiérarchie d ’enregistrements dans une grappe (HSAM)
–
séquence pré-ordre
COURS INF5110
30 GODR6
2 jeudi 2:00 C-8230 A
CCCC33333333 B BBBB22222222
GROUPE 20 GODR6
COURS
INF4010 BDI 4
ETUDIANT
AAAA11111111 A
HORAIRE 1 mardi 2:00 C-5110
LIVRE
McHo88 BDII 4
A FFFF66666666
C EEEE55555555 ETUDIANT
DDDD44444444 D
2 jeudi 2:00 C-5110 HORAIRE
1 lundi 9:00 C-4340 Date86
2
3 4
5
6 7 8 1
9 10
11
12 13 14
15 16
4.2.2Organisation secondaire basée sur un mécanisme de référence
4.2.2.1 Référence simple
Cas « un »
1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9 2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8 3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7 1 0 0 1 0 0 0 . 0 0
2 0 0 2 0 0 0 . 0 0
4 0 0 5 . 0 0
3 0 0 1 0 0 0 . 0 0
6 0 0 1 0 . 0 0
27/02/22 © Robert Godin. Tous droits réservés 19
4.2.2.2 Collection de références
1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9 2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8 3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7 1 0 0 1 0 0 0 . 0 0
2 0 0 2 0 0 0 . 0 0
4 0 0 5 . 0 0
3 0 0 1 0 0 0 . 0 0
6 0 0 1 0 . 0 0
Cas « plusieurs »
4.2.2.3Listes inversées
~ index sur (mot-clé, IDE)
D o c u m e n t 1 D o c u m e n t 2 D o c u m e n t 3 D o c u m e n t 4 D o c u m e n t 5 D o c u m e n t 6 I n f l u x
I n f o r m a t i q u e I n f r a r o u g e
I n g é n i e r i e
D o c u m e n t s L i s t e s
i n v e r s é e s M o t s - c l é s
Arbre-B
+Allocation
par grappe
27/02/22 © Robert Godin. Tous droits réservés 21
4.2.2.4 Représentation par liste
SET CODASYL
1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9 2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8 3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7 1 0 0 1 0 0 0 . 0 0
2 0 0 2 0 0 0 . 0 0
4 0 0 5 . 0 0
3 0 0 1 0 0 0 . 0 0
6 0 0 1 0 . 0 0
4.2.2.5 Référence par clé étrangère
Relationnel
– par valeur
1 0 H u g h P a y c h e c k ( 9 9 9 ) 9 9 9 - 9 9 9 9 2 0 D o l l a r d C a s h ( 8 8 8 ) 8 8 8 - 8 8 8 8 3 0 Y e S a n L e S u ( 7 7 7 ) 7 7 7 - 7 7 7 7 1 0 0 1 0 0 0 . 0 0
2 0 0 2 0 0 0 . 0 0
4 0 0 5 . 0 0
3 0 0 1 0 0 0 . 0 0 6 0 0 1 0 . 0 0
1 0 3 0 2 0 3 0 1 0
C l i e n t s C o m p t e s
C lé é t r a n g è r e n u m é r o C lie n t a jo u t é e
27/02/22 © Robert Godin. Tous droits réservés 23
4.2.2.6 Indexage et hachage hétérogène
Deux types d'enregistrements associés (ou plus)
Même clé
–
clé primaire/étrangère en relationnel
Oracle
–
HASH CLUSTER
–
INDEX CLUSTER