Le langage relationnel
Par Christopher • 29 Novembre 2018 • 853 Mots (4 Pages) • 559 Vues
...
R2 = SELECTION ( R1; condition )
Exemple :
[pic 19]
R2 = SELECTION ( R1; code établissement = 1 )
[pic 20]
3) Jointure.
But : créer une relation (R3); à partir d'une relation R1 et d'une relation R2 ayant une propriété commune, dans laquelle on retrouve les lignes qui satisfont à une condition portant sur l'attribut commun. La relation résultante possède les propriétés des 2 relations.
R3 = JOINTURE ( R1, R2 ; condition )
Exemple :
[pic 21][pic 22]
R3 = JOINTURE ( R1, R2 ; R1.nom = R2.nom )
[pic 23]
V Opérations de calcul.
1) Compte.
But : dénombrer les lignes d'une relation qui ont une même valeur d'attribut en commun. La relation résultante ne contient que l'attribut et le compte.
R2 = COMPTE ( R1, propriété )
Exemple :
[pic 24]
R2 = COMPTE ( R1, Nom candidat )
[pic 25]
2) Cumul.
But : faire la somme des valeurs d'un attribut A1 des lignes qui ont la même valeur d'attribut A2 en commun. La relation résultante ne contient que l' attribut A2 et le cumul de l' attribut A1.
R2 = CUMUL ( R1, attribut1, attribut2)
Exemple :
[pic 26]
R2 = CUMUL ( R1, Nom , Note )
[pic 27]
---------------------------------------------------------------
VI Requête.
Une requête est une interrogation de base de données relationnelles.
Plusieurs opérations bien enchaînées permettent de répondre à la plupart des requêtes.
Exemple :
[pic 28]
Soit les relations :
EPREUVE ( Code_épreuve , Désignation , Coefficient )
NOTER ( #Code_épreuve , #N°_Candidat , Note )
CANDIDAT ( N°_Candidat , Nom_Candidat , Code_Etablissement )
Exemple de remplissage des tables :
Requête : donner la liste des noms de candidats et leur notes à l'épreuve de mathématique.
On voudrait donc avoir le résultat suivant :
[pic 29]
Mais on ne connaît que " nom de candidat " , " note " , et "Math " d'après la requête, soit :
[pic 30]
L'enchaînement des opérations est :
R1 = SELECTION ( EPREUVE , Désignation = "Math" )
{on sélectionne la ligne "Math" pour obtenir code_épreuve}.
R2 = JOINTURE ( R1 , NOTER , R1.code_épreuve = NOTER.Code_épreuve )
{on joint toutes les lignes de la relation NOTER ayant le même code_épreuve pour obtenir le N°_Candidat et la Note}.
R3 = PROJECTION ( R2 , N°_Candidat , Note )
{on conserve uniquement les colonnes N°_Candidat et Note}.
R4 = JOINTURE ( R3 , CANDIDAT , R3.N°_Candidat = CANDIDAT.N°_Candidat )
{on joint toutes les lignes de la relation CANDIDAT ayant le même N°_Candidat pour obtenir notamment le Nom_Candidat}.
R5 = PROJECTION ( R4 , Nom_Candidat , Note )
{on conserve uniquement les colonnes Nom_Candidat et Note}.
...