Exercice 2 · Bac Numérique et Sciences Informatiques Asie 2022 (jour 1)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 1 (2022)
Énoncé
Thème abordé: bases de données
Un restaurant décide de créer son site de réservation en ligne pour son unique service du midi. Voici le schéma relationnel de la base de données imaginée par le concepteur du site. Elle est composée de 4 relations (tables):
plat(id_plat, nom_plat, type_plat, prix_plat)
table_salle(num_table, nb_couvert_table, type_table)
client(num_client, nom_client, prenom_client, date_naiss_client, mel_client, tel_client)
reservation(num_reserv, nb_pers_reserv, date_reserv, num_table, num_client)
Les chaînes de caractères dans cette base n'excèdent pas 100 caractères.
Le num_client et le num_reservation sont incrémentés automatiquement.
Voici un exemple possible d'enregistrement de la relation plat:
id_plat
nom_plat
type_plat
prix_plat
14
"brownie"
"Dessert"
6.35
Annexe 1: mémento SQL
Types de données:
Type · Description
CHAR(t) · Texte fixe de t caractères.
VARCHAR(t) · Texte de t caractères variables.
TEXT · Texte de 65 535 caractères max.
INT · Nombre entier de -2 31 à 2 31 -1 (signé) ou de 0 à 2 32 -1 (non signé)
FLOAT · Réel à virgule flottante
DATE · Date format AAAA-MM-JJ
DATETIME · Date et heure format AAAA-MM-JJHH:MI:SS
1. Etude du schéma relationnel
a.
Proposer pour chaque attribut de la relation plat son domaine (type), on pourra s'aider de l'annexe 1: mémento SQL.
b.
Pour chacune des 4 relations, écrire les noms des clés primaires pouvant être utilisées.
c.
Indiquer la ou les clés étrangères de la relation reservation. Préciser l'utilité d'une clé étrangère.
2. Recherche et modification d'informations dans la base de données
a.
Ecrire une requête SQL permettant d'afficher le nom des plats, leur type et leur prix.
b.
Ecrire une requête SQL permettant d'afficher les noms de tous les plats proposés par le restaurant qui sont des desserts.
c.
Les coordonnées d'un client ont été enregistrées:
num_client
nom_client
prenom_client
date_naiss_client
mel_client
tel_client
42
Martin
Fiona
1998-03-17
fmartin@laposte.net
"0605040302"
Ecrire la requête SQL permettant de modifier le numéro de téléphone de ce client en "0602030405".
d.
Ecrire la requête SQL permettant d'afficher le nom de tous les clients ayant déjà mangé à la table n°13.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1.a Domaine de l'attribut id_plat
Réponse : INT
1.a Domaine de l'attribut nom_plat
Réponse : VARCHAR(100)
1.a Domaine de l'attribut type_plat
Réponse : VARCHAR(100)
1.a Domaine de l'attribut prix_plat
Réponse : FLOAT
1.b Clé primaire de la relation plat
Réponse : id_plat
1.b Clé primaire de la relation table_salle
Réponse : num_table
1.b Clé primaire de la relation client
Réponse : num_client
Les réponses des 7 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 · Asie 2023 (jour 2) · Exercice 4 · Asie 2022 (jour 2) ›