===== TD3 : Recherche d’information===== ====Exercice 1==== On considère la base de données académique vue au TD2 : * **Enseignant**(__e-mail-ens__, nom, prénom, tel,) * **UE**(__code_UE__, intitulé, semestre, nb_crédits, __e__-__m__a__i__l-__e__n__s__) * **Séance**(__id_séance__, __c__o__d__e__ __U__E__, __e__-__m__a__i__l-__e__n__s__, type, salle, date, heure) * **Présence**(__e-mail-eleve, id_seance__) * **Elève**(__e-mail-eleve__, nom, prénom, tel) * **Examen**(__code_UE, e-mail-eleve__, salle, date, heure, note) - Exprimez les requêtes suivantes en algèbre relationnelle : - Donner la liste des UE rapportant plus de 4 crédits. - Donner la feuille de notes (code_UE, date, note) obtenues par l’élève identifié par “mmollo@ec-marseille.fr” entre début septembre 2014 et début juillet 2015. - Donner le nom et le prénom de l’enseignant responsable de l’UE “ALG_1”. - Donnez la liste des UE dont Paul Poitevin est responsable - Donnez la liste de présence (nom, prénom) à la séance du 15 janvier 2014 en salle 222 à 10h. - Liste des séances (code_UE, salle, date, heure) des cours magistraux assurés par Paul Poitevin au cours du semestre 5. - Donnez la liste des séances (code_UE, salle, date, heure) assurés par Paul Poitevin et auxquelles a assisté l’élève Martin Mollo. - Donnez le nom et le prénom des enseignants qui ne sont pas responsables d’UE. - Liste des élèves (nom, prénom) qui ont passé l’examen mais qui n’ont assisté à aucun des cours magistraux de l’UE “ALG_1”. - Donner la liste des salles occupées le 23 janvier 2015 à 10h15. - Donnez le nom et le prénom des enseignants qui sont responsables d’UE et qui interviennent en séance dans leur UE. - Liste des élèves (nom, prénom) ayant assisté à tous les cours magistraux assurés par Paul Poitevin au cours du semestre 5. ====Exercice 2 ==== - Soit une table r de schéma **R**(a,b,c). On considère l’opérateur de sélection σF où F est une condition sur les valeurs de a, b ou c. Donnez l’algo effectuant la sélection selon F. Quelle est sa complexité si n est le nombre de tuples? - Sur quel(s) attribut(s) de la table Employé(nom, prénom, salaire) est-il intéressant de définir un index? ====Exercice 3==== On considère les schémas **R**(a1,a2,a3) et **S**(a3,a4,a5) ayant l’attribut a3 en commun - Quel est le statut de l’attribut a3 du schéma **R**? Quelle est la table “de droite” et quelle est la table “de gauche”? - Soient r et s deux tables obéissant aux schémas **R** et **S**, et de taille |r| et |s|. Donnez un algorithme simple réalisant l’opération de jointure r ⋈ s. Quelle est sa complexité? - Reprenez les questions de l’exo 1 et essayez d’estimer la complexité des premières requêtes. En particulier, regardez quel parenthésage des requêtes minimise la complexité?