Vous êtes sur la page 1sur 15

Informatique 4

TD
Série d’exercice 3
Algèbre Relationnelle
La restriction ou la sélection

ou R[C] qu’on lit la restriction de R sur la condition C, est une relation ayant les mêmes
attributs que R et qui contient tous les tuples de R qui vérifient la condition C.
N.B: La restriction est une relation unaire qui sélectionne certaines lignes d’une
relation donnée.

La projection
ou R[P] qu’on lit la projection de R sur les attributs P, est une relation ayant comme
attributs P et qui contient tous les tuples de R tronqués aux attributs P avec
élimination des éventuels doublons.
N.B: la projection est une opération unaire qui sélectionne certaines colonnes
d’une relation donnée.
Jointure (⊲⊳)

R ⊲⊳S qu’on lit la jointure de R et de S sur la condition C, est une relation ayant comme
C
attributs la concaténation des attributs de R et de S et qui contient l’ensemble de toutes
les combinaisons des tuples de R avec ceux de S mais ne garde que les combinaisons qui
vérifient la condition C.

• Opération binaire qui ressemble à un produit cartésien

• Garde seulement les combinaisons de tuples compatibles

• Compatibles ⇔ Vérifie la condition de la jointure

• Utilisée lorsque les données sont éparpillées à travers plusieurs tables

• Généralement, la condition est une égalité entre une clé primaire et une clé étrangère
Exemple
Exercice 2

F(Fno, Fnom, Capitale, Ville)


M( Mno, Mnom, Couleur)
FM ( #Fno, #Mno, Qté, Ville)
Où: F= Fournisseur, M= Marchandise, FM= Fournisseur- Marchandise

Requête1:

• R1 = M[Mnom= ‘Chaise’ et couleur= ‘marron’]


Elle donne la marchandise dont le nom est Chaise et la couleur est marron

• R2= R1[Mno]FM
La jointure de R1 et FM sur la condition R1.Mno=FM. Mno

• R3= R2[Fno, Qté]


Elle donne le numéro de fournisseur ainsi que la quantité de chaises marrons qu’il
a fourni.
Requête2:

• R1 = F[Ville= ‘Constantine’]
Elle donne les fournisseurs de Constantine .

• R2 = FM[Mno=100]
Elle donne la marchandise avec le numéro est 100

• R3 = R1[Fno]R2
La jointure de R1 et R2 sur la condition R1.Fno=R2. Fno: les fournisseurs de Constantine
qui sont concernés par la marchandise 100.

• R4= R3[Qté]
Elle donne la quantité de marchandise de numéro est 100 fournie par les fournisseurs de
Constantine.
Requête3:

• R1 = F[Fnom=’Ali’]
Elle donne les fournisseurs avec le nom est Ali.

• R2 = R1[Fno]
Elle donne le numéro de fournisseurs avec le nom est Ali.

• R3 = FM[Fno, Mno]
Sélectionner le numéro fournisseur et numéro de marchandise de la table FM

• R4 = R3[Fno]R2
La jointure de R3 et R2 sur la condition R3.Fno=R2. Fno

• Res = R4[ Mno]


Elle donne le numéro de marchandise du fournisseur qui s’appelle Ali
Exercice 3

FOURNISSEUR (N°Série, Nom, Adresse, Ville)

PRODUIT (N°Prod, Designation, Prix, Poids, Couleur)

COMMANDE (N°Comm, #Réf_Série, #Réf_Prod, Quantité)

1) La désignation des produits pesant plus de 5 Kilos


2) Les noms des fournisseurs auprès desquels la société a eu des commandes

𝑅1 = 𝐹𝑜𝑢𝑟𝑛𝑖𝑠𝑠𝑒𝑢𝑟 ⊲⊳ 𝐶𝑜𝑚𝑚𝑎𝑛𝑑𝑒
𝐹𝑜𝑢𝑟𝑛𝑖𝑠𝑠𝑒𝑢𝑟. N°Série = 𝐶𝑜𝑚𝑚𝑎𝑛𝑑𝑒. Ré𝑓_𝑆é𝑟𝑖𝑒
3) Les quantités des « armoires » et les noms de leurs fournisseurs, commandées
par la société

𝑅1 = 𝐹𝑜𝑢𝑟𝑛𝑖𝑠𝑠𝑒𝑢𝑟 ⊲⊳ 𝐶𝑜𝑚𝑚𝑎𝑛𝑑𝑒
𝐹𝑜𝑢𝑟𝑛𝑖𝑠𝑠𝑒𝑢𝑟. N°Série = 𝐶𝑜𝑚𝑚𝑎𝑛𝑑𝑒. Ré𝑓_𝑆é𝑟𝑖𝑒

𝑅2 = 𝑅1 ⊲⊳ 𝑃𝑟𝑜𝑑𝑢𝑖𝑡
𝑅1. 𝑅é𝑓_𝑃𝑟𝑜𝑑 = 𝑃𝑟𝑜𝑑𝑢𝑖𝑡. N°𝑃𝑟𝑜𝑑

𝑅 4=𝜋 𝑁𝑜𝑚, 𝑄𝑢𝑎𝑛𝑡𝑖𝑡 é (𝑅3 )


Exercice 4

Emprunt(Personne, Livre, DateEmprunt, DateRetourPrevue, DateRetourEffective)


Retard( Personne, Livre, DateEmprunt, PenalitéRetard)

1. Quelles sont les personnes ayant emprunté le livre "Recueil Examens BD" ?

𝑅2 = 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 ( 𝑅1 )

2. Quelles sont les personnes n'ayant jamais rendu de livre en retard ?

𝑅3 =𝑅1 − 𝑅 2
3. Quelles sont les personnes ayant emprunté tous les livres (empruntés au moins
une fois) ?

𝑅1= 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 , 𝐿𝑖𝑣𝑟𝑒 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 )


𝑅2 =𝜋 𝐿𝑖𝑣𝑟𝑒 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 )
𝑅3 =𝑅1 ÷ 𝑅2
4. Quels sont les livres ayant été empruntés par tout le monde (i.e. tous les emprunteurs) ?

𝑅1= 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 , 𝐿𝑖𝑣𝑟𝑒 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 )


𝑅2 =𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 )
𝑅3 =𝑅1 ÷ 𝑅2
5. Quelles sont les personnes ayant toujours rendu en retard les livres qu'elles ont
empruntés?
Ou bien
Quelles sont les personnes qui n'ont jamais rendu de livre à temps ?

𝑅1= 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 [ 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 , 𝐿𝑖𝑣𝑟𝑒 , 𝐷𝑎𝑡𝑒𝐸𝑚𝑝𝑟𝑢𝑛𝑡 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 ) − 𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 , 𝐿𝑖𝑣𝑟𝑒, 𝐷𝑎𝑡𝑒𝐸𝑚𝑝𝑟𝑢𝑛𝑡 ( 𝑅𝑒𝑡𝑎𝑟𝑑 ) ]

𝑅2 =𝜋 𝑃𝑒𝑟𝑠𝑜𝑛𝑛𝑒 ( 𝐸𝑚𝑝𝑟𝑢𝑛𝑡 ) − 𝑅 1
; // Tous les Emprunts
; // Tous les retards

; // Emprunts rendus à temps


; // Personnes ayant rendu au moins un livre à temps
; // Toutes les personnes ayant emprunté un livre

; // Personnes n’ayant jamais rendu un livre à temps

Vous aimerez peut-être aussi