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

Documents pareils