SQL l'algèbre relatione, Exercises of Mathematics

complet cours session 1 semestre 2

Typology: Exercises

2020/2021

Uploaded on 04/03/2021

yassir-sadiq-elfilali
yassir-sadiq-elfilali 🇬🇧

5 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
UFR SEGMI
Année Universitaire 2009-2010
Science
éco
-
gestion et droits
S. Baarir
TD 1 :
algèbre relationnelle et
requêtes SQL de base.
Exercice 1.
Une maîtresse de maison veut construire une base de données sur les personnes qu’elle invite et
les plats qu’elle leur sert. Elle identifie pour cela les trois relations suivantes :
REPAS
,
dont le schéma est REPAS(INVITÉ , DATE) et qui contient la liste des invités reçus et
à quelle date.
MENU, dont le schéma est MENU (PLAT, DATE) et qui contient le menu servi à chaque date.
PRÉFÉRENCE, dont le schéma est PRÉFÉRENCE (PERSONNE, PLAT) donne et qui contient,
pour chaque personne, ses plats préférés.
Sachant que les attributs PERSONNE et INVITÉ ont le même domaine de valeurs, il est demandé de
réaliser les opérations relationnelles, dont les résultats sont :
1. Les invités du repas du 02/10/2009.
R1 = RESTRICTION
(DATE = #02/10/2009#)
(REPAS)
PROJECTION
(INVITÉ)
(R1)
2. Les dates auxquelles un « Bœuf Bourguignon » a été servi.
R1= RESTRICTION
(PLAT ="BŒUF BOURGUIGNO")
(MENU)
PROJECTION
(DATE)
(R1)
3. Les plats préférés de « Mme Machine ».
R1 = RESTRICTION
(PERSONNE ="MME MACHINE")
(PRÉFÉRENCE)
PROJECTION
(PLAT)
(R1)
4. Les plats qui ont été servis à « Mr Machin ».
R1 = PRODUIT(REPAS,MENU) ;
R2 = RESTRICTION
(INVITE ="MR MACHIN" ET REPAS.DATE = MENU.DATE)
(R1) ;
PROJECTION
(PLAT)
(R2) ;
OU
R1 = JOINTURE
(REPAS.DATE =MENU.DATE)
(REPAS,MENU) ;
R2 = RESTRICTION
(INVITE ="MR MACHIN")
(R1);
pf3
pf4

Partial preview of the text

Download SQL l'algèbre relatione and more Exercises Mathematics in PDF only on Docsity!

UFR SEGMI Année Universitaire 2009- Science éco-gestion et droits S. Baarir

TD 1 :

algèbre relationnelle et

requêtes SQL de base.

Exercice 1.

Une maîtresse de maison veut construire une base de données sur les personnes qu’elle invite et les plats qu’elle leur sert. Elle identifie pour cela les trois relations suivantes :

  • REPAS , dont le schéma est REPAS(INVITÉ , DATE) et qui contient la liste des invités reçus et à quelle date.
  • MENU, dont le schéma est MENU (PLAT, DATE) et qui contient le menu servi à chaque date.
  • PRÉFÉRENCE, dont le schéma est PRÉFÉRENCE (PERSONNE, PLAT) donne et qui contient, pour chaque personne, ses plats préférés.

Sachant que les attributs PERSONNE et INVITÉ ont le même domaine de valeurs, il est demandé de réaliser les opérations relationnelles, dont les résultats sont :

  1. Les invités du repas du 02/10/2009.
    • R1 = RESTRICTION(DATE = #02/10/2009#)(REPAS)

PROJECTION(INVITÉ) (R1)

  1. Les dates auxquelles un « Bœuf Bourguignon » a été servi.
    • R1= RESTRICTION(PLAT ="BŒUF BOURGUIGNO")(MENU)

PROJECTION(DATE) (R1)

  1. Les plats préférés de « Mme Machine ».
    • R1 = RESTRICTION(PERSONNE ="MME MACHINE")(PRÉFÉRENCE)

PROJECTION(PLAT) (R1)

  1. Les plats qui ont été servis à « Mr Machin ».
    • R1 = PRODUIT(REPAS,MENU) ; R2 = RESTRICTION(INVITE ="MR MACHIN" ET REPAS.DATE = MENU.DATE) (R1) ; PROJECTION(PLAT) (R2) ; OU
    • R1 = JOINTURE(REPAS.DATE =MENU.DATE)(REPAS,MENU) ; R2 = RESTRICTION(INVITE ="MR MACHIN")(R1);

PROJECTION(PLAT) (R2);

  1. Les personnes invités qui ont été servi par leurs plats préférés.
    • R1 = JOINTURE (^) (REPAS.DATE = MENU.DATE) (REPAS, MENU) ; R2 = JOINTURE (^) (PRÉFÉRENCE.PLAT = MENU.PLAT ET PRÉFÉRENCE.PERSONNE=REPAS.INVITE) (PRÉFÉRENCE,R1) ; PROJECTION(PERSONNE) (R2) ;
  2. Les personnes qui n’ont jamais été invité.
    • R1 = PROJECTION (^) (PERSONNE) (PREFERENCE) ; R2 = PROJECTION (INVITE) (REPAS) ;

DIFFERENCE (R1, R2) ;

  1. Les invités qui ont assisté à tous les repas.
    • R1 = DIVISION(REPAS, PROJECTION (^) (DATE) (MENU))

Exercice 2.

Pour réaliser la base de données d’une société de redistributions de produits, nous avons pu identifier les relations suivantes :

  • FOURNISSEUR, dont le schéma est FOURNISSEUR (N°SIRET, NOM, ADRESSE, VILLE), et qui contient le numéro de Siret du fournisseur, son nom, son adresse et la ville d’installation.
  • PRODUIT, dont le schéma est PRODUIT (N°PROD, DESIGNATION, PRIX, POIDS, COULEUR), et qui contient le numéro du produit, sa désignation, son prix, son poids et sa couleur.
  • COMMANDE, dont le schéma est COMMANDE (N°COMM, RÉF SIRET, RÉF PROD, QUANTITÉ) et qui recensent le numéro de la commande, le numéro du fournisseur (à qui elle est passée), le numéro du produit commandé et la quantité commandé.

Il est demandé de réaliser les opérations relationnelles, dont les résultats sont :

  1. La désignation des produits pesant plus de 5 Kilos.
    • R1 = RESTRICTION(PRIX > 5 )(PRODUIT)

PROJECTION(DESIGNATION) (R1)

  1. Les noms des fournisseurs auprès desquels la société a eu des commandes.
    • R1 = JOINTURE (^) (RÉF SIRET = N° SIRET) (COMMANDE , FOURNISSEUR) ; PROJECTION(NOM) (R1)
  • Pour l’exercice 2 :
    1. SELECT DESIGNATION FROM PRODUIT WHERE POIDS > 5
    2. SELECT NOM FROM FOURNISSEUR INNER JOIN COMMANDE ON FOURNISSEUR.N°SIRET = COMMANDE.[REF SIRET]
    3. SELECT NOM, QUANTITE FROM (PRODUIT INNER JOIN (COMMANDE INNER JOIN FOURNISSEUR ON FOURNISSEUR.N°SIRET = COMMANDE.[REF SIRET]) ON PRODUIT.N°PROD = COMMANDE.[REF PROD]) WHERE DESIGNATION ="armoires"