1 2 Formaliser en logique du premier ordre les contraintes suivantes
Transcription
1 2 Formaliser en logique du premier ordre les contraintes suivantes
Université de Nice-Sophia Antipolis École Polytech’Nice-Sophia MAM4 SI4 2010–2011 Interrogation de Bases de données relationelles 27 Septembre Durée : une heure 2 6 3 14 Documents autorisés : cours et TD 1 On considère le schéma de bases de données suivant : Film(IdFilm, Titre, Idrealisateur, duree) Seance(IdSalle, IdFilm, HeuredDebut, Version) Salle(IdSalle, NomSalle, Ville) Joue(IdActeur, IdFilm) Personne(IdPersonnre, Nom, Prenom, Sexe) Produit(IdProducteur,IdFilm ) 2 Formaliser en logique du premier ordre les contraintes suivantes 1. Dans une même ville, il n’y a pas deux salles de même nom ∀t1 ,t2 ∈ Salle,(t1 .V ille = t2 .V ille) ∧ (t1 .N om = t2 .N om) ⇒ (t1 .IdSalle = t2 .IdSalle) 2. Tous les films ont au moins un acteur de chaque sexe ∀f1 ∈ F ilm (∃a1 ∈ P ersonne,∃j1 ∈ Joue,f1 .IdF ilm = j1 .IdF ilm ∧ j1 .IdActeur = a1 .IdP ersonne ∧ a1 .Sexe =0 F 0 ) ∧ (∃a2 ∈ P ersonne,∃j2 ∈ Joue,f1 .IdF ilm = j2 .IdF ilm ∧ j2 .IdActeur = a2 .IdP ersonne ∧ a2 .Sexe =0 M 0 ) 3. Il existe un acteur qui est à la fois réalisateur et producteur. ∃j1 ∈ Joue,∃f1 ∈ F ilm,∃p1 ∈ P roduit,(j1 .IdActeur = f1 .IdRealisateur) ∧ (j1 .IdActeur = p1 .IdP roducteur) 4. Tous les acteurs ont produit au moins un des films dans lesquels ils ont joué ∀j1 ∈ Joue,∃f1 ∈ F ilm,∃p1 ∈ P roduit,(p1 .IdP roducteur = j1 .IdActeur) ∧ (f1 .IdF ilm = j1 .IdF ilm) ∧ (p1 .IdF ilm = j1 .IdF ilm) 3 Ecrire en algèbre relationnelles les requêtes suivantes 1. Quel est le nom du réalisateur de ”WaterWorld” RW W = ΠN om (ΠIdrealisateur σT itre=”W aterworld” (F ilm) o n δIdP ersonne←IdRealisateur ΠIdP ersonne,N om (P ersonne)) 2. Identifiants des salles ou l’on peut voir jouer ”Kevin Kostner” en version originale. IdKK = δIdP ersonne←IdActeur (σN om=0 Kostner0 and 0 P renom=0 Kevin0 (P ersonne)) SV O = ΠIdF ilm,IdSalle (σV ersion=”Originale” (Seance)) 1 ΠIdSalle ((IdKK o n Joue) o n SV O)) 3. Quels sont les titres des films réalisés par le réalisateur de ”WaterWorld” ΠT itre (ΠidRealisateur (σT itre=”W aterW orld” (F ilm)) o n F ilm) 4. Identifiants des salles ou l’on peut voir un film dans lequel jouent ”Tom Cruse” et ”Nicole Kidman”. F T C = ΠdF ilm (ΠIdpersonne (σ(N om=0 Cruise0 etP renom=0 T om0 ) (personne)) o n δIdActeur←IdP ersonne (Joue)) F N K = ΠdF ilm (ΠIdpersonne (σN om=0 Kidman0 etP renom=0 N icole0 (personne)) o n δIdActeur←IdP ersonne (Joue)) ΠIdSalle (seance o n (F T C ∩ F N K)) 5. Identifiants des salles ou l’on peut voir un film dans lequel jouent ”Tom Cruse” ou ”Nicole Kidman”. ΠIdSalle (seance o n (F T C ∪ F N K)) 6. Quels sont les acteurs qui ont joué dans un film, qu’ils ont réalisé et produit. ΠIdActeur [Joue o n δIdRealisateur←IdActeur ((ΠIdF ilm,Idrealisateur (F ilm))) o n δIdP roducteur←Idacteur (P roduit)] 7. Dans quels films joue ”Tom Cruse” sans ”Nicole Kidman”. FTC − FNK 8. Quels sont les acteurs qui ont joué dans tous les films réalisés par ”Steven Spielberg” F SS = ΠIdF ilm [σN om=Spielberg∧P renom=Steven (personne) o n δIdRealisateur←Idpersonne (F ilm)] ΠIdActeur,IdF ilm (Joue) ÷ F SS 9. Quels sont les acteurs qui n’ont joué que dans des films réalisés par ”Steven Spielberg” F P SS = ΠIdF ilm [σN om6=Spielberg∨P renom6=Steven (personne) o n δIdRealisateur←Idpersonne (F ilm)] ΠIdActeur (Joue) − ΠIdActeur (Joue o n F P SS) 2