Exercice 3 - Partie C : Exploitation de la base d… · Bac Numérique et Sciences Informatiques Métropole 2 remplacement 2024

Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Métropole France 2 remplacement (2024)

Énoncé

EXERCICE 3 (8 points)

Cet exercice porte sur les réseaux, les protocoles réseau, les bases de données relationnelles et les requêtes SQL.

Cet exercice est composé de 3 parties indépendantes.

La société LUDOJUV est spécialisée dans la production et la distribution de magazines ludiques et pédagogiques destinés aux enfants.

L'entreprise étant répartie sur plusieurs bâtiments, son réseau peut être schématisé de la manière suivante:

Partie C: Exploitation de la base de données

Une base de données relationnelle est utilisée pour suivre la création et l'impression des magazines produits par LUDOJUV. Sa description est la suivante:

• parution ( num_parution, titre_parution, redacteur, date_parution)

• page ( id_page, numero, mise_en_forme, #num_parution)

• texte ( num_texte, titre_texte, descriptif, nombre_lignes)

• image ( num_image, titre_image, descriptif, largeur, hauteur, poids)

• comporte_texte ( #num_texte, #id_page)

• comporte_image ( #num_image, #id_page)

Remarques:

l'attribut ou l'association d'attributs en gras est une clé primaire de la relation;

les attributs précédés du symbole dièse (#) sont des clés étrangères;

l'attribut mise_en_forme dans page désigne la police du texte et sa taille;

l'attribut nombre_lignes dans texte désigne le nombre de lignes dans un texte;

l'attribut poids dans image est un nombre entier qui désigne la taille de l'image sur le disque dur, exprimée en kilooctets;

on rappelle que rajouter une clause ORDER BY expression à une requête permet de renvoyer ses résultats dans l'ordre croissant de la valeur expression;

il est possible de tester si le motif MOTIF apparaît dans une chaîne à l'aide de l'opérateur LIKE. Ainsi attribut LIKE "%NSI%" teste si les valeurs de attribut contiennent le motif NSI.

11.

Écrire une requête SQL permettant d'obtenir la liste de tous les titres parus.

12.

Indiquer quelles informations sont renvoyées par la requête suivante:

SELECT num_parution, numero FROM page WHERE mise_en_forme = 'Arial,12' ORDER BY num_parution;

13.

Écrire une requête SQL permettant d'obtenir la liste (avec numéro, titre et poids) des images dont le poids est supérieur à 1000 kilooctets.

14.

Indiquer quelles informations sont renvoyées par la requête suivante:

SELECT num_parution

FROM parution

JOIN page ON parution.num_parution=page.num_parution

JOIN comporte_image ON comporte_image.id_page=page.id_page

JOIN image ON image.num_image=comporte_image.num_image

WHERE titre_image LIKE '%Appolo%';

15.

Indiquer quel sera l'effet de la requête suivante:

INSERT INTO image

VALUES (2923, 'Volcans du massif central', '', 400, 400, 1430);

16.

Écrire une requête SQL permettant d'ajouter les informations sur le texte suivant:

numéro de texte: 2754

titre: “Vulcania”

descriptif: “Parc d’attraction”

nombre de lignes: 250

17.

Indiquer quel sera l'effet de la requête suivante si la relation comporte_texte ne contient aucune référence au texte concerné:

DELETE FROM texte WHERE num_texte = 2034;

18.

Écrire une requête SQL permettant de supprimer les éventuelles références au texte numéro 2034 dans la relation comporte_texte.

Énoncé: Exercice 3 - Partie C : Exploitation de la base d… · Bac Numérique et Sciences Informatiques Métropole 2 remplacement 2024

Corrigé

Corrigé proposé par AprenAI (non officiel)

11. Écrire une requête SQL permettant d'obtenir la liste de tous les titres parus.

Réponse : ```sql SELECT titre_parution FROM parution; ```

12. Indiquer quelles informations sont renvoyées par la requête suivante : SELECT num_parution, numero FROM page WHERE mise_en_forme = 'Arial,12' ORDER BY num_parution;

Réponse : La requête renvoie le numéro de parution (`num_parution`) et le numéro de page (`numero`) pour toutes les pages dont la mise en forme utilise la police Arial de taille 12 (`mise_en_forme = 'Arial,12'`), triées par ordre croissant de numéro de parution.

13. Écrire une requête SQL permettant d'obtenir la liste (avec numéro, titre et poids) des images dont le poids est supérieur à 1000 kilooctets.

Réponse : ```sql SELECT num_image, titre_image, poids FROM image WHERE poids > 1000; ```

14. Indiquer quelles informations sont renvoyées par la requête suivante : SELECT num_parution FROM parution JOIN page ON parution.num_parution=page.num_parution JOIN comporte_image ON comporte_image.id_page=page.id_page JOIN image ON image.num_image=comporte_image.num_image WHERE titre_image LIKE '%Appolo%';

Réponse : La requête renvoie les numéros des parutions (`num_parution`) qui contiennent au moins une page comportant une image dont le titre contient la chaîne de caractères « Appolo ».

Les réponses des 4 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice 1 - Partie A · Métropole 2024 (sujet 2) · Exercice 1 · Métropole 2023 (sujet 1) ›

Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL