N.S.I. WorkSpace T-Ev-EE,Terminale Evaluation sommative] (Devoir surveillé) Exercice tiré des annales du baccalauréat (et modifié) | Base de données

Evaluation sommative] (Devoir surveillé) Exercice tiré des annales du baccalauréat (et modifié) | Base de données

Categories:

Sujet

Corrigé (réponses attendues)

Les réponses données ci-dessous ne sont pas celles issues d’un corrigé officiel.

Question 1a – Nous savons qu’une clé primaire est un attribut ou un n-upplet d’attributs qui possède une valeur unique pour chacune des occurrences de la table.

Or on peut imager qu’un même client réserve deux fois ou plus la même chambre.

Donc le couple (NumClient, NumChambre) ne peut pas servir de clé primaire pour la relation Reservations puisqu’il y aurait alors plusieurs occurences pour lesquelles ce couple aurait les mêmes valeurs.

Question 1b – Une clé étrangère est un attribut dont les valeurs des occurrences font référence aux valeurs d’un attribut déclaré comme clé primaire dans une autre table.

Question 2a

SELECT Nom, Prenom FROM client;

Question 2b

SELECT Telephone FROM client WHERE Nom = 'Hopper' and Prenom = 'Grace';

Question 3

A une date donnée, une chambre est occupée si la date d’arrivée est supérieure ou égale à celle-ci ET la date de départ inférieure ou égale à celle-ci.
Par exemple :
– une chambre réservée du 2023/02/08 au 2023/02/10 est occupée à la date du 2023/02/09
– une chambre réservée du 2023/02/08 au 2023/02/10 est occupée à la date du 2023/02/08
– une chambre réservée du 2023/02/08 au 2023/02/10 est occupée à la date du 2023/02/10
– une chambre réservée du 2023/02/08 au 2023/02/10 est libre à la date du 2023/02/07
– une chambre réservée du 2023/02/08 au 2023/02/10 est libre à la date du 2023/02/11

En rouge, jour auquel on veut connaître les chambres occupées (marquées par une croix ‘x’).
SELECT NumChambre FROM reservation 
WHERE date(DateArr) >= date('2024-12-28') 
and date(DateDep) <= date('2024-12-28');

Question 4a

UPDATE chambre SET Prix = 75 WHERE NumChambre = 404;

Question 4b

SELECT NumChambre FROM reservation JOIN client 
ON reservation.NumClient = client.NumClient 
WHERE client.nom = 'Codd' and client.prenom = 'Edgar';

Question 4c – L’attribut ‘NumChambre’ de la table ‘reservation’ est une clé étrangère dont les valeurs font référence à celles de l’attribut ‘NumChambre’ de la table ‘chambre’.
La suppression de l’occurrence de la table ‘chambre’ pour laquelle l’attribut ‘NumChambre’ vaut 108 n’est pas possible sans doute parce qu’il existe au moins une occurrence de la table ‘reservation’ pour laquelle l’attribut ‘NumChambre’ possède la valeur 108.
Cette suppression est donc refusée pour maintenir l’intégrité référentielle de la base de données.

Article sous licence << Cliquez pour plus d’informations <<