Академический Документы
Профессиональный Документы
Культура Документы
Eléments de base
Opérations ensemblistes :
union, intersection, différence
Opérations relationnelles :
projection
sélection
jointure
renommage
Projection
r[R] et X sous-ensemble de R
Projection de r sur X :
relation définie sur X contenant les
restrictions sur X des n-uplets de r
notation : ∏x(r)
∏x(r) = {u | ∃ t dans r tel que u=t.R}
Remarques
une jointure est toujours définie
opération coûteuse à calculer
Jointure - Exemple
etud prof
définie? Sur quel schéma?
Signification intuitive?
etud etud
définie? Sur quel schéma?
Signification intuitive?
Jointure - Propriétés
∏R(r s) = r ?
∏R(r s) ∏S(r s) = r s?
σC(r s) = σC(r) s?
Renommage
r[R] , A attribut de R , A1 nouveau nom
pour A
Renommage de A en A1 dans r
relation définie sur (R - {A}) ∪ {A1}
notation : ρA1←A(r)
ρA1←A(r) contient les mêmes n-uplets que r
∏num_et(σnum_c≠n(ρn←num_c(inscrit) inscrit))
Opérations ensemblistes
Remarque : r ∩ s = r s
Opérations ensemblistes -
Exemples
Sélection
σC(r θ s) = σC(r) θ σC(s) ?
Projection
∏x(r ∪ s) = ∏x(r) ∪ ∏x(s) ?
∏x(r ∩ s) = ∏x(r) ∩ ∏x(s) ?
∏x(r - s) = ∏x(r) - ∏x(s) ?
Jointure
(r θ r’) s = (r θ s) (r’ θ s) ?
Extension : quotient
relationnel
Liste des numéros des étudiants inscrits à
tous les cours ?
n est dans la réponse si pour tout n_c
dans cours, (n, n_c) est dans inscrit
Propriété :
r ÷ s = ∏R-S(r) - ∏R-S ((∏R-S(r) s) - r)
Algèbre relationnelle et
SQL
∏nom_et,adr_et(σnum_c≠123(etud inscrit))
∏num_et(σnum_c≠n(ρn←num_c(inscrit) inscrit))
SELECT inscrit.num_et
FROM inscrit, inscrit inscr
WHERE inscrit.num_c ≠ inscr.num_c
AND inscrit.num_et = inscr.num_et
Algèbre relationnelle et
SQL
Opérations ensemblistes
union, intersect, minus
entre deux clauses SELECT FROM WHERE
Utilisation de GROUP BY
SELECT num_et, count(distinct num_c)
FROM inscrit
GROUP BY num_et
Fonctions en SQL et
groupements - Exemple
result[num_et, num_c, note]
Liste des numéros des étudiants inscrits à
plus de 3 cours, avec leur moyenne
générale