• Aucun résultat trouvé

Opérateurs Unaires

N/A
N/A
Protected

Academic year: 2022

Partager "Opérateurs Unaires"

Copied!
69
0
0

Texte intégral

(1)

Alg Alg è è bre Relationnelle bre Relationnelle

(2)

Plan Plan

Introduction

Opérateurs Unaires

Opérateurs Binaires

Exemples d’utilisation

Conclusion

(3)

D D é é finition finition

Inventée par Codd, l’algèbre relationnelle est un langage simple qui permet d'exprimer des requêtes sur une base de données relationnelle

Elle définit plusieurs opérations pour manipuler des relations Ces opérations permettent d'exprimer toutes les requêtes

sous forme d'expressions algébriques Elles sont la base du langage SQL

L’application d’un opérateur sur un ensemble de relations

donne une relation finale (résultat de la requête)

(4)

Sch Sch é é ma utilis ma utilis é é

Client (N°, Nom Client, Téléphone)

Article (N° Article,Description, P.U., Quantité)

Commande (N° Com, Date, N° Client )

Détail commande (N° Com, N° Article, Quantité)

(5)

Op Op é é rateurs relationnels rateurs relationnels

L’algèbre relationnelle utilise deux types d'opérateurs

Opérateurs unaires qui portent en entrée sur UNE relation

Projection (π)

Sélection ou Restriction (σ)

Complément (Not)

(6)

Op Op é é rateurs relationnels rateurs relationnels

L’algèbre relationnelle utilise deux types d’opérateurs

Opérateurs binaires qui portent en entrée sur DEUX relations

l’union (∪)

l’intersection (∩) la différence (-) la division (÷)

le produit cartésien (X) Jointures ( )

– Composition du X et d'une sélection

Théorie des ensembles

homme

(7)

Projection (

Projection ( π π π π π π π π )))) ))))

Définition

Elle consiste à garder d'une relation R certains attributs désirés

Elle permet de supprimer

des colonnes non désirées

des tuples en double (résultat de

suppression des attributs identifiants)

Le degré k de la relation résultat est

(8)

Projection (

Projection ( π π π π π π π π )))) ))))

Notation

A 1 , A 2 , …A k

Résultat

R

Résultat = π A

1

, A

2

, …A

k

(R)

Graphique

Résultat = Project ( R /

A1, A2, …Ak

)

Résultat = R(

A , A, …A

)

(9)

Projection (

Projection ( π π π π π π π π )))) ))))

Exemple

Afficher les numéros client et les dates des commandes

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N ° Client Date

N ° Com

Table Commande

05/07/2000 10

02/06/2000 10

02/06/2000 20

01/06/2000 10

Date N ° Client

π N°Client , Date ( Commande )

(10)

S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))

Définition

Elle Permet d'extraire d'une relation R les tuples qui satisfont une condition Q

la relation résultat a la même structure que la relation initiale R

Elle permet de supprimer

des tuples non désirées

Le degré k de la relation résultat est égal au degré n de R

Elle est appelée Restriction également

(11)

S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))

Définition

La condition Q peut être composée d'une ou de plusieurs comparaisons

Une comparaison peut s'effectuer entre un attribut A i de la relation R

Et une constante a Et un autre attribut A j

La comparaison s'écrit Ai9[a|A j ]

Où 9 ∈

– =, !=, <>, ^=, <, >, ≤, ≥ – between

– in

(12)

S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))

Définition

Pour faire une condition Q composée de plusieurs comparaisons, on peut utiliser

Les opérateurs logiques : and, or ou not

– Not placé devant un prédicat en inverse le sens

– And est prioritaire devant or

(13)

S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))

Notation

Résultat

R

Résultat = σ σ σ σ σ σ σ σ condition (R)

condition

Graphique

Résultat = R[condition]

Résultat = Restrict [condition]

(14)

S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))

Exemple

Trouver les commandes passées au mois de juin 2000

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Client N°Com Date

Table Commande

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Client N°Com Date

σ Date >= 1/6/2000 AND Date < 1/7/2000 ( Commande )

(15)

Compl

Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)

Définition

Elle consiste à construire une relation résultat de tuples qui n'appartiennent pas à une relation R

Elle exige que les domaines (valeurs

acceptées) soient finis

(16)

Compl

Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)

Notation

NOT

Résultat

R

Résultat = ΝΟΤ (R)

Graphique

(17)

Compl

Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)

Exemple

5 4

2 2

5 1

1 1

B A

Table R

2 4

1 4

5 2

1 2

2 1

B A

Table NOT( R)

(18)

Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))

Définition

Elle permet d'exprimer une négation (je veux rejeter, je ne veux pas, etc.)

Elle consiste à créer une relation comprenant tous les tuples de R qui n'existent pas dans S Elle exige que les relations R et S aient le même schéma (même nombres, noms et types

d'attributs)

Elle n'est pas commutative

(19)

Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))

Notation

Résultat

R

Résultat = R − − − − − − − − S

− −

S

Graphique

Résultat = MINUS (R, S)

(20)

Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))

Exemple

2 2

1 1

B A

Table R

3 3

2 2

B A

Table S

1 1

B A

Table R − − − − − − − − S

3 3

B A

Table S-R

(21)

Union (

Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))

Définition

Elle consiste à créer une relation comprenant tous les tuples existant dans R ou S

Elle exige que les relations R et S aient le même schéma (même nombres, noms et types

d'attributs)

Elle est commutative

Elle supprime les doublons

(22)

Union (

Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))

Notation

Résultat

R

Résultat = R ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ S

∪ ∪

∪ ∪

S

Résultat = UNION (R, S)

Graphique

(23)

Union (

Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))

Exemple

2 2

1 1

B A

Table R

3 3

2 2

B A

Table S

1 1

B A

Table R ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ S

(24)

Intersection (

Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))

Définition

Elle consiste à créer une relation comprenant tous les tuples existant dans R et S

Elle exige que les relations R et S aient le même schéma (même nombres, noms et types

d'attributs)

Elle est commutative

Elle peut être exprimée par

R ∩ S = R-(R-S) = S-(S-R)

(25)

Intersection (

Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))

Notation

Résultat

R

Résultat = R ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ S

∩ ∩

∩ ∩

S

Graphique

Résultat = INTERSECT(R,S)

(26)

Intersection (

Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))

Exemple

2 2

1 1

B A

Table R

3 3

2 2

B A

Table S

2 2

B A

Table R ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ S

(27)

Division (

Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )

Définition

Elle consiste à diviser une relation R par une relation S contenant exclusivement des

attributs de R

Elle est utile pour répondre aux requêtes de type:

commande (noC,noP,... ), catalogue (noP,...)

Quels sont les clients qui ont commandé tous les produits ?

Elle n'est pas commutative

Elle peut être exprimée par

(28)

Division (

Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )

Notation

Résultat

R

Résultat = R ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ S

÷

÷

÷

÷ ÷

÷

÷

÷

S

Graphique

Résultat = Division(R,S)

(29)

Division (

Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )

Exemple

3 A

2 D

3 D

2 C

2 B

2 A

Col 2 Col 1

Table R

D A Col 1 Table S

Table R ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ S

(30)

Produit Cart

Produit Cart é é sien (X) sien (X)

Définition

Elle permet de créer à partir de deux relations R et S une nouvelle relation où chaque tuple de R est associé à chaque tuple de S

La cardinalité (nombre de tuples) de la relation résultat est exactement |R]x|S|

Elle est souvent suivie d'une sélection dans laquelle intervient une colonne issue de T1 et une colonne issue de T2

Jointures

(31)

Produit Cart

Produit Cart é é sien (X) sien (X)

Notation

Résultat

R

Résultat = R X S

X X

S

Graphique

Résultat = PRODUCT (R, S)

(32)

Produit Cart

Produit Cart é é sien (X) sien (X)

Client × Commande

Client.noClient nomClient noTéléphone noCommande dateCommande Commande. noClient

10 Hugh Paycheck (999)999-9999 1 01/06/2000 10

10 Hugh Paycheck (999)999-9999 2 02/06/2000 20

10 Hugh Paycheck (999)999-9999 3 02/06/2000 10

10 Hugh Paycheck (999)999-9999 4 05/07/2000 10

10 Hugh Paycheck (999)999-9999 5 09/07/2000 30

10 Hugh Paycheck (999)999-9999 6 09/07/2000 20

10 Hugh Paycheck (999)999-9999 7 15/07/2000 40

(333)333-3333 Dollard Cash

80

(444)444-4419 Coco McPoulet

70

(666)666-6666 Comtesse Hasek

60

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Client N°Com Date

Table Commande

(33)

Conflits de noms d'attributs Conflits de noms d'attributs

Si deux relations ont des attributs de même nom, deux techniques sont

utilisées pour distinguer l'origine des attributs

Préfixer l'attribut Renommage (ρ)

☺ Ou les deux

(34)

Conflits de noms d'attributs Conflits de noms d'attributs

Préfixer l'attribut par le nom de la table d'où il provient

10 15.99 Genévrier

95

10 25.99 Pommier

90

10 25.99 Catalpa

81

10 26.99 Poirier

80

10 10.99 Herbe à puce

70

10 15.99 Erable argenté

60

10 22.99 Chêne

50

10 25.99 Epinette bleue

40

10 12.99 Sapin

20

10 10.99 Cèdre en boule 10

Quantité P.U.

Description N°

Table Article

(333)333-3333 Dollard Cash

80

(444)444-4419 Coco McPoulet

70

(666)666-6666 Comtesse Hasek

60

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

(35)

Renommage

Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )

Définition

Il s'agit d'un opérateur particulier nommé ρ

permettant de renommer

une relation

un ou plusieurs attributs dans une relation

Notation

Résultat

ρ ρ ρ ρ ρ ρ ρ

ρ (R) ρ ρ ρ ρ ρ ρ ρ ρ

(36)

Renommage

Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )

Exemple

Changer l'attribut N° par Code_Client dans la table Client

(444)444-4419 Coco McPoulet

70

(666)666-6666 Comtesse Hasek

60

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

(666)666-6666 Comtesse Hasek

60

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Code_Client

ρ N° Code_Client (Client)

(37)

Renommage

Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )

Exemple

Renommer la table Client en Client2

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client2

ρ Client2 (Client)

(38)

Thêta

Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )

Définition

Elle consiste en un produit cartésien suivi d’une sélection quelconque

La condition utilisée dans la sélection peut être composée d'une ou de plusieurs comparaisons La comparaison peut être basée sur :

– =, !=, <>, ^=, <, >, ≤, ≥ – between

– in – Like

– IS NULL, IS NOT NULL

(39)

Thêta

Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )

Notation

Résultat

R

Résultat = R (condition) S

S

[condition]

Graphique

(40)

Thêta

Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )

Exemple

2 B

1 A

Col 2 Col 1

Table R

Y X Col 3 Table S

X 2

B

Y X Col3

1 1 Col2

A A Col 1

Table R X S

Y Col3 1

Col2 A

Col 1

Table R (col3=Y) S

(41)

É É qui qui - - jointure jointure ( ) ( )

Définition

Elle consiste en un produit cartésien suivi d’une sélection particulière

Les valeurs d'un ou de plusieurs attributs sont identiques (=)

Dans 90%, ces attributs sont :

– la clé primaire d'une relation et la clé étrangère de l'autre relation

Elle représente l'opération la plus utilisée

(42)

É É qui qui - - jointure jointure ( ) ( )

Définition

Elle permet de réaliser une liaison logique entre deux tables.

Dans la relation résultat, apparaissent

Toutes les colonnes des deux relations

– Y compris les deux colonnes identiques de jointure

Les tuples liés uniquement

(43)

É É qui qui - - jointure jointure ( ) ( )

Notation

Résultat

R

Résultat = R S

S

Graphique

Résultat = Join(R,S)

(44)

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

60 12/02/2002 9

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

É É qui qui - - jointure jointure ( ) ( )

Exemple

Trouver toutes les commandes des clients

Table Client Commande

20 09/07/2000

6 (888)888-8888 Dollard Cash

20

20 02/06/2000

2 (888)888-8888 Dollard Cash

20

10 05/07/2000

4 (999)999-9999 Hugh Paycheck

10

10 02/06/2000

3 (999)999-9999 Hugh Paycheck

10

10 01/06/2000

1 (999)999-9999 Hugh Paycheck

10

numéroClient dateCommande

noCommande noTéléphone

nomClient noClient

(45)

Jointure naturelle (*) Jointure naturelle (*)

Définition

C'est une équi-jointure dans laquelle une seule colonne de jointure apparaît dans la relation résultat

Elle est possible que lorsque les 2 attributs de

jointure ont le même nom (sinon renommer

l’un des attributs)

(46)

Jointure naturelle (*) Jointure naturelle (*)

Notation

Résultat

R

R * S * *

S

Graphique

(47)

Jointure naturelle (*) Jointure naturelle (*)

Exemple

Trouver toutes les commandes des clients

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

60 12/02/2002 9

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

Table Client * Commande

02/06/2000 2

(888)888-8888 Dollard Cash

20

05/07/2000 4

(999)999-9999 Hugh Paycheck

10

02/06/2000 3

(999)999-9999 Hugh Paycheck

10

01/06/2000 1

(999)999-9999 Hugh Paycheck

10

dateCommande noCom

mande noTéléphone

nomClient noClient

(48)

Demi Demi - - Jointures Jointures

Définition

C'est une extension de jointure naturelle permettant de faire apparaître dans la

relation résultat l’intégralité des tuples de l’une ou l’autre relation

Demi-jointure Gauche

Demi-jointure Droite

(49)

Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )

Définition

C'est une extension de jointure naturelle permettant de faire apparaître dans la

relation résultat

l’intégralité des tuples de la relation à gauche Les valeurs manquantes de la relation de

droite sont remplacées par des valeurs nulles

Elle n’est pas commutative

(50)

Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )

Notation

Résultat

R

R > S > >

S

Graphique

(51)

Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )

Exemple

Trouver toutes les commandes des clients

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

Table Client > Commande

02/06/2000 2

(888)888-8888 Dollard Cash

20

05/07/2000 4

(999)999-9999 Hugh Paycheck

10

02/06/2000 3

(999)999-9999 Hugh Paycheck

10

01/06/2000 1

(999)999-9999 Hugh Paycheck

10

dateCommande noCom

mande noTéléphone

nomClient noClient

(52)

Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )

Définition

C'est une extension de jointure naturelle permettant de faire apparaître dans la

relation résultat

l’intégralité des tuples de la relation à droite Les valeurs manquantes de la relation de gauche sont remplacées par des valeurs nulles

Elle n’est pas commutative

(53)

Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )

Notation

Résultat

R

R < S < <

S

Graphique

(54)

Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )

Exemple

Trouver toutes les commandes des clients

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

60 12/02/2002 9

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

Table Client < Commande

09/07/2000 5

(777)777-7777 Ye San Le Sou

30

09/07/2000 6

(888)888-8888 Dollard Cash

20

02/06/2000 2

(888)888-8888 Dollard Cash

20

05/07/2000 4

(999)999-9999 Hugh Paycheck

10

02/06/2000 3

(999)999-9999 Hugh Paycheck

10

01/06/2000 1

(999)999-9999 Hugh Paycheck

10

dateCommande noCom

mande noTéléphone

nomClient noClient

(55)

Jointure ext

Jointure ext é é rieure ou rieure ou externe

externe

Définition

C'est une extension de jointure naturelle permettant de faire apparaître dans la

relation résultat l’intégralité des tuples des deux relations

Elle est commutative

La jointure naturelle de deux semi-

jointures gauche et droite fournit comme

(56)

Jointure ext

Jointure ext é é rieure ou rieure ou externe

externe

Notation

Résultat

R

R S

S

Graphique

(57)

Jointure ext

Jointure ext é é rieure ou rieure ou externe

externe

Exemple

Trouver toutes les commandes des clients

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

60 12/02/2002 9

40 15/07/2000 8

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

Table Client Commande

09/07/2000 5

(777)777-7777 Ye San Le Sou

30

09/07/2000 6

(888)888-8888 Dollard Cash

20

02/06/2000 2

(888)888-8888 Dollard Cash

20

05/07/2000 4

(999)999-9999 Hugh Paycheck

10

02/06/2000 3

(999)999-9999 Hugh Paycheck

10

01/06/2000 1

(999)999-9999 Hugh Paycheck

10

dateCommande noCom

mande noTéléphone

nomClient noClient

(58)

Auto Auto - - Jointure Jointure

Définition

C’est une jointure naturelle dans laquelle les deux relations entrées représentent la même relation initiale

Il est nécessaire dans ce cas de distinguer les entrées par la technique de

renommage des relations

(59)

Compl

Compl é é tude des op tude des op é é rateurs rateurs relationnels

relationnels

Les opérateurs

de projection, de sélection, d'union, et de différence

de produit cartésien,

Sont nécessaires et suffisantes

Permettent de définir les autres

(60)

Quelques r

Quelques r è è gles d gles d ’é ’é quivalence quivalence

• Eclatement d'une sélection conjonctive (SE)

σ e1 ET e2 (T) = σ e1 ( σ e2 (T))

• Commutativité de la sélection (SC)

σ e1 ( σ e2 (T)) = σ e2 ( σ e1 (T))

• Elimination des projections en cascades (PE)

π liste1liste2 (T)) = π liste1 (T)

• Commutativité de la jointure (JC)

T 1 T 2 = T 2 T 1

• Associativité de la jointure (JA)

T 1 (T 2 T 3 ) = (T 1 T 2 ) T 3

(61)

Extensions de l'alg

Extensions de l'alg è è bre relationnelle pour bre relationnelle pour les bases de donn

les bases de donné é es es

Fonctions sur colonnes

Opérations arithmétiques (+, - , *, /,…) Manipulation de chaînes (concaténation, formatage, etc. …)

...

Fonctions de groupe (ou d'agrégat)

e.g. total, moyenne, écart-type, min,

max,…

(62)

Exemple d

Exemple d utilisation utilisation

Afficher le numéro client et la date de commande

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

40 15/07/2000 7

20 09/07/2000 6

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

π noClient, dateCommande (Commande)

(63)

Exemple d

Exemple d utilisation utilisation

Afficher le nom du client et la date de commande

(555)555-5555 Hafedh Lajoie

50

(666)666-6666 Le Comte Hasek

40

(777)777-7777 Ye San Le Sou

30

(888)888-8888 Dollard Cash

20

(999)999-9999 Hugh Paycheck

10

Téléphone Nom_Client

Table Client

30 09/07/2000 5

10 05/07/2000 4

10 02/06/2000 3

20 02/06/2000 2

10 01/06/2000 1

N°Com Date

Table Commande

π nom_Client, dateCommande (Client Commande)

(64)

Exemple d

Exemple d utilisation utilisation

Afficher le numéro client et la date de commandes passées après le

05/07/2000

π noClient , dateCommande ( ) σ dateCommande > 05/07/2000 Commande

(65)

Exemple d

Exemple d utilisation utilisation

Afficher le nom des clients et la date de commandes passées après le

05/07/2000

π nomClient , dateCommande ( (σ dateCommande > 05/07/2000 Commande ) Client )

π nomClient , dateCommande ( σ dateCommande > 05/07/2000 Commande Client )

(66)

Exemple d

Exemple d utilisation utilisation

Afficher les noms des clients qui ont commandé au moins un plant d'herbe à puce

π

noClient

( σ

description = “Herbe à puce ”

(((Client Cmde) LigneCmde) Article))

(67)

Arbre alg

Arbre alg é é brique brique

Afficher les noms des clients qui ont commandé au moins un plant d'herbe à puce

π

noClient

( σ

description = “Herbe à puce ”

(((Client Cmde) LigneCmde) Article))

Article

σ description = «Herbe à puce»

π noClient

(68)

Question Question

Faites un tableau récapitulatif des opérateurs utilisés dans l’algèbre

relationnelle en mentionnant l’utilité de chaque opérateur et sa

représentation graphique

(69)

Questions Questions

Ecrivez en AR les requêtes suivantes

1. Afficher le numéro client et la date de commande

2. Afficher le numéro client et la date de commandes passées après le

05/07/2000

3. Quels sont les Clients qui ont le même

numéro de téléphone?

Références

Documents relatifs

En conclusion, les différences observées entre les valeurs de travail des hommes et celles des femmes, conjuguées à l'effet d'homogénéisation, permettent de

Pour mieux saisir cette nouvelle variable il est question dans un premier t em ps de formuler un lien au plan théori que entre la perception et les

More recently, vector-valued reproducing kernel Hilbert spaces (RKHSs) have been introduced to the field of multi-view learning for going further than MKL by incorporating in

Factor matrices appearing in the tensor decomposition can be structured [4] [9], and can have the very particular structure of banded triangular Toeplitz if Blind Identification of

La proposition ci-dessous montre que le nombre de calculs de gains de précision pour une règle donnée, au lieu d’être exponentiel comme indiqué par la définition 7, peut être

In this study, for a loamy soil, field measurements of volumetric water content with respect to pressure head were obtained from a soil moisture probe with its data

By comparing monsoon dynamics between the past (mid-Piacenzian) and future (ECP4.5) warm climates, we have observed similar EASM precipitation changes between the two climates and

قيقحتلا ءاجرإ بلط ةطلس نملأا سلجمل نوكي نأ نم دب لا يلاتلابو نييلودلا نملأاو ملسلا ةلاح ةداع او رملأا ةيوست نم نكمتيل ةاضاقملا وأ ةداملا نم ديحولا