EXAMEN FINAL Flashcards

1
Q

Alice est une administratrice d’une base de données. Un jour, elle remarque que Bob, un utilisateur légitime, se connecte à la base de données et télécharge une grande quantité de données. Plus tard, elle réalise que le contenu de la base de données a été dérobé et se retrouve maintenant en vente en ligne. Après investigation, Bob n’est pas responsable, ses informations de connexion lui ont été dérobées à son insu.
De quel type d’attaque s’agit-il?

A

Vol d’identité (hameçonnage)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Une compagnie considère le salaire de ses employés comme une information confidentielle, mais est obligée de publier le salaire moyen de chaque département. Le nombre d’employés dans chaque département est une information publique. Bob est jaloux de la nouvelle employée, Alice, et veut connaitre son salaire. Il obtient donc le salaire moyen et le nombre d’employés du département qui va accueillir Alice la journée avant son embauche formelle, et la journée après son début, et utilise ces statistiques pour calculer l’information qu’il désire.
De quel type d’attaque est-ce qu’il s’agit?

A

Canal caché

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quel niveau d’isolation minimal devez-vous utiliser pour prévenir ce problème? lecture fantôme.

A

SERIALIZABLE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quel niveau d’isolation minimal devez-vous utiliser pour prévenir ce problème? mise à jour perdue.

A

REPEATABLE READ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Une requête populaire est SELECT * FROM Employes WHERE salaire > 40000 AND age = 42;. Vous avez l’option de créer un index de hachage non-groupé sur age, un index de hachage non-groupé sur salaire, ou un index de hachage non-groupé sur (age, salaire). Lequel choisir? Expliquez.

A

Index sur age car c’est le seul qui s’applique dans ce cas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Une requête populaire est SELECT * FROM Employes WHERE salaire > 40000 AND age = 42;. Vous avez l’option de créer un index de hachage groupé sur (age) ou un index en arbre B groupé sur (salaire, age). Lequel choisir? Expliquez.

A

Index de hachage lira un ou deux secteurs d’âge = 42 pour trouver les personnes ayant le bon salaire. Index en arbre B ordonne par salaire et lit un secteur par (salaire, 42). Si on suppose plusieurs personnes de 42 ans avec une gamme de salaires > 40k, alors sélectionner par âge est plus avantageux.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Une requête populaire est SELECT nom FROM Employes WHERE age = 28 AND salaire = 50000;. Vous avez l’option de créer un index en arbre B non-groupé sur (age, salaire) ou un index en arbre B non-groupé sur (salaire,age). Lequel choisir? Expliquez.

A

ça ne fait pas de différence car l’optimisateur de requêtes peut changer l’ordre du WHERE pour l’adapter à l’index disponible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Une requête populaire est SELECT nom FROM Employes WHERE age > 28 AND salaire = 50000;. Vous avez l’option de créer un index en arbre B non-groupé sur (age, salaire) ou un index en arbre B non-groupé sur (salaire,age). Lequel choisir? Expliquez.

A

L’index sur (salaire, age) car il sera plus sélectif.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Une requête populaire est SELECT * FROM Employes WHERE ID = 8 ORDER BY nom;. Vous avez l’option de créer un index de hachage non-groupé sur ID ou un index de hachage groupé sur ID. Lequel choisir? Expliquez.

A

L’index non-groupé, car la requête est une égalité de clé primaire et donc retourne toujours un seul tuple.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Considérez les deux requêtes suivantes :
 SELECT nom FROM Employes WHERE age > 28 AND salaire < 50000.
 SELECT nom FROM Employes ORDER BY age;
Vous avez le choix entre un index en arbre B non-groupé sur age ou un index en arbre B nongroupé sur (salaire, age, nom). Dans quel cas est-ce que le deuxième index sera préférable?

A

Le deuxième index fait de la requête 1 une requête index-seulement très efficace mais ne s’applique pas à la requête 2. Donc cet index est préférable si la requête 1 est plus fréquente ou importante à optimiser que la 2.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Considérez la requête suivante : SELECT nom, min(age) FROM Employes WHERE titre = ‘associé’;.
Le SGBDR ne supporte pas les requêtes d’index seulement. Proposez le meilleur index pour améliorer sa performance.

A

Index en arbre B non-groupé sur (titre, age).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Considérez les deux requêtes suivantes
 SELECT SUM(salaire) FROM Employes WHERE titre = ‘directeur’;
 SELECT * FROM Employes WHERE salaire > 50000 ORDER BY titre; Le SGBDR supporte les requêtes d’index seulement. Proposez le meilleur index pour améliorer leurs performances.

A

Index en arbre B groupé sur (titre, salaire).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quel index améliorera le plus les performances de la requête :

SELECT E.nom
FROM Etudiants E
WHERE E.age > 10
GROUP BY E.cote;

A. Index en arbre B groupé sur E.age
B. Index en arbre B groupé sur E.cote
C. Index en arbre B groupé sur <E.age, E.cote>
D. Pas d’index

A

D Pas d’index

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quel index améliorera le plus les performances de la requête :

SELECT E.nom
FROM Etudiants E
WHERE E.age = 19 AND E.cote = ‘A’;
A. Index de hachage non-groupé sur E.age
B. Index de hachage non-groupé sur E.cote
C. Index de hachage non-groupé sur <E.age, E.cote>
D. Pas d’index

A

C Index de hachage non-groupé sur <E.age, E.cote>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quel index améliorera le plus les performances de la requête :

SELECT E.nom
FROM Etudiants E
WHERE E.age > 19 AND E.cote = ‘A’;

A. Index de hachage groupé sur <E.age, E.cote>
B. Index de hachage groupé sur <E.cote, E.age>
C. Index en arbre B groupé sur <E.age, E.cote>
D. Index en arbre B groupé sur <E.cote, E.age>

A

D. Index en arbre B groupé sur <E.cote, E.age>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quel index améliorera le plus les performances de la requête :

SELECT E.cote, MIN(E.age)
FROM Etudiants E
GROUP BY E.cote;

A. Index en arbre B groupé sur E.cote
B. Index en arbre B groupé sur E.age
C. Index en arbre B non-groupé sur <E.age, E.cote>
D. Index en arbre B non-groupé sur <E.cote, E.age>

A

D. Index en arbre B non-groupé sur <E.cote, E.age>

17
Q

Quel index améliorera le plus les performances de la requête :

SELECT E.nom
FROM Etudiants E
WHERE E.age <= 40 AND E.cote = ‘A’;

A. Index en arbre B groupé sur <E.cote, E.age>
B. Index en arbre B non-groupé sur <E.cote, E.age>
C. Index en arbre B groupé sur <E.age, E.cote>
D. Index en arbre B non-groupé sur <E.age, E.cote>

A

A. Index en arbre B groupé sur <E.cote, E.age>

18
Q

Quel index améliorera le plus les performances des deux requêtes :

SELECT COUNT(*)
FROM Etudiants E
GROUP BY E.cote;

SELECT AVG (E.age)
FROM Etudiants E
WHERE E.cote = ‘A’;

A. Index de hachage non-groupé sur age
B. Index de hachage non-groupé sur <age, cote>
C. Index de hachage non-groupé sur cote
D. Index de hachage non-groupé sur <cote, age>

A

C. Index de hachage non-groupé sur cote

19
Q

Laquelle de ces requêtes bénéficierait d’un index de hachage groupé sur sa clé de recherche?

SELECT E.nom
FROM Etudiants E
WHERE E.cote = ‘A’;

SELECT E.nom
FROM Etudiants E
WHERE E.nas = ‘123456789’;

A. Les deux en bénéficieraient
B. La première requête mais pas la deuxième
C. La deuxième requête mais pas la première
D. Aucune des deux n’en bénéficierait

A

B. La première requête mais pas la deuxième

20
Q

Quels conflits se produisent si les trois transactions sont exécutées au niveau d’isolation READ UNCOMMITTED?

A. Mise à jour perdue et lecture fantôme
B. Lecture sale et lecture non-répétable
C. Transactions annulées et lecture fantôme
D. Aucun conflit

A

A. Mise à jour perdue et lecture fantôme

21
Q

Quels conflits se produisent si les trois transactions sont exécutées au niveau d’isolation READ COMMITTED?

A. Mise à jour perdue
B. Lecture sale
C. Lecture fantôme
D. Aucun conflit

A

C. Lecture fantôme

22
Q

Quels conflits se produisent si les trois transactions sont exécutées au niveau d’isolation SERIALIZABLE?

A. Mise à jour perdue
B. Lecture sale
C. Lecture fantôme
D. Aucun conflit

A

D. Aucun conflit