- L3 MIASHS/Ingémath
- Université Paris Cité
- Année 2022-2023
- Course Homepage
- Moodle
Sur le serveur bd_2023
hébergé par etu-pgsql
, dans votre schéma personnel, créer les vues correspondant aux cinq questions suivantes.
Question 1
Schéma nycflights13
Créer dans votre schéma personnel une vue nommée cc2_vue_1
de schéma (n integer)
qui répond à la question : combien de vols sont arrivés avec un retard d’au moins une heure en partant à l’heure de l’aéroport JFK
?
CREATE OR REPLACE MATERIALZED VIEW foobar42.v_1 AS (
WITH A as (
SELECT * FROM nycflights13.flights AS f
WHERE f.origin = 'JFK'
AND f.arr_delay >= 60
AND f.dep_delay <= 0
SELECT COUNT(*)::integer AS n
) FROM A
);
Question 2
Schéma nycflights13
Créer dans votre schéma personnel une vue nommée cc2_vue_2
de schéma (n integer)
qui répond à la question : Combien de modèles différents ont été faits par la compagnie BOEING
?
CREATE OR REPLACE VIEW cc2_vue_2 AS (
SELECT COUNT(distinct model)::integer AS N
FROM nycflights13.planes
GROUP BY manufacturer
HAVING manufacturer = 'BOEING'
);
Question 3
Schéma babynames
Créer dans votre schéma personnel une vue nommée cc2_vue_3
de schéma (prenom TEXT)
qui répond à la question :
Quels sont les prénoms donnés durant toutes les décennies pour lesquelles la base de données comporte des informations, sans doublon, par ordre alphabétique.
844 lignes attendues (dont _PRENOMS_RARES
)
WITH decennie AS (
SELECT COUNT(DISTINCT annee/10) AS nb F
ROM bebes)SELECT DISTINCT prenom
FROM bebes
GROUP BY prenom
HAVING COUNT(DISTINCT annee/10)=(SELECT nb FROM decennie)
ORDER BY prenom ;
Question 4
Schéma ou babynames
Créer dans votre schéma personnel une vue nommée cc2_vue_4
de schéma (prenom, n_feminin, n_masculin)
qui contient les prénoms mixtes, c’est-à-dire les prénoms attribués plus de 5000 fois à des filles et à des garcons (MARIE
a été attribué 26897
fois à des petits garcons). n_feminin
représente le nombre total d’attributions du prénom à des filles et n_masculin
représente le nombre total d’attributions du prénom à des garcons.
Votre vue contiendra (entre autres) la ligne :
+---------+---------+----------+
|prenom |n_feminin|n_masculin|
+---------+---------+----------+
| ... | ... | ... |
|MARIE | 2232238| 26897|
| ... | ... | ... |
| ... | ... | ... |
Question 5
Schéma nycflights13
Créer dans votre schéma personnel une vue nommée cc2_vue_5
de schéma (name text)
qui répond à la question : Quelles sont les noms des destinations accessibles par un vol direct depuis toutes les origines ?
WITH r AS (
SELECT f.dest
FROM nycflights13.flights f
GROUP BY f.dest
HAVING COUNT(DISTINCT f.origin) >= ALL
SELECT COUNT(DISTINCT f2.origin)
(FROM nycflights13.flights f2 )
)SELECT a."name"::text
FROM nycflights13.airports a JOIN r ON (a.faa = r.dest) ;
42 lignes attendues