Docsity
Docsity

Prépare tes examens
Prépare tes examens

Étudies grâce aux nombreuses ressources disponibles sur Docsity


Obtiens des points à télécharger
Obtiens des points à télécharger

Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium


Guides et conseils
Guides et conseils

test de cours informatique, Notes de Informatique

test de cours informatique sur le domaine technologique

Typologie: Notes

2020/2021
En soldes
30 Points
Discount

Offre d'une durée limitée


Téléchargé le 11/02/2021

utilisateur inconnu
utilisateur inconnu 🇫🇷

5 documents

Aperçu partiel du texte

Télécharge test de cours informatique et plus Notes au format PDF de Informatique sur Docsity uniquement! 2 1 Techniques de stockage Caractéristique Performance Taille d’un secteur 512 octets Nbre de plateaux 5 Nbre de têtes 10 Nombre de cylindres 100 000 Nombre de secteurs par piste 4 000 Temps de positionnement moyen 10 ms Vitesse de rotation 7 400 rpm Déplacement de piste à piste 0,5 ms Taux de transfert max. 120 Mo/s TABLE 1 – Spécifications d’un disque magnétique Exercice 1. Le tableau 1 donne les spécifications partielles d’un disque magnétique. Répondez aux questions suivantes. 1. Quelle est la capacité d’une piste ?, d’un cylindre ? d’une surface ? du disque ? 2. Quel est le temps de latence maximal ? Quel est le temps de latence moyen ? 3. Quel serait le taux de transfert (en Mo/sec) nécessaire pour pouvoir transmettre le contenu d’une piste en une seule rotation ? Est-ce possible ? Solution : 1. – Capacité d’une piste = nbre de secteurs par piste x taille d’un secteur = 4 000 x 512 = 2 048 000 octets (soit approx 2 Mo) – Capacité d’un cylindre = taille d’une piste x nombre de têtes = 2 048 000 x 10 = 20 480 000 octets (soit approx 20 Mo) – Capacité d’une surface = capacité d’une piste x nombre de cylindres = 2 048 000 x 100 000 = 204 800 000 000 octets (soit approx 204 Go) – Capacité du disque = capacité d’un cylindre x nombre de cylindre = 20 480 000 x 100 000 octets = approx 2 To 2. Le temps de latence maximal est le temps pour une rotation. Ici on a 740060 = 123 rotations par seconde, soit une rotation toutes les 1/123=8 ms. Le temps moyen est de 4 ms. 3. Il faut donc pouvoir transférer 2 048 000 octets en 8 ms, soit 250 Mo par seconde. Ce taux dépasse les capacités de transfert du disque. Exercice 2. Étant donné un disque contenant C cylindres, un temps de déplacement entre deux pistes adjacentes de sms ms, donner la formule exprimant le temps de positionnement moyen. On décrira une demande de déplacement par une paire [d, a] où d est la piste de départ et a la piste d’arrivée, et on supposera que toutes les demandes possibles sont équiprobables. Attention, on ne peut pas considérer que les têtes se déplacent en moyenne de C/2 pistes. C’est vrai si la tête de lecture est au bord des plateaux ou de l’axe, mais pas si elle est au milieu du plateau. Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 3 Il faut commencer par exprimer le temps de positionnement moyen en fonction d’une position de départ donnée, puis généraliser à l’ensemble des positions de départ possibles. On pourra utiliser les deux formules suivantes : 1. !ni=1(i) = n!(n+1) 2 2. !ni=1(i2) = n!(n+1)!(2n+1) 6 et commencer par exprimer le nombre moyen de déplacements en supposant que les têtes de lecture sont en position p. Il restera alors à effectuer la moyenne de l’expression obtenue, pour l’ensemble des valeurs possibles de p. Solution : On commence par calculer le temps en supposant connue la position courante des têtes de lecture, p, avec 1 < p < C . Le nombre moyen de déplacements à effectuer vers une piste i avec 1 ! i < p est : 1 + 2 + . . .+ (p " 1) p" 1 = p# (p" 1) 2# (p" 1) = p 2 De même, le nombre moyen de déplacements à effectuer vers une piste j avec p ! j ! C est : 1 + 2 + . . .+ (C " p" 1) C " p = (C " p)# (C " p+ 1) 2# (C " p) = C " p 2 Noter que pour p = C/2, le nombre moyen de déplacements, dans un sens ou dans l’autre, est de C/4, alors que quand p = 1, le temps de déplacement moyen est de C/2. Pour une position p donnée, la probabilité d’aller en i < p est p/C , et celle d’aller en j > p est (C " p)/C . On obtient donc le nombre de déplacements moyen pour une position p : p2 2# C + (C " p)2 2# C Il reste à effectuer la moyenne de cette expression pour l’ensemble des positions de départs pos- sibles, ce qui donne : 1 C # !Ci=1( i2 + (C " i)2 2# C ) = 1 2# C2 # 2# !Ci=1(i 2) = 1 C2 # C # (C + 1)# (2C + 1) 6 On en déduit que le nombre de déplacements moyen est de l’ordre du tiers du nombre total de pistes (ou cylindres). Exercice 3. Soit un disque de 5 000 cylindres tournant à 12 000 rpm, avec un temps de déplacement entre deux pistes adjacentes égal à 0,2 ms et 500 secteurs de 512 octets par piste. Quel est le temps moyen de lecture d’un bloc de 4 096 ? Solution : Calculer le temps de transfert (8/400 de rotation). Calculer le délai de latence : 12000 rotations pour 60s, donc une rotation en 60/12000= 5 ms. Temps moyen de latence=2,5 ms. Temps moyen de positionnement : environ 1/3 du temps total de balayage du disque, soit 0,5!50003 = 1/3s Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 6 – les demandes d’entrées-sorties sont stockées au fur et à mesure de leur arrivée dans un ta- bleau Tes à C entrées ; chaque entrée est une liste chaînée stockant, dans l’ordre d’arrivée, les demandes concernant le cylindre courant ; – les entrées du tableau Tes sont balayées séquentiellement de 1 à C , puis de C à 1, et ainsi de suite ; quand on arrive sur une entrée Tio[c], on place les têtes de lecture sur le cylindre c, et on effectue les entrées/sorties en attente dans l’ordre de la liste chaînée. On supposera qu’on traite les demandes connues au moment où on arrive sur le cylindre, L’idée de balayage est bien entendu de limiter les déplacements importants des têtes de lecture. On suppose que le disque a 250 cylindres, effectue une rotation en 6 ms, et qu’un déplacement entre deux pistes adjacentes prend 0,2 ms. 1. On suppose que le flux des entrées/sorties est le suivant : d1 = [1, 100], d2 = [15, 130], d3 = [17, 130], d4 = [25, 15], d5 = [42, 130], d6 = [27, 155], d7 = [29, 155], d8 = [70, 250] Indiquez à quel moment chaque entrée/sortie est effectuée (attention : une E/S ne peut être traitée avant d’être soumise !). L’adresse est ici simplement le numéro de cylindre et les instants sont exprimés en valeur absolue et en millisecondes. On suppose que les têtes de lectures sont à l’instant 1 sur le cylindre 1. 2. Donnez les instants où sont effectuées les entrées/sorties avec l’algorithme classique PDPS (contraitement à balayage, on traite donc les demandes dans l’ordre où elles sont soumises). 3. Mêmes questions avec la liste suivante : [1, 100], [10, 130], [15, 10], [20, 180], [25, 50], [30, 250] 4. Soit la liste d’E/S suivante : [1, c1], [2, c2], [3, c3], . . . , [100, c100] Supposons que le disque vienne de traiter la demande d1 = [1, c1]. Donner le temps maximal pour que la demande d2 = [2, c2] soit traitée, avec les deux approches (balayage et premier demandé-premier servi). 5. Soit n > 250 le nombre de demandes en attente. On suppose qu’elles sont également réparties sur tous les 250 cylindres. Quel est le temps moyen d’accès à un bloc avec l’agorithme de balayage, exprimé en fonction de n ? Solution : 1. On note d’abord que le délai de latence moyen est de 3 ms. Pour la première entrée/sortie, on fait donc 100 déplacements (20 ms) et 3 ms, soit 23 ms. Une fois qu’on a effectué la première E/S, on s’intéresse à la seconde. Comme on est à l’instant 23, on traite d2 et d3 ce qui prend 6 + 3 + 3 = 12ms, et on est à l’instant 23 + 12 = 35. Ensuite on traite d6 et d7. Le temps de déplacement est de 5 ms, donc ça prend 11 ms. On se retrouve à 44 ms. On traite d8 en parcourant 95 pistes, soit 19 ms, plus 3 ms = 21 ms. On se retrouve à l’instant 44 + 21 = 65. Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 7 On revient sur d5, la demande de la piste 130 soumise à t = 42. Il faut parcourir 120 pistes, en 24 ms, et effectuer la lecture. On est à l’instant 65 + 24 = 89ms. Il reste d4 qui prend 23 + 3 = 26ms à satisfaire. Finalement on est à t = 115. 2. Comptons les temps de déplacement : 20+6+23+23+5+19 =, soit 96ms, plus 8!3 = 24ms de temps de latence. Donc ça prend 120ms : on n’a pas gagné énormément sur cet exemple. 3. [1, 100], [10, 130], [15, 10], [20, 180], [25, 50], [30, 250] Cas 1, déplacements : 20 + 6 + 10 + 14 + 40 + 8 = 98ms Cas 2, déplacements : 20 + 6 + 24 + 34 + 26 + 40 = 150ms La séquence comprend ici beaucoup d’alternances, donc l’algorithme de balayage est préfé- rable. 4. Dans le cas le plus défavorable, le cylindre c2 est juste avant le cylindre c1 dans le sens courant de balayage, et il faut attendre, dans le pire des cas, que les têtes de lecture aient effectué un aller-retour complet, soit 500 # 0, 2 = 100ms + 98 # 3 = 294ms de temps de latence au pire. Donc 394ms de latence, alors qu’on a au pire 250 # 0, 2 + 3 = 53ms avec l’algorithme classique. 5. On a n/250 demandes par cylindre. Pour effectuer une E/S, il faut le délai de latence de 3 ms, et se déplacer d’une piste à une autre 1 fois sur n/250, soit 250/n fois (en moyenne). le temps de lecture moyen est donc de 3 + 250 n # 0, 2ms Ce temps est inversement proportionnel à n, ce qui montre bien que plus n est important, et plus le gain du balayage est important en terme de temps moyen d’accès. 2 Indexation Organisation Physique Exercice 8. On prend ici comme exemple la relation Directeur (nom_directeur, nom_film). 1. Organisation Séquentielle : Expliquer l’organisation séquentielle et représenter un exemple sur la relation Directeur. Montrer le fichier aprés une insertion et aprés quelques suppressions d’articles. Solution : Les articles sont stockés les uns derrière les autres dans des pages successives. L’ avantage de cette structure physique est sa simplicité. En particulier, il n’existe pas d’ordre entre les articles. La seule façon d’accéder à un article est par balayage séquentiel : on parcourt le fichier en séquence, page par page : chaque page est lue en mémoire : les articles dans la page sont alors parcourus séquentiellement. On lit chaque article et le sélectionne si la valeur de ses champs correspond au(x) critËre(s) de recherche. Un exemple d’une organisation séquentielle pour la relation Directeur se trouve dans la Figure 1 Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 8 "De Palma Carrie" Insertion de Allen Annie Hall Bergman Persona Allen Manhattan De Palma Scarface Coppola Dracula Hitchcock Psychose Fischer Dracula Jarmusch Down By Law De Palma Carlito’s Way Jarmusch Ghost Dog Hitchcock Vertigo Jarmusch Night on Earth Allen Radio Days Coppola GodFather, The Allen Annie Hall De Palma Scarface Coppola Dracula Hitchcock Psychose Fischer Dracula Jarmusch Down By Law Jarmusch Ghost Dog Hitchcock Vertigo Jarmusch Night on Earth Coppola GodFather, The De Palma Carrie "Allen Manhattan" "De Palma Carlito’s Way" "Bergman Persona" "Allen Radio Days" chainage de places vides Allen Annie Hall Bergman Persona Allen Manhattan De Palma Scarface Coppola Dracula Hitchcock Psychose Fischer Dracula Jarmusch Down By Law De Palma Carlito’s Way Jarmusch Ghost Dog Hitchcock Vertigo Jarmusch Night on Earth Allen Radio Days Coppola GodFather, The De Palma Carrie Suppression successives de dans l’ordre de suppressions adresse du 1er article vide FIGURE 1 – Organisation Séquentielle de la relation Directeur 2. Organisation Indexée : Montrer des exemples d’index non dense (primaire) et dense (secon- daire) sur la relation Directeur. Solution : On illustre dans les Figures 2 et 3 des exemples d’index non dense respectivement sur l’attribut directeur et sur l’attribut nom de film. L’index est ordonnÈ sur le même attribut que le fichier. Dans la figure 4 on montre deux index denses, l’un sur l’attribut directeur l’autre sur le nom du film. L’index est trié sur la clé alors que l’ordre des articles dans le fichier est quelconque. Deux remarques sont importantes : on a supposé dans ces exemples que l’index tient dans une page (feuille unique). Il faut se rappeler qu’en pratique, l’index a une structure arborescente (Arbre B et des tris). Ensuite, l’exemple dans la figure 4 suppose qu’on associe à une valeur de clé “c” dans l’index une adresse de page (où se trouvent un ou plusieurs nuplets ayant “c” pour valeur de l’attribut clé). En fait la plupart du temps, ce n’est pas une adresse de page, mais une adresse complète du nuplet (adresse de page et adresse dans la page, voir cours) qui est associée à “c” dans l’index. Ceci a pour conséquence, que s’il y a “n” nuplets dans la page ayant pour valeur de clé “c”, il y aura “n” couples (“c, adresse de nuplet) dans l’index. pointeurs vers les pages de la relation Allen Bergman Hitchcock Jarmusch Index Allen Annie Hall Allen Manhattan Allen Radio Days Bergman Persona Coppola Dracula Coppola The Godfather De Palma Carlito’s Way De Palma Scarface Fischer Dracula Hitchcock Psychose Hitchcock Vertigo Jarmusch Ghost Dog Jarmusch Down By Law Jarmusch Night on Earth pages de la relation De Palma FIGURE 2 – Index non dense sur l’attribut nom_directeur de la relation Directeur Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 11 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 115 19 29 41 A rbre B+ Fichier 331 232919 17 FIGURE 5 – Un arbre B+ Solution : 1. Voir Figure 6. !" #$ %& '( )* !+ #, -. %- /) 0 !1 #, -* 2- . !3 #, 4& ( "1 #5 )6 70 89 #: -( / 8; #< */ (& 8= #> 6( - +9 #? -* /& 0 +" #? )@ (& 1! #A -( *& 11 #A &6 0& B8 #C -% )@ & B1 #D -( @0 3! #E -( * 3+ #F -6 G. 60 & 8######B8 8######=######!"######!1######"1######8;######+9######1! B8######3! 8# $ ..@ &( B# $ (/ HG 4& =# $ (@ HI & !! #$ 6/ & J@G4@&(#/&0#/)**K&0#L2(@K#06(#.-#G.&M#/&#(&G4&(G4&#/&#.N@*/&OP <Q 5 R S L* )* #/ &* 0& P FIGURE 6 – Index non dense sur les départements. 2. Voir Figure 7. 3. Voir Figure 8. Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 12 !" #$% &' "# ( &)* +, -. #/ '& 0 .. #( %1 , .2 #( 3, 4& 50 26 #7 5% 89 :! #; '3 5) , 66 #< ,% 9, .6 #= '0 >' ? 6. #< '& 0, @2 #A 5) &, @B #A '0 1, 9 .@ #= '? 3' 15 9 !B #C '& 1 -@ #D '% E? %9 , :# ( &1 *E F, !# ( ??) ,& !G #H0 1& , .- #= F, & :6 #I '& )9 J)EF),&#1,9#1500K,9# HL 7 MN #1 ,0 9, 7 50 0K ,9 !###:###"###..###.2###.@###.6###.- .-###66 26###!B###!G###!"###@B###@2###6.###66 :!###:6###-.###-@ L)3,'% 1,09, L)3,'%# 050#1,09, FIGURE 7 – Index dense sur les départements. !"#$%&'( )*#%&++ ,-".-/&+0 123$%&45 6-$37&80 )//3%$&' )$#9:;%&8 )$39<%&= )>%?$2"&+5 ,-/>-#27&+4 ,;%$&+@ A2*B7&50 C-$#&'D E*$-&'= 1-"#%7&4D F-$"%&0+ F%*7%&00 G->23%&8' H-$"&@+ I-*:/*7%&@4 FIGURE 8 – Arbre B sur les départements. 4. Voir Figure 9. Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 13 !" #$% &' "# ( &)! "# $% &' () * %% &+ ,- # %. &+ /# 0) 1* .2 &3 1, 45 67 &8 (/ 19 # 22 &: #, 5# %2 &; (* <( = 2% &: () *# >. &? 19 )# >@ &? (* -# 5 %> &; (= /( -1 5 7@ &A () - $> &B (, C= ,5 # 6& + )- !C D# 7& + ==9 #) 7E &F* -) # %$ &; D# ) 62 &G () 95 H9CD9#)&-#5&-1**I#5& FJ 3 KL &M N& O- #* 5# P F*-)# +,-# ;D#) :()*# G()95 + ==9 #) + )- !C D# + )9! "# + ,- # 3 1* *I #5 +/ #0 )1 * ; (= /( -1 5 ; (* <( = ; D# ) 3 1, 45 A () - F* -) # Q, )( ?( *- #5 ?1 9)# : () *# : #, 5# G( )95 8( /1 9# '( )* B( ,C =, 5# FIGURE 9 – Arbre Bplus sur les départements. Exercice 11 (Index dense et non-dense). Soit un fichier de données tel que chaque bloc peut contenir 10 enregistrements. On indexe ce fichier avec un niveau d’index, et on suppose qu’un bloc d’index contient 100 entrées [valeur, adresse]. Si n est le nombre d’enregistrements, donnez la fonction de n permettant d’obtenir le nombre minimum de blocs pour les structures suivantes : 1. Un fichier avec un index dense. 2. Un fichier trié sur la clé avec un index non-dense. Solution : (1) n/10 et n/100, soit 11!n100 blocs. (2) Il faut seulement n/10 paires (clé, pointeur), donc n/1000 blocs, pour un total de 101!n1000 blocs. Exercice 12 (Arbre-B+). On reprend les hypothèses précédentes, et on indexe maintenant le fichier avec un arbre-B+. Les feuilles de l’arbre contiennent donc des pointeurs vers le fichier, et les nœuds internes des pointeurs vers d’autres nœuds. On suppose qu’un bloc d’arbre B+ est plein à 70% (69 clés, 70 pointeurs). Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 16 1. Combien d’enregistrements dans chaque bloc : $4096/81% = 50. Nombre de blocs du fichier : &N50'. Il faut lire tout le fichier pour une recherche par intervalle. 2. Il faut lire la racine de l’arbre, puis un bloc du niveau intermédiaire, avant d’arriver à la feuille contenant l’adresse de la borne inférieure de l’intervalle. Il faut alors tenir compte du nombre d’entrées par bloc de l’arbre-B+, égal en moyenne, d’après l’énoncé, à 0, 7#$4096/20% = 143. Il faudra parcourir un nombre de feuilles de l’arbre égal à &m/143'+ 1 et pour chaque adresse rencontrée aller lire le bloc correspondant dans le fichier de données. On en déduit le nombre de lectures nécessaires : 2 + & m 143 '+m 3. Il vaut mieux utiliser une lecture séquentielle quand le nombre de blocs à lire en passant par l’index est supérieur à a taille du fichier, soit : & N 50 ' < 2 + & m 143 '+m Pour une grande valeur a, on pose &a' = a, cela donne : N 50 < 2 + m 143 +m Soit m > 1 1 + 1/143 # ( N 50 " 2) On pose m = p#N où p est le pourcentage d’enregistrements ramenés par la recherche. On a donc : p > 1 1 + 1/143 # ( 1 50 " 2 N ) Pour une valeur de N élevée, le facteur 2/N (correspondant à la descente dans l’arbre) devient négligeable et on constate qu’au-delà de 2 % des enregistrements ramenés par une recherche, un parcours séquentiel est préférable. En pratique le placement dans un cache des blocs du fichier de données réduit l’effet de disper- sion des lectures aléatoires engendrées par le parcours d’index. Mais en contrepartie la lecture séquentielle du fichier de données est bien plus efficace qu’une série d’accès aléatoires. Exercice 17. Soit les deux tables suivantes : CREATE TABLE R (idR VARCHAR(20) NOT NULL, PRIMARY KEY (idR)); CREATE TABLE S (idS INT NOT NULL, idR VARCHAR(20) NOT NULL, PRIMARY KEY (idS), FOREIGN KEY idR REFERENCES R); Indiquez, pour les ordres SQL suivants, quels index peuvent améliorer les performances ou optimiser la vérification des contraintes PRIMARY KEY et FOREIGN KEY. Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 17 1. SELECT * FROM R WHERE idR = ’Bou’ 2. SELECT * FROM R WHERE idR LIKE ’B%’ 3. SELECT * FROM R WHERE LENGTH(idR) = 3 4. SELECT * FROM R WHERE idR LIKE ’_ou’ 5. INSERT INTO S VALUES (1, ’Bou’) 6. SELECT * FROM S WHERE idS BETWEEN 10 AND 20 7. DELETE FROM R WHERE idR LIKE ’Z%’ Solution : 1. SELECT * FROM R WHERE idR = ’Bou’ : index sur R(idR). 2. SELECT * FROM R WHERE idR LIKE = ’B%’ : index sur R(idR). 3. SELECT * FROM R WHERE LENGTH(idR) = 3 pas d’index utile. 4. SELECT * FROM R WHERE idR LIKE ’_ou’ pas d’index utile. 5. INSERT INTO S VALUES (1, ’Bou’) : index sur R(idR). 6. SELECT * FROM S WHERE idS BETWEEN 10 AND 20 : index sur S(idS). 7. DELETE FROM R WHERE idR > 10 : index sur S(idR). Exercice 18. Écrire l’algorithme de recherche par intervalle dans un arbre-B. Exercice 19. Soit la liste des départements données dans l’exercice 10, la clé étant le numéro de département. On suppose qu’un bloc contient 5 enregistrements. 1. Proposez une fonction de hachage et le nombre d’entrées de la table, puis construisez la struc- ture en prenant les enregistrements dans l’ordre indiqué. 2. Insérez un ou plusieurs autres départements de manière à provoquer un chaînage pour l’une des entrées. Exercice 20. Même exercice, mais avec une structure basée sur le hachage extensible. On prendra une fonction de hachage sur le nom, définie de la manière suivante : f(nom) = i1i2 · · · i4 avec ij = 1 si la lettre nom[ij ]est en position impaire dans l’alphabet, et 0 sinon. Donc f(Aude) = 1101. Voici la liste des valeurs de hachage, en ne prenant que les 4 premiers bits. Allier 1001 Indre 1000 Cher 1010 Paris 0101 Jura 0101 Ariège 1011 Tarn 0100 Aude 1101 Aveyron 1011 Doubs 0110 Savoie 1101 Meuse 1111 Cantal 1100 Marne 1100 Loire 0110 Landes 0100 Calvados 1100 Gard 1100 Vaucluse 0111 Ardèche 1001 Le hachage extensible consiste à considérer les n derniers bits de la valeur de hachage (en d’autres termes, on prend h(v)mod2n, le reste de la division de la valeur de hachage par 2n). Au départ on prend n = 1, puis n = 2 quand une extension est nécessaire, etc. Montrez l’évolution de la structure de hachage extensible en insérant les départements dans l’ordre indiqué (de gauche à droite, puis de haut en bas). Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données 18 Exercice 21. On indexe l’ensemble des pistes de ski du domaine skiable alpin français. Chaque piste a une couleur qui peut prendre les valeurs suivantes : Verte, Rouge, Bleue, Noire. On suppose qu’il y a le même nombre de pistes de chaque couleur, et que la taille d’un bloc est de 4 096 octets. 1. Donnez la taille d’un index bitmap en fonction du nombre de pistes indexées. 2. Combien de blocs faut-il lire, dans le pire des cas, pour rechercher les pistes vertes ? 3. Combien de blocs pour compter le nombre de pistes vertes ? 4. Que se passerait-il si on utilisait un arbre B+ ? Exercice 22. Soit un arbre-R dont chaque nœud a une capacité maximale de 4 entrées. Quelle est à votre avis la meilleure distribution possible au moment de l’éclatement du nœud de la figure 10 ? A B Bloc d’un arbre!R Première possibilité Seconde possibilité FIGURE 10 – Éclatement d’un nœud d’arbre-R Exercice 23. Même hypothèse que précédemment : on insère le rectangle 8 dans le nœud de la figure 11. 1. Quel est le résultat après réorganisation ? 2. Coment pourrait-on faire mieux, en s’autorisant la réinsertion dans l’arbre de un ou plusieurs rectangles d’un nœud avant éclatement. Insertion du rectangle 8 u v 84 FIGURE 11 – Éclatement avec réinsertion Exercice 24. Soit un rectangle R de dimension [h, l] dans un espace de dimension [d, d]. 1. Quelle est la probabilité qu’un pointé P (x, y) ramène le rectangle, en supposant une distribu- tion uniforme ? 2. Quelle est la probablité qu’un fenêtrage W (wh, wl) ramène le rectangle ? Philippe Rigaux (philippe.rigaux@cnam.fr), Cours de bases de données
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved