Exercice 1 · Bac Numérique et Sciences Informatiques Amérique du Sud 2022 (jour 1)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 1 (2022)
Énoncé
Exercice 1 (4 points)
Cet exercice porte sur les bases de données.
Le service maternité d'un hôpital utilise une base de données pour gérer les informations concernant les naissances qui y ont lieu.
Le schéma relationnel de cette base de données est le suivant:
Dans la relation Naissances:
la clé étrangère idMere fait référence à la clé primaire numPatiente de la relation Patientes;
la clé étrangère acc fait référence à la clé primaire idAcc de la relation TypesAccouchement. Il permet de savoir si la patiente a accouché par voie naturelle ou par césarienne;
l'attribut rang indique le rang de naissance du bébé dans le mois. Il recommence donc à 1 au début de chaque nouveau mois;
l'attribut poids est exprimé en grammes et l'attribut taille en centimètres.
Dans cet exercice, on pourra utiliser les mots clés suivants du langage SQL:
SELECT, DELETE, FROM, WHERE, JOIN, INSERT, UPDATE, MIN, MAX, AVG.
Les fonctions d'agrégation MIN(att), MAX(att) et AVG(att) renvoient respectivement la plus petite valeur, la plus grande valeur et la valeur moyenne de l'attribut att pour les enregistrements sélectionnés. Ainsi la requête SELECT MIN(taille) FROM Naissances renvoie la plus petite valeur de l'attribut taille de la table Naissances.
On donne ci-après des extraits des tables renvoyées par certaines requêtes SQL.
date · rang · idMere · nom · prenom · poids · taille · acc
... ·... ·... ·... ·... ·... ·... ·...
28/02/2022 · 263 · 13 857 · Berthelot · Maïssa · 3305 · 50 · 1
28/02/2022 · 264 · 13 858 · Samson · Pauline · 3650 · 52 · 1
28/02/2022 · 265 · 13 859 · Perrin · Jonathan · 3720 · 52 · 2
01/03/2022 · 1 · 13 860 · Fernandez · Lorette · 3350 · 51 · 2
01/03/2022 · 2 · 13 861 · Baugé · Juliette · 2870 · 48 · 1
01/03/2022 · 3 · 13 861 · Baugé · Noé · 2985 · 49 · 1
numPatiente · nom · prenom · commune
... ·... ·... ·...
13 857 · Berthelot · Michelle · Aigrefeuille d'Aunis
13 858 · Samson · Marine · Nieul sur Mer
13 859 · Perrin · Patricia · La Rochelle
13 860 · Fernandez · Claire · Aytré
13 861 · Baugé · Gaëlle · Lagord
libelleAcc
voie naturelle
césarienne
1.
Indiquer, pour chacune des propositions suivantes, si elles peuvent être ou non clé primaire de la relation Naissances. Justifier chaque réponse.
2.
Pourquoi la requête ci-dessous provoque-t-elle une erreur ?
DELETE FROM Patientes WHERE numPatiente = 13858;
3.
Donner en langage SQL la requête d'insertion qui permet d'inscrire, avec le numéro 13862, la patiente dénommée Ninette Bélanger résidant à La Rochelle.
4.
Dans l'extrait de la table fourni, on constate qu'une erreur a été commise lors de la saisie du prénom du bébé de madame Fernandez. La bonne orthographe est Laurette. Donner en langage SQL l'instruction à exécuter pour corriger le prénom du bébé.
5.
Écrire une requête SQL qui renvoie la liste des patientes (attributs nom et prenom) dont la commune de résidence est Aigrefeuille d'Aunis.
6.
Écrire une requête SQL qui renvoie le poids moyen des bébés nés par césarienne.
7.
Quels sont les enregistrements renvoyés par la requête suivante lancée sur les extraits donnés des tables ?
SELECT Patientes.nom, Patientes.prenom
FROM Naissances
JOIN TypesAccouchement
ON Naissances.acc=TypesAccouchement.idAcc
JOIN Patientes
ON Naissances.idMere=Patientes.numPatiente
WHERE TypesAccouchement.idAcc = 1;

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. a. id_mere peut-il être clé primaire de Naissances ?
Réponse : Non
1. b. (date, rang) peut-il être clé primaire de Naissances ?
Réponse : Oui
1. c. (poids, taille) peut-il être clé primaire de Naissances ?
Réponse : Non
2. Pourquoi la requête DELETE FROM Patientes WHERE numPatiente = 13858; provoque-t-elle une erreur ?
Réponse : Violation de la contrainte d'intégrité référentielle : numPatiente = 13858 est référencé par la clé étrangère idMere dans la relation Naissances.
3. Donner en langage SQL la requête d'insertion qui permet d'inscrire, avec le numéro 13862, la patiente dénommée Ninette Bélanger résidant à La Rochelle.
Réponse : ```sql INSERT INTO Patientes (numPatiente, nom, prenom, commune) VALUES (13862, 'Bélanger', 'Ninette', 'La Rochelle'); ```
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 2 - Partie B : Base de données · Amérique du Sud 2023 (jour 2) · Exercice 3 · Amérique du Sud 2022 (jour 2) ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 1 - Partie A · Amérique du Sud 2025 (jour 1)
- Exercice 1 - Bases de données relationnelles et S… · Amérique du Sud 2025 (jour 2)
- Exercice 1 - Partie B · Amérique du Sud 2023 (jour 1)
- Exercice 2 - Partie B : Base de données · Amérique du Sud 2023 (jour 2)
- Exercice 3 · Amérique du Sud 2022 (jour 2)