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.

Énoncé: Exercice 2 · Bac Numérique et Sciences Informatiques Asie 2022 (jour 1)

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) ›

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