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.
Précédent

- 307/402

Suivant