Exercice 3 - Partie A : Bases de données relation… · Bac Numérique et Sciences Informatiques Asie 2025 (jour 2)

Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 2 (2025)

Énoncé

EXERCICE 3 (8 points)

Cet exercice porte sur la programmation Python (dictionnaire, récursivité, spécification), la programmation orientée objet, les bases de données relationnelles, les requêtes SQL et les arbres binaires.

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

Partie A

Dans cette partie, on s'intéresse à la gestion de la base de données d'un hôpital. On pourra utiliser les mots-clés SQL suivants: AND, FROM, INSERT, INTO, JOIN, ON, SELECT, SET, UPDATE, VALUES, WHERE. On utilisera également la fonction d'agrégation COUNT qui renvoie le nombre d'enregistrements correspondant à une requête.

La table Patient possède les attributs suivants:

nom_patient de type TEXT (clé primaire);

prenom de type TEXT;

numero_secu de type INT;

age de type INT.

La table Symptome possède les attributs suivants:

nom_patient de type TEXT (clé primaire et clé étrangère);

toux de type TEXT;

fievre de type TEXT;

nausee de type TEXT;

anosmie de type TEXT.

1.

Écrire une requête SQL permettant d'obtenir les noms et prénoms des patients ayant strictement plus de 60 ans.

2.

Alice Heartman ne tousse plus. Écrire une requête SQL permettant de mettre à jour la base de données avec cette information.

3.

On souhaite effectuer des statistiques sur les symptômes des patients atteints de Covid-19. Écrire une requête SQL permettant de connaître le nombre de patients avec un diagnostic de Covid-19 qui toussent.

Un employé de l'hôpital saisit la requête suivante:

INSERT INTO Patients VALUES ('Douglas', 'Patrick', 168077230253829, 55) 4.

Expliquer pourquoi cette requête produit une erreur.

5.

Proposer une modification du schéma relationnel qui permettrait de résoudre ce problème.

Énoncé: Exercice 3 - Partie A : Bases de données relation… · Bac Numérique et Sciences Informatiques Asie 2025 (jour 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Écrire une requête SQL permettant d'obtenir les noms et prénoms des patients ayant strictement plus de 60 ans.

Réponse : ```sql SELECT nom_patient, prenom FROM Patient WHERE age > 60; ```

2. Alice Heartman ne tousse plus. Écrire une requête SQL permettant de mettre à jour la base de données avec cette information.

Réponse : ```sql UPDATE Symptome SET toux = 'Non' WHERE nom_patient = 'Heartman'; ```

3. On souhaite effectuer des statistiques sur les symptômes des patients atteints de Covid-19. Écrire une requête SQL permettant de connaître le nombre de patients avec un diagnostic de Covid-19 qui toussent.

Réponse : ```sql SELECT COUNT(*) FROM Diagnostic JOIN Symptome ON Diagnostic.nom_patient = Symptome.nom_patient WHERE nom_maladie = 'Covid-19' AND toux = 'Oui'; ```

Les réponses des 2 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 · Asie jour 1 - Remplacement 2025 · Exercice 3 - Partie B · Asie 2024 (jour 1) ›

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