• Aucun résultat trouvé

Consultation d’une base de donn

N/A
N/A
Protected

Academic year: 2022

Partager "Consultation d’une base de donn"

Copied!
2
0
0

Texte intégral

(1)

PTSI - Travaux Pratiques d’informatique

Consultation d’une base de donn´ ees - Partie 2

Nous utiliserons dans ce TP le gestionnaire de bases de donn´eesSQLiteManager.

Le but de ce TP est de consulter la base de donn´ees cin´ema suivante :

films

idfilm titre annee

1 Dracula 1992

2 Taxi Driver 1976 3 Le Parrain II 1974

...

realisateurs

idrealisateur prenomrealisateur nomrealisateur

1 Francis Ford Coppola

2 Martin Scorsese

...

acteurs

idacteur prenomacteur nomacteur

1 Gary Oldman

2 Winona Ryder

3 Robert De Niro

4 Al Pacino

... roles

idrole idacteur idfilm personnage

1 1 1 Dracula

2 2 1 Mina Murray

3 3 2 Travis Bickle

4 3 3 Vito Corleone

5 4 3 Michael Corleone

...

realisations

idrealisation idrealisateur idfilm

1 1 1

2 1 3

3 2 2

...

1. Tester les requˆetes suivantes :

– SELECT titre,annee FROM films ORDER BY annee (tri ascendant)

– SELECT titre,annee FROM films ORDER BY annee DESC (tri descendant) 2. – Donner la requˆete SQL permettant d’obtenir la liste des acteurs tri´ee par ordre alphab´etique.

– Donner la requˆete SQL permettant d’obtenir la liste des films sortis en 1992 tri´ee par ordre alpha- b´etique.

3. Tester les fonctions d’agr´egation suivantes :

– SELECT MAX(annee) FROM films (maximum) – SELECT COUNT(idacteur) FROM roles (comptage)

– SELECT COUNT(DISTINCT idacteur) FROM roles (comptage) 4. Traduire en langage SQL puis tester les requˆetes suivantes :

– «Quel est le nombre de films dans la base de donn´ees cin´ema ?» – «En quel ann´ee est sorti le film le plus ancien ?»

– «Combien de films sont sortis apr`es 1975 ?»

– «Combien de films ont ´et´e r´ealis´es par Francis Ford Coppola ?» 5. Tester la fonction d’agr´egation suivante :

– SELECT COUNT(DISTINCT idfilm),annee FROM films GROUP BY annee 6. Traduire en langage SQL puis tester les requˆetes suivantes :

– «Quels sont les nombres de personnages incarn´es par chacun des acteurs ?» – «Quels sont les nombres de films r´ealis´es par chacun des r´ealisateurs ?» – «Quelle est le plus grand nombre de films r´ealis´es en une ann´ee ?» 7. Tester la fonction d’agr´egation suivante :

– SELECT annee FROM films GROUP BY annee HAVING COUNT(DISTINCT idfilm)>1 8. Traduire en langage SQL puis tester les requˆetes suivantes :

– «Quels sont les r´ealisateurs ayant r´ealis´e au moins deux films ?»

– «Quelle est l’ann´ee pendant laquelle sont sortis le plus grand nombre de films ?» – «Quel est l’acteur ayant incarn´e le plus de personnages ?»

www.emmanuelmorand.net 1/2 PTSI1516TpInfo08

(2)

PTSI - Travaux Pratiques d’informatique Consultation d’une base de donn´ees - Partie 2

R´ eponses

2. – SELECT prenomacteur||” ”||nomacteur from acteurs ORDER BY nomacteur – SELECT titre FROM films WHERE annee=1992 ORDER BY titre

4. – SELECT COUNT(DISTINCT idfilm) FROM films – SELECT MIN(annee) FROM films

– SELECT COUNT(DISTINCT idfilm) FROM films WHERE annee>1975

– SELECT COUNT(DISTINCT films.idfilm) FROM films,realisations,realisateurs WHERE films.idfilm=realisations.idfilm AND realisations.idrealisateur=realisateurs.idrealisateur AND prenomrealisateur=”Francis Ford” AND nomrealisateur=”Coppola”

6. – SELECT COUNT(DISTINCT personnage),prenomacteur||” ”||nomacteur FROM roles,acteurs WHERE roles.idacteur=acteurs.idacteur GROUP BY acteurs.idacteur

– SELECT COUNT(DISTINCT films.idfilm),prenomrealisateur||” ”||nomrealisateur FROM films,realisations,realisateurs WHERE films.idfilm=realisations.idfilm AND

realisations.idrealisateur=realisateurs.idrealisateur GROUP BY realisateurs.idrealisateur – SELECT MAX(nombrefilms) FROM (SELECT COUNT(DISTINCT idfilm) AS nombrefilms

FROM films GROUP BY annee)

8. – SELECT prenomrealisateur||” ”||nomrealisateur FROM realisations,realisateurs WHERE

realisations.idrealisateur=realisateurs.idrealisateur GROUP BY realisateurs.idrealisateur HAVING COUNT(DISTINCT idrealisation)>1

– SELECT annee FROM films GROUP BY annee HAVING COUNT(DISTINCT

idfilm)=(SELECT MAX(nombrefilms) FROM (SELECT COUNT(DISTINCT idfilm) AS nombrefilms FROM films GROUP BY annee))

– SELECT prenomacteur||” ”||nomacteur FROM roles,acteurs WHERE

roles.idacteur=acteurs.idacteur GROUP BY roles.idacteur HAVING COUNT(DISTINCT personnage)=(SELECT MAX(nombreroles) FROM (SELECT COUNT(DISTINCT personnage) AS nombreroles FROM roles,acteurs WHERE roles.idacteur=acteurs.idacteur GROUP BY roles.idacteur))

www.emmanuelmorand.net 2/2 PTSI1516TpInfo08

Références

Documents relatifs

• La jointure naturelle permet de "sur-informer" la clé étrangère de la première table : c’est-à- dire de faire entrer dans la première table tous les

To establish that Y14 and SOX9 proteins control alternative splicing of the same target genes in DLD-1 cells, we used RNA-seq to compare changes in splicing observed upon depletion

R8 : CALCULER LE NOMBRE D’INTERVENTION POUR METOUI MOUNIRA 1 ère SOLUTION :. SELECT COUNT( * ) AS NOMBRE_INTERVENTION FROM

- Afficher les noms et fonctions des salariés commerciaux ou ingénieurs select nomemploye , fonction from employe where. fonction in ('Commercial'

Here we show that Aedes aegypti, a laboratory mosquito strain selected with a bio- logical insecticide (Bacillus thuringiensis israelensis, Bti) evolved increased transcription of

DBHS proteins bind to clock promoter DNA and repress clock gene transcription 315. Since NONO can bind to circadian clock gene promotors in vivo (Fig 1, 2), it was logical

These elements are grouped into propositions that are: the software measurement literature is rich of useful count metrics; the Oc- cam’s razor principle defends counts;

As described above, the expression of CXCR3-A on leukocytes mediates their migration to the TME to exert their anti- and pro-tumoral activity; however, the CXCR3-A variant is also