Livre_silo 30 août 2013 16:32 Page 294
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
294
Informatique pour tous
1 Déterminer les résultats des opérations suivantes :
• σ Premier=1 (R 1 )
• R 1 [Nombre = Diviseur] R 2
• somme(R 1 .Nombre)
• π Premier (R 1 )
2 Écrire les opérations, éventuellement composées, permettant d’obtenir les résultats suivants :
• la somme des nombres premiers (ceux dont l’attribut Premier vaut 1) ;
• la somme des nombres présents dans R 2 dont l’attribut Diviseur est premier ;
• la vérification qu’un nombre indiqué comme premier n’est pas une valeur de l’attribut Multiple de R 2 .
3 Traduire dans le langage SQL chacune des opérations vues dans les questions précédentes.
Exercice 11.14 Arbre généalogique. On considère ici la relation Valois(S), où :
S = ( (id, N), (Nom, Texte), (Parent, N)}) )
Valois
id
Nom
Parent
1
François Ier
0
2
Henri II
1
3
François II
2
4
Charles IX
2
5
Henri III
2
avec id une clé primaire pour Valois et Parent un attribut définissant un lien de Valois vers elle-même.
On convient qu’une valeur Parent de 0 exprime le fait qu’elle n’a pas de parent dans la relation.
Cette relation représente la généalogie de quelques rois de France, ce que l’on représente usuellement
par l’arbre généalogique suivant :
Dessins/bdd/valois.pdf
1 Écrire les opérations, éventuellement composées, fournissant les informations suivantes :
• les fils d’Henri II ;
• le père de Charles IX ;
• les descendants de François Ier ;
• les ancêtres de Henri III.
2 Comment peut-on déterminer la personne à la racine de l’arbre ?
3 Comment peut-on déterminer les personnes n’ayant aucun enfant ?
4 Estimer le nombre de sélections que l’on doit faire pour récupérer les ancêtres dans un arbre généalogique quelconque.
5 Estimer le nombre de sélections que l’on doit faire pour récupérer les descendants dans un arbre généalogique quelconque.
L’exercice suivant présente une manière plus efficace de représenter de tels arbres.
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
294
Informatique pour tous
1 Déterminer les résultats des opérations suivantes :
• σ Premier=1 (R 1 )
• R 1 [Nombre = Diviseur] R 2
• somme(R 1 .Nombre)
• π Premier (R 1 )
2 Écrire les opérations, éventuellement composées, permettant d’obtenir les résultats suivants :
• la somme des nombres premiers (ceux dont l’attribut Premier vaut 1) ;
• la somme des nombres présents dans R 2 dont l’attribut Diviseur est premier ;
• la vérification qu’un nombre indiqué comme premier n’est pas une valeur de l’attribut Multiple de R 2 .
3 Traduire dans le langage SQL chacune des opérations vues dans les questions précédentes.
Exercice 11.14 Arbre généalogique. On considère ici la relation Valois(S), où :
S = ( (id, N), (Nom, Texte), (Parent, N)}) )
Valois
id
Nom
Parent
1
François Ier
0
2
Henri II
1
3
François II
2
4
Charles IX
2
5
Henri III
2
avec id une clé primaire pour Valois et Parent un attribut définissant un lien de Valois vers elle-même.
On convient qu’une valeur Parent de 0 exprime le fait qu’elle n’a pas de parent dans la relation.
Cette relation représente la généalogie de quelques rois de France, ce que l’on représente usuellement
par l’arbre généalogique suivant :
Dessins/bdd/valois.pdf
1 Écrire les opérations, éventuellement composées, fournissant les informations suivantes :
• les fils d’Henri II ;
• le père de Charles IX ;
• les descendants de François Ier ;
• les ancêtres de Henri III.
2 Comment peut-on déterminer la personne à la racine de l’arbre ?
3 Comment peut-on déterminer les personnes n’ayant aucun enfant ?
4 Estimer le nombre de sélections que l’on doit faire pour récupérer les ancêtres dans un arbre généalogique quelconque.
5 Estimer le nombre de sélections que l’on doit faire pour récupérer les descendants dans un arbre généalogique quelconque.
L’exercice suivant présente une manière plus efficace de représenter de tels arbres.
