TD2 : Compréhension des opérations usuelles en BD
BD 1
Schéma relationnel
On suppose qu’on a le modèle relationnel suivant :
  - CLIENT(NumCltu>, Nom, Prenom, Adresse)
 
  - TVA(NumTx, Valeur)
 
  - PRODUIT(NumPrd, Designation, Type, PrixHT, QteStock, #NumTx)
 
  - FACTURE(NumFac, #NumClt, Total)
 
  - ACHAT(#NumFac, #NumPrd, Qte)
 
Notation des opérations
On peut stocker le résultat de chaque opération dans une variable
  - Restriction : Sélection (ou filtrage) des lignes d’une table vérifiant une condition
    
      - Clients dont le nom est 
"Jollois" : RESTRICT(CLIENT, Nom = "Jollois") 
    
   
  - Projection : Sélection de certaines colonnes de la table
    
      - Nom et prénom des clients : 
PROJECT(CLIENT, Nom, Prenom) 
    
   
  - Calcul : création d’une nouvelle colonne à partir d’autres colonnes de la table
    
      - Valeur (en € hors taxe) du stock pour chaque produit : 
PROJECT(PRODUIT, Valeur = PrixHT * QteStock) 
    
   
  - Agrégat : calcul d’une statistique soit sur l’ensemble d’une table, soit sur chaque regroupement de lignes selon un critère (une ou plusieurs colonnes)
    
      - Nombre de clients : 
AGREGAT(Client, nb = COUNT(*)) 
      - Nombre de produits par type : 
AGREGAT(Produit | Type, nb = COUNT(*)) 
    
   
  - Jointure : regroupement d’informations entre deux tables
    
      - Récupération du taux de TVA pour chaque produit : 
JOIN(PRODUIT, TVA) 
    
   
Questions
  - Produits de moins de 10 euros HT strictement.
 
  - Numéro de produit, désignation et prix TTC de chaque produit.
 
  - Produits achetés (avec leur quantité) par le client 28
 
  - Clients (numéro, nom et prénom) ayant au moins
    
      - 1 facture à leur nom,
 
      - 5 factures à leur nom.
 
    
   
  - Récupération des informations concernant la facture 121 (en 3 demandes)
    
      - Nom, prénom et adresse du client,
 
      - Liste des produits achetés (prix HT et TTC, quantité, taux TVA),
 
      - Montant total de la facture.
 
    
   
BD 2
Schéma relationnel
  - SERVICE(NumSrv, Denom)
 
  - EMPLOYE(NumEmp, Nom, Prenom, Adresse, Selxe, Salaire, Prime, #NumSrv)
 
  - PROJET(NumPrj, Libelle, #NumSrv)
 
  - TRAVAIL(#NumEmp, #NumPrj, NbH)
 
Questions
  - Liste des employés travaillant dans le service 
"Statistiques". 
  - Liste des employés ayant travaillés sur le projet 
"SICLA". 
  - Nom et prénom des employés avec le nombre de projets sur lesquels ils ont travaillés, et le nombre d’heures total travaillées.
 
  - Moyenne des salaires annuels pour chaque service (libellé + moyenne).
 
  - Libellé des projets pour lesquels l’employé 
"Destin" intervient. 
  - Liste des employés (nom, prénom, service) ayant travaillés sur un projet qui n’était pas de leur service.