Examen Bases de données 2019-2020

POLYCOPIE_EXAMENS_BASEDEDONNEES.pdf

Télécharger PDF

Université Sultan Moulay Slimane Faculté des Sciences et TechniquesBéni-Mellal Département Informatique

Examen Final --- Bases de données 2019-2020

Veuillez répondre sur la feuille d’examen

Agence de voyage

Soit le schéma relationnel suivant qui représente la base de données d’une agence de voyage.

CLIENT (NumCli, Nom, Prénom, e-mail, Banque)

VOYAGE (RefVoyage, Destination, Durée, Prix)

RESERVATION (NumCli, RefVoyage, DateRes)

PARTIE CONCEPTION :

1. Donner le dictionnaire de données pour ce schéma.

Attribut Type Nature Designation Domaine
NumCli numérique Numéro du client
Nom Texte Nom du client
Prénom Texte Prénom du client
e-mail Texte Email du client
Banque Texte La banque du client
RefVoyage Numérique Référence des voyages
Destination Texte La destination d’un voyage
Durée Numérique La durée d’un voyage
Prix Numérique Le prix d’un voyage
DateRes Numérique La date de réservation

2. Donner le modèle conceptuel de données correspondant (MCD).

Client Voyage

réservé

3. Quelles sont les types d’associations et règles appliquées pour traduire ce MLD en MCD ?

2

Vu que nous avons une relation réservation avec les clés primaires des deux relations client et voyage, ainsi l’association entre ces deux entités est de type (n : n), ainsi la règle appliquée, l’association (n :n) donne naissance à une nouvelle table/relation dont la clé primaire est une clé composée des deux clés primaires des deux entités.

PARTIE REQUETES SQL:

Soit un extrait de la base de données ‘Agence de voyage’ sur MsAccess :

Table Client

NumCLi Nom Prénom e-mail Banque
Cli010 Raji Ahmed rajiahmd@gmail.com BMCE
Cli110 Raji Salma sal.raji@gmail.com BMCI
Cli120 Khalif Leila leilkhalif@gmail.com BMCE
Cli005 Badi Reda Redabai19@gmail.com BP

Table Voyage

RefVoyage Destination Durée (en jours) Prix (en dhs)
RefV1565 Istambul 5 5044
RefV124 Tunis 10 3015
RefV0278 Grenada 15 4000

Table Reservation

NumCli RefVoyage DateRes
Cli010 RefV0278 04/01/2020
Cli110 RefV124 05/01/2019
Cli120 RefV1565 04/01/2020
Cli005 RefV124 05/02/2019
Cli005 RefV1565 04/02/2020
Cli120 RefV124 05/02/2020
Cli120 RefV0278 04/01/2019

Exprimer les requêtes suivantes en langage SQL :

1. Insérer un nouveau voyage (RefV005, Montréal, 5, 8055)

INSERT INTO Voyage VALUES ('RefV005', 'Montréal', 5, 8055);

2. Ajouter une colonne ‘Tel’ de type numérique à la table Client

ALTER TABLE Client ADD Tel INT;

3. Donner la liste des voyages ayant une durée inférieure à 12 jours (le code SQL + résultat affiché)

SELECT * FROM Voyage WHERE Durée < 12;
RefVoyage Destination Durée (en jours) Prix (en dhs)
RefV1565 Istambul 5 5044
RefV124 Tunis 10 3015

4. Donner la liste des clients qui sont affiliés à la banque BMCE et BMCI (le code SQL + résultat affiché)

SELECT * FROM Client WHERE Banque IN ('BMCE', 'BMCI');
NumCLi Nom Prénom e-mail Banque
Cli010 Raji Ahmed rajiahmd@gmail.com BMCE
Cli110 Raji Salma sal.raji@gmail.com BMCI
Cli120 Khalif Leila leilkhalif@gmail.com BMCE

5. Donner le numéro des clients qui ont une réservation en cours (le code SQL + résultat affiché)

SELECT NumCli FROM Client WHERE NumCli IN (SELECT NumCli FROM Reservation);
NumCli RefVoyage DateRes
Cli010 RefV0278 04/01/2020
Cli120 RefV1565 04/01/2020
Cli005 RefV1565 04/02/2020
Cli120 RefV124 05/02/2020

6. Donner la destination et la durée du voyage du client ‘Cli120’ (le code SQL + résultat affiché)

SELECT Destination, Durée FROM Voyage WHERE RefVoyage IN (SELECT RefVoyage FROM Reservation WHERE NumCli = 'Cli120');
Destination Durée (en jours)
Istambul 5
Tunis 10
Grenada 15

7. Quel est le montant total des voyages du client ‘Cli120’ (le code SQL + résultat affiché)

SELECT SUM(Prix) AS 'Montant Total' FROM Voyage V, Reservation R WHERE V.RefVoyage = R.RefVoyage AND R.NumCli = 'Cli120';
Montant Total
12059

FAQ

1. Comment insérer un nouveau voyage dans la base de données ?

2. Comment ajouter une colonne à une table existante ?

3. Comment lister les voyages ayant une durée inférieure à 12 jours ?

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne