Chapitre2 Part2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 74

Principe des bases de données

Base de données relationnelle

Enseignant
Mr Konaté

H. Ghazouani
E-mail: [email protected]
S.Konaté II2
LE RELATIONNEL
L'exemple suivant, relatif à la gestion simplifiée des étapes du Tour de France 97,
va nous servir à introduire le vocabulaire lié au modèle relationnel.

2
 Comme nous pouvons le constater, le modèle
relationnel est un modèle d'organisation des
données sous forme de Tables (Tableaux de
valeurs) ou chaque Table représente une Relation,
au sens mathématique d'Ensemble. C'est ainsi que
dans l'exemple présenté, figurent l'ensemble des
Equipes, des Coureurs, des Etapes, des Temps
réalisés par les coureurs à chacune des étapes, et
enfin l'ensemble des pays.
3
 Les colonnes des tables s'appellent des attributs et
les lignes des n-uplets (où n est le degré de la
relation, c'est à dire le nombre d'attributs de la
relation).
Un attribut ne prend qu'une seule valeur pour
chaque n-uplet.
L'ordre des lignes et des colonnes n'a pas
d'importance.

4
 Chaque table doit avoir une clé primaire constituée par un
ensemble minimum d'attributs permettant de distinguer
chaque n-uplet de la Relation par rapport à tous les autres.
Chaque ensemble de valeurs formant la clé primaire d'un
n-uplet est donc unique au sein d'une table. C'est ainsi que
dans la table COUREURS, chaque coureur a un
NuméroCoureur différent.

 Dans certains cas, plusieurs clés primaires sont possibles


pour une seule table. On parle alors de clés candidates. Il
faut alors en choisir une comme clé primaire.

5
 Les liens sémantiques (ou règles de gestion sur les
données) existants entre les ensembles sont réalisés par
l'intermédiaire de clés étrangères faisant elles-mêmes
référence à des clés primaires d'autres tables.
C'est ainsi que dans la table COUREURS, la clé étrangère
CodeEquipe (faisant référence à la clé primaire de même
nom dans la table EQUIPES) traduit les deux règles de
gestion suivantes :

 Un COUREUR appartient à une EQUIPE


Une EQUIPE est composée de plusieurs COUREURS

6
 Il existe deux grands types de liens : Un - Plusieurs
(comme le précédent) et Plusieurs - Plusieurs. La
réalisation de ce dernier type de liens, un peu plus
complexe, passe par l'utilisation d'une table
intermédiaire dont la clé primaire est formée des clés
étrangères des tables qu'elle relie. C'est ainsi que la
table des TEMPS réalisés à chaque étape par
chacun des coureurs exprime les deux règles de
gestion suivantes :
 Un COUREUR participe à plusieurs ETAPES
Une ETAPE fait participer plusieurs COUREURS

7
Le modèle relationnel est le plus souvent décrit sous la forme
suivante, les clés primaires étant soulignées et les clés
étrangères marquées par un signe distinctif (ici *).

 EQUIPES (CodeEquipe, NomEquipe, DirecteurSportif)


 COUREURS (NuméroCoureur, NomCoureur, CodeEquipe*,
CodePays*)
 ETAPES (NuméroEtape, VilleDépart, VilleArrivée, NbKm)
 TEMPS (NuméroCoureur*, NuméroEtape*, TempsRéalisé)
 PAYS (CodePays, NomPays)

8
LE RELATIONNEL

NOTION DE TABLE : Toutes les données de la base


sont enregistrées dans des tables (RELATIONS)

RELATION : Partie du produit cartésien d’une liste de


domaines (ensemble de valeurs)

CODEP NOM_PERSONNE PRENOM_PERS AN_NAISS

9
SCHEMA DE LA RELATION
(Description en intention)

R ( A1, A2, ........, An)


R : Nom de la relation

A1, A2, ..An : Nom des attributs de la relation

(a1i, a2j, ..., ank) : n-uplet

n : Degré de la relation (Relation n-aires)

10
SCHEMA DE LA BASE

 SCHEMAS DES RELATIONS

 CONTRAINTES D’INTEGRITE
– CLE PRIMAIRE
– VALEUR NULLE
– CLE ETRANGERE
– INTERVALLE
– LISTE

11
CONTRAINTES D’INTEGRITE :
Contrôles effectués lors de la saisie, modification ou suppression
des données

CLE PRIMAIRE : Unicité de la valeur dans la(es) colonne(s) constituant la clé.

F012 Mozart Wolfgang


S234 Beethoven Ludvig
G087 Berlioz Hector
B555 Haydn
X007 Ravel Maurice
A631 Chopin Frédéric
G087 Halliday Johnny

Impossible : Valeur refusée lors de la saisie

12
VALEUR NULLE :
Dans cette colonne certaines lignes peuvent ne pas contenir de
valeurs

F012 Mozart Wolfgang


S234 Beethoven Ludvig
G087 Berlioz Hector
B555 Haydn
X007 Ravel Maurice
A631 Chopin Frédéric
F132

VALEUR PAR DEFAUT :


Valeur attribuée à toutes les lignes de la colonne, cette valeur peut être
modifiée lors de la saisie.

ENSEMBLE DE VALEURS : Contrôle de l’appartenance de la


valeur saisie à un intervalle ou bien à une liste de valeurs.

13
CLE ETRANGERE :
Attribut clé primaire dans une autre table. Vérification de la contrainte
d’intégrité réferentielle
F012 Mozart Wolfgang
S234 Beethoven Ludvig
? G087
B555
Berlioz
Haydn
Hector

X007 Ravel Maurice


A631 Chopin Frédéric

S234
F012
G087
A631 Valeur
G087 inexistante dans
B555 la table
S234
G087
A831

14
Récapitulatif
 Un schéma relationnel se compose :
pour chaque relation de :
 nom de la relation
 définition
 attributs + domaines (entiers, réels, chaines de caractères,
…)
 clé(s)
 éventuellement clé(s) étrangère(s)
 contraintes d'intégrité associées
 et des autres contraintes d'intégrité qui portent sur plusieurs
relations.
15
Problème de la redondance
 [En dehors des clés étrangères]
 ex. Soit la relation COMMANDE_PRODUIT.

NumProd Quantité NumFour Adresse


101 300 901 Faladiè
104 1000 902 Faso kanu
112 78 904 Faso kanu
103 250 901 Faladiè

 Cette relation présente différentes anomalies.

16
Problème de la redondance (suite)
 Anomalies de modification : Si l’on souhaite mettre à jour l’adresse d’un

fournisseur, il faut le faire pour tous les tuples concernés.

 Anomalies d’insertion : Pour ajouter un fournisseur nouveau, il faut

obligatoirement fournir des valeurs pour NumProd et Quantité.

 Anomalies de suppression : ex. La suppression du produit 104 fait perdre

toutes les informations concernant le fournisseur 902.

17
Normalisation (1)
 Objectifs de la normalisation :

 Suppression des problèmes de mise à jour

 Minimisation de l’espace de stockage (élimination des redondances)

 La taille des fichiers normalisés croît de façon arithmétique alors


que la taille des fichiers non normalisés croît de façon
géométrique.

18
CONSTRUCTION DU SCHEMA RELATIONNEL
DEFINITIONS
LES DEPENDANCES FONCTIONNELLES

Soit R (X, Y, Z)

Y est en dépendance fonctionnelle avec X ou X


détermine Y

Si  n1, n2 deux n-uplets de R

n1[X] = n2[X]  n1[Y] = n2[Y]

n[X] représente la valeur de l’attribut X pour le n-uplet n

La dépendance fonctionnelle se note : X Y

19
CONSTRUCTION DU SCHEMA RELATIONNEL
DEFINITIONS
LES DEPENDANCES FONCTIONNELLES

On dit que X détermine Y ou Y dépend fonctionnellement de


X (X  Y)

ssi il existe une fonction qui à partir de toute valeur de X


détermine une valeur unique de Y

Exemple
PRODUIT (NumProd, Dési, PrixUni)
NumProd Dési, Dési PrixUni

20
Propriétés des dépendances fonctionnelles :

Dans ce qui suit X, Y, Z sont des ensembles d’attributs, A est un attribut.


Réfléxivité :

Si Y  X alors X Y
Augmentation :

Si X  Y alors X, Z  Y

Transitivité :

Si X  Y et Y Z alors XZ
Union :

Si X  Y et X Z alors X  Y, Z
Pseudo transitivité :

Si X  Y et A,Y  Z alors X,A  Z

Décomposition :

Si X  Y et Z Y alors XZ 21
NIVEAUX DE NORMALISATION

PREMIERE FORME NORMALE (1NF)

Une relation est en première forme normale si tous les attributs


non clé sont en dépendance fonctionnelle avec la clé. Dans un n_uplet un
attribut est composé par une valeur atomique.

R (A, B, C, D, E, F)

22
Première Forme Normale
 Exemple

PERSONNE NOM PROFESSION

DUPONT Ingénieur, Professeur

MARTIN Géomètre

• La relation PERSONNE n’est pas en 1FN!


• Elle doit être décomposée en répétant les noms pour chaque
profession

23
Première Forme Normale -- Exemple
 Soit une relation en 1FN:
 Fournisseur(NF,NomProduit,Adr,Tel,Prix)
 Problèmes
 Redondances NomProduit
 Mises à jour pour les insertions Prix
 Suppressions
 Mises à jours des tuples NF Adr
 Décomposition Tél
Tel
 Fournisseur1(NF,Adr,Tel)
 Catalogue(NF,NomProduit,Prix)
 Sans perte d’information, sans perte de DF

24
Deuxième Forme Normale
 Définition
– une relation est en 2ème forme normale ssi :
• elle est en 1ère forme
• toutes les DFs entre la clé et les autres attributs sont
élémentaires
• tout attribut non clé primaire est dépendant de la clé primaire
entière
 Schéma
R (A, B, C, D, E, F) NON 2 NF

Une telle relation doit être décomposée en


R1(A, C, E, F) et R2(B, C, D)
25
Deuxième Forme Normale -- Exemples

 Exemple :
– Fournisseur2(NF, Pays,Ville)
• Redondance
• Décomposition
– Fourn(NF, Ville) NF Ville Pays
– Géo(Ville, Pays)
– Sans perte d’information, sans perte de DF.

26
Troisième Forme Normale
 Définition
– une relation est en 3ème forme normale ssi :
• elle est en 2ème forme
• tout attribut n'appartenant pas a une clé ne dépend pas d'un
autre attribut non clé
 Schéma

R (A, B, C, D, E, F) NON 3 NF

Une telle relation doit être décomposée en


R1(A, B, C, F) et R2(C, D, E)
27
Troisième Forme Normale -- Exemple
 Exemple:
– Voiture (n° veh, marque, type, puissance, couleur)
 Type  marque
 Type  puissance
 Pas en 3ème forme !
 Il est bon que les relations logiques soient en 3ème forme :
– Pas de redondance
– Pas de perte d ’information
– Pas de perte de dépendance
 Représentation canonique du monde réel !
28
Exemple de Décomposition

 Voiture (n° veh, marque, type, puissance, couleur)


– Se décompose en :
• Véhicule (n° veh, type, couleur)
• Modèle (type, marque, puissance)

29
Méthode de décomposition en 3ème forme
 Sans perte d ’information
 Sans perte de DF.
 Créer pour chaque source de DF une relation comprenant comme
attributs la source et toutes les cibles de cette source.
 Si aucun des identifiants de R n’est présent dans au moins une des
relations créées ajouter une relation supplémentaire, constituées des
attributs composant un des identifiants de R.
 Génère parfois des décompositions redondantes.

30
Graphe des Dépendances Fonctionnelles

 Pour chaque relation il faut recenser ses DF


élémentaires et non déduites
 On les représente sous forme de graphe orienté
(graphe minimum des DF de la relation).
 Une relation peut avoir plusieurs graphes minimum
qui sont tous équivalents

31
Graphe des Dépendances Fonctionnelles

 Vérifier que le graphe est minimum

Un seul chemin !

 Utilité du graphe de DF:


 Trouver les identifiants de la relation
 Tester si la relation est bonne et bien normalisée
 Sinon trouver les décompositions

32
Graphe des Dépendances Fonctionnelles

 Exemple de graphe de DF:

33
Graphe des Dépendances Fonctionnelles

 Exemple:
R(N°E, nom, prénom, adr, dateN, NomC, année, nbCrédits, prof, note)

L’étudiant (N°E) a obtenu telle année tel cours (nomC) avec telle note.
Cette année là le cours a été la responsabilité de tel prof et valait tant de
crédit (nbCrédits).

Faire le graphe minimum des DF.

34
Graphe des Dépendances Fonctionnelles

 Graphe des DF de R:

35
Algorithme de normalisation /DF

36
Algorithme de normalisation /DF

 Exemple:

37
Méthode de décomposition en 3ème forme
 Sans perte d ’information
 Sans perte de DF.
 Créer pour chaque source de DF une relation comprenant comme
attributs la source et toutes les cibles de cette source.
 Si aucun des identifiants de R n’est présent dans au moins une des
relations créées ajouter une relation supplémentaire, constituées des
attributs composant un des identifiants de R.
 Génère parfois des décompositions redondantes.

38
Comment concevoir un schéma
relationnel normalisé
 Concevoir un schéma entité/association puis le traduire en relationnel.

 Créer une relation regroupant tous les attributs ( la relation


universelle) établir un graphe minimum des dépendances; puis
décomposer jusqu’en 3eme.

 Faire un graphe minimum; en extraire directement les relations en


3eme forme normale:
– Créer pour chaque source de DF une relation comprenant comme attributs la
source et toutes les cibles de cette source.
– La source est la clé de la relation établi.

39
A,B C, E
A F
F D, G, H
D I, J, K

R (A, B, C, D, E, F, G, H, I, J, K)

R1 (A, B, C, E) R2 (A, D, F, G, H, I, J, K)

R21 (A, F) R22 (F, D, G, H, I, J, K)

R221 (F, D, G, H) R222 (D, I, J, K)


40
PASSAGE ENTITE/ASSOCIATION
RELATIONNEL
Classes d ’entités

NOM_CLASSE_ENTITE
-CARAC_REF
-CA1
-CA2
…..

Relation ( Carac_ref, Carac1, ........, Caracn)


41
Associations avec au moins une cardinalité maximum égale à 1
(Sans caractéristiques)

NOM_CLASSE_ENTITE1 NOM_CLASSE_ENTITE2
-CARAC_REF1 -CARAC_REF2
10,1 ASSOCIATION
0,?
-CA1 -CB1
-CA2 -CB2
….. …..

Relation1 ( Carac_ref1, Ca1, ........, Can, Carac_ref2


Carac_ref2 )
Clé étrangère
Nonnulle
Nulle

Relation2 ( Carac_ref2, Cb1, ........, Cbm)


42
Associations avec au moins une cardinalité maximum égale à 1
(Avec caractéristiques)

NOM_CLASSE_ENTITE1 NOM_CLASSE_ENTITE2
-CARAC_REF1 -CARAC_REF2
0,1 0,n
-CA1 ASSOCIATION -CB1
CARAC_ASS
-CA2 -CB2
….. …..

Relation1 ( Carac_ref1, Ca1, ........, Can)


Clé étrangère
Association ( Carac_ref1, Carac_ass, Carac_ref2 )
Clé étrangère

Relation2 ( Carac_ref2, Cb1, ........, Cbm)


43
Associations avec deux cardinalités maximum égales à n

NOM_CLASSE_ENTITE1 NOM_CLASSE_ENTITE2
-CARAC_REF1 -CARAC_REF2
0,n ASSOCIATION
0,n
-CA1 -CB1
-CA2 CARAC_ASS -CB2
….. …..

Relation1 ( Carac_ref1, Ca1, ........, Can)


Clé étrangère

Association ( Carac_ref1, Carac_ref2 ) ,Carac_assoc )


Clé étrangère
Relation2 ( Carac_ref2, Cb1, ........, Cbm)
44
Associations faisant intervenir plus de deux entités

NOM_CLASSE_ENTITE2
-CARAC_REF2
NOM_CLASSE_ENTITE1 0,n -CB1
-CARAC_REF1 …..
0,n ASSOCIATION
-CA1
CARAC_ASS
-CA2
…..
NOM_CLASSE_ENTITE3
0,n -CARAC_REF3
-CC1
…..

Relation1 ( Carac_ref1, Ca1, ........, Can)


Clé étrangère
Association ( Carac_ref1, Carac_ref2,Carac_ref3 ) ,Carac_assoc )
Clé étrangère Clé étrangère
Relation2 ( Carac_ref2, Cb1, ..., Cbm)

Relation3 ( Carac_ref3, Cc1,...., Ccp) 45


Associations réflexives
NOM_CLASSE_ENTITE1
-CARAC_REF1 00, ,n1
-CA1
-CA2
….. ASSOCIATION

Carac_assoc

0,n

Relation1 ( Carac_ref1, Ca1, ........, Can, Carac_ref1_bis)


)

Asso ( Carac_ref1_a, Carac_ref1_b ),Carac_assoc )

46
Liens d ’héritage : spécialisation et généralisation
CLASSE_ENTITE
-CARAC_REF
-CA1
-CA2

CLASSE_ENTITE1 CLASSE_ENTITE2
-CB1 -CC1
-CB2 -CC2
-CC3

Implantation en vrac (avec ou sans définition de vues)

Relation ( Carac_ref, Ca1, Ca2, Cb1, Cb2, Cc1, Cc2, Cc3)


VUE1
VUE2
VUE3
47
Implantation avec répartition horizontale (Avec 2 ou 3 tables)

Relation ( Carac_ref, Ca1, Ca2)

Clé étrangère Clé étrangère


Relation1 ( Carac_ref, Ca1, Ca2, Cb1, Cb2)

Relation2 ( Carac_ref, Ca1, Ca2, Cc1, Cc2, Cc3)


OU
Relation1 ( Carac_ref, Ca1, Ca2, Cb1, Cb2)

Relation2 ( Carac_ref, Ca1, Ca2, Cc1, Cc2, Cc3)

Implantation avec répartition verticale

Relation ( Carac_ref, Ca1, Ca2)

Relation1 ( Carac_ref, Cb1, Cb2) Relation2 ( Carac_ref, Cc1, Cc2, Cc3)


48
Exemple:

49
Solution:

50
LES OPERATIONS ALGEBRIQUES

 OPERATIONS ALGEBRIQUES APPLIQUEES AUX TABLES


UNAIRES (Un opérande)

BINAIRES (Deux opérandes)

 5 OPERATIONS ALGEBRIQUES ELEMENTAIRES


– RESTRICTION
– PROJECTION
– PRODUIT
– DIFFERENCE
– UNION
 OPERATIONS COMPLEMENTAIRES
– JOINTURE
– INTERSECTION
– DIVISION 51
RESTRICTION

R1 = RESTRICTION (R, <prédicat_de_restriction>)


<prédicat_de_restriction> : condition_simple : opérande1  opérande2
 est un opérateur à prendre parmi {=, , >, <, >=, <=}
condition_composée : conditions simples liées par les
opérateurs logiques et, ou, non (AND, OR, NOT)

R1 contient les n_uplets de R qui vérifient le prédicat de restriction

R1 = (Prédicat) R

R
R1

52
 Restriction (ou sélection) :

Quels sont les Nom Coureur Code Code


coureurs suisses ? Numéro
coureur équipe pays
8 ULLRICH Jan TEL ALL
31 JALABERT Laurent ONC FRA
Relation 61 ROMINGER Tony COF SUI
résultat 91 BOARDMAN Chris GAN G-B
114 CIPOLLINI Mario SAE ITA
R = SELECTION(COUREUR, CodePays = ‘‘SUI’’)
NOTATION : R = (CodePays = ‘‘SUI’’) COUREUR

53
PROJECTION

R1 = PROJECTION (R, <liste_attributs_projection>)


<liste_attributs_projection> : Attributs Ai, avec Ai  R

R1 est une relation de schéma ( liste_attributs_projection) qui contient les


n_uplets de R qui n’apparaissent qu’une fois. Lors de la projection des n_uplets
identiques peuvent être constitués ils n’apparaitront qu’une seule fois dans R1.

R1 =  (Liste des attributs) R

R
R1

54
Projection :
Exemple:Nom et nationalité des coureurs ?
R = PROJECTION(COUREUR, NomCoureur,
Nationalité)
NOTATION : (NomCoureur,Nationalité)COUREURS

Nom Coureur Code


pays
ULLRICH Jan ALL
JALABERT Laurent FRA
Relation ROMINGER Tony SUI
résultat BOARDMAN Chris G-B
CIPOLLINI Mario ITA 55
PRODUIT

R = PRODUIT (R1, R2)

R contient le produit cartésien des ensembles de n_uplets de R1 et R2. Toutes les


combinaisons des n_uplets de R1 avec les n_uplets de R2 se retrouvent dans R.

Si S1, S2 sont les schémas respectifs de R1, R2 le schéma de R est (S1, S2).

R =R1 X R2

R
R1
(4 n-uplets)
R2
(3 n-uplets)
(3x4 = 12 n-uplets)

56
UNION

R = UNION ( R1 , R2)

R contient les n-uplets de R1 et les n-uplets de R2 qui n’apparaîssent pas dans R1.

R1 et R2 sont deux relations de même schéma.

R = R1  R2

R1
R

R2

57
 Union
– Les relations doivent avoir le même schéma
PROFESSEUR MAITRE DE CONFERENCE
N°Ens Nom Prénom Matière N°Ens Nom Prénom Matière
12 CHARPIN Françoise Economie 5 BEL Liliane Mathématiques
15 THERY Philippe Droit 8 TOPOR Lucienne Droit
16 VOGEL Louis Droit 58 SKALLI Ali Economie
17 BALLE Francis Politique 67 BERGER Maria Informatique

N°Ens Nom Prénom Matière


12 CHARPIN Françoise Economie
15 THERY Philippe Droit
16 VOGEL Louis Droit
Professeur  17 BALLE Francis Politique
5 BEL Liliane Mathématiques
Maître de 8 TOPOR Lucienne Droit
58 SKALLI Ali Economie
conférence 67 BERGER Maria Informatique

58
DIFFERENCE
R = DIFFERENCE (R1, R2)
R contient les n-uplets de R1 qui n’appartiennent pas à R2.

R1et R2 doivent avoir le même schéma.

R =R1 - R2

R1
R

R2

59
DIFFERENCE
R = DIFFERENCE (R1, R2)
R contient les n-uplets de R1 qui n’appartiennent pas à R2.

R1et R2 doivent avoir le même schéma.

R =R1 - R2

60
JOINTURE
R = JOINTURE (R1, R2, <Prédicat_de_Restriction>)
R contient les combinaisons des n-uplets de R1 avec les n-uplets de R2
qui vérifient le prédicat de jointure.

JOINTURE NATURELLE : Prédicat de jointure porte sur l’égalité des


attributs communs aux deux tables
R =R1  R2

R
R1

R2
=

61
 Jointure : R=R1R2(R1.code_pays = R2.code_pays)
Numéro Nom Coureur Code Code Code Nom Pays
coureur équipe pays pays
8 ULLRICH Jan TEL ALL ALL Allemagne
31 JALABERT ONC FRA FRA France
Laurent SUI Suisse
61 ROMINGER Tony COF SUI G-B Grande -
91 BOARDMAN Chris GAN G-B Bretagne

Numéro Nom Coureur Code Code Nom


coureur équipe pays Pays
Relation
résultat 8 ULLRICH Jan TEL ALL Allemagn
e
31 JALABERT ONC FRA France
Laurent
61 ROMINGER Tony COF SUI Suisse
91 BOARDMAN Chris GAN G-B Grande -
Bretagne
62
INTERSECTION

R = INTERSECT(R1, R2)
R contient les n-uplets de R1 qui appartiennent à R2

R1 et R2 sont deux relations de même schéma.

R = R1  R2

R1

R
R2

63
DIVISION

R2 = DIVISION ( R, R1)

R a pour schéma (S1, S2), R1 a pour schéma S1, R2 a pour schéma S2

Soient n1 un n-uplet de R1, n2 un n-uplet de R2, R2 contient les n-uplets tels que :

 n2  R2,  n1  R1 toutes les combinaisons de n1 et n2 sont des n-uplets


appartenant à R, (R2 x R1  R)

R2 = R / R1

R2

R1
64
DIVISION

R2 = DIVISION ( R, R1)

R2 = R / R1
R R1
Numéro Nom Coureur Code Code Code Code
coureur équipe pays équipe pays
8 ULLRICH Jan TEL ALL TEL ALL
31 JALABERT Laurent ONC FRA ONC FRA
61 ROMINGER Tony COF SUI
91 BOARDMAN Chris GAN G-B

R2
Numéro Nom Coureur
coureur
8 ULLRICH Jan
31 JALABERT Laurent 65
GRAPHE DES REQUETES

REPRESENTATION GRAPHIQUE DE LA REQUETE

X
Prédicat de
Attributs Jointure
Prédicat

Restriction Projection Produit Jointure

 

Différence Union Division 66


Intersection
Exemple:

On considère les deux relations suivantes où les clés sont en


caractères gras :

•LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)

•LESACTEURS(TITRE,ACTEUR)

67
Exemple:

On considère les deux relations suivantes où les clés sont en


caractères gras :

•LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)

•LESACTEURS(TITRE,ACTEUR)

•Q1: Liste des films français (titre, année, réalisateur).

68
Exemple:

On considère les deux relations suivantes où les clés sont en


caractères gras :

•LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)

•LESACTEURS(TITRE,ACTEUR)

Q2: Donnez les années de sortie des films tournés par


GABIN.

69
Exemple:

On considère les deux relations suivantes où les clés sont en


caractères gras :

•LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)

•LESACTEURS(TITRE,ACTEUR)

Q3: Trouver les acteurs qui ont tourné avec TRUFFAUT


comme réalisateur.

70
Exemple:

On considère les deux relations suivantes où les clés sont en


caractères gras :

•LESFILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)

•LESACTEURS(TITRE,ACTEUR)

Q4: Liste des films où le réalisateur est aussi acteur

71
Exemple (Solution):

Q1: Liste des films français (titre, année, réalisateur).


projection(titre, année, réalisateur; sélection(pays='France', LESFILMS))

Q2: Donnez les années de sortie des films tournés par GABIN.
projection(année; jointure(LESFILMS.titre=LESACTEURS.titre,
LESFILMS;sélection(acteur='Gabin'; LESACTEURS)))

Q3: Trouver les acteurs qui ont tourné avec TRUFFAUT comme
réalisateur.
projection(acteur, jointure(LESFILMS.titre=LESACTEURS.titre;
LESACTEURS;sélection(réalisateur='Truffaut'; LESFILMS)))

72
Exemple (Solution):

Q4: Liste des films où le réalisateur est aussi acteur


projection(LESFILMS.titre; sélection(acteur=réalisateur;
jointure(LESFILMS.titre=LESACTEURS.titre;
LESFILMS; LESACTEURS)))

73
Merci…

74

Vous aimerez peut-être aussi