đ 2. ThĂ©orĂšmes fondamentaux & DĂ©monstrations clĂ©s
đ 2. ThĂ©orĂšmes fondamentaux & DĂ©monstrations clĂ©s
Section titled âđ 2. ThĂ©orĂšmes fondamentaux & DĂ©monstrations clĂ©sâLâalgĂšbre relationnelle est un ensemble fermĂ© dâopĂ©rateurs formels manipulant des relations pour en produire de nouvelles. On distingue les opĂ©rateurs fondamentaux et les opĂ©rateurs dĂ©rivĂ©s.
Opérateurs fondamentaux
Section titled âOpĂ©rateurs fondamentauxâ- SĂ©lection () : Soit une relation sur et une formule logique (prĂ©dicat) sur les attributs de .
- Projection () : Soit un ensemble dâattributs.
- Produit cartésien () : Soit sur et sur avec .
- Renommage () : Permet de modifier le nom des attributs ou de la relation.
- Union () et DiffĂ©rence () : NĂ©cessitent des relations compatibles (mĂȘme schĂ©ma).
ThĂ©orĂšme dâexprimabilitĂ© des opĂ©rateurs dĂ©rivĂ©s
Section titled âThĂ©orĂšme dâexprimabilitĂ© des opĂ©rateurs dĂ©rivĂ©sâLa jointure naturelle (), lâintersection () et la division () ne sont pas fondamentales car elles sâexpriment Ă partir des 5 opĂ©rateurs de base.
DĂ©monstration (Cas de la jointure naturelle) : Soit et . La jointure naturelle se dĂ©finit formellement par : Cette construction prouve que lâopĂ©rateur de jointure naturelle est redondant vis-Ă -vis du produit cartĂ©sien, de la sĂ©lection et de la projection.
đĄ 3. MĂ©thodes de calcul & Algorithmes
Section titled âđĄ 3. MĂ©thodes de calcul & AlgorithmesâPour manipuler efficacement les bases de donnĂ©es, en particulier dans le contexte du modĂšle relationnel et du langage SQL (Structured Query Language) :
-
Traduction AlgĂšbre SQL :
-
SELECT * FROM r WHERE cond -
SELECT DISTINCT A, B FROM r -
SELECT * FROM r1 JOIN r2 ON r1.id = r2.id
-
-
Optimisation naĂŻve de requĂȘtes :
- Pousser les sĂ©lections le plus bas possible dans lâarbre syntaxique (avant les produits cartĂ©siens) pour rĂ©duire la taille des relations intermĂ©diaires.
- Pousser les projections pour éliminer au plus tÎt les attributs inutiles.
â ïž 4. PiĂšges classiques aux Concours
Section titled ââ ïž 4. PiĂšges classiques aux Concoursâ- Duplicatas et ModĂšle Relationnel : Par dĂ©finition mathĂ©matique, une relation est un ensemble (pas de tuples en double, pas dâordre). En SQL, par dĂ©faut, les tables sont des multisacs (ou sacs), et les doublons sont conservĂ©s sauf si lâon utilise
DISTINCT. Attention aux questions de concours piĂ©geant sur cette distinction. - CompatibilitĂ© pour lâunion : Appliquer une union () sur deux relations nâayant pas exactement les mĂȘmes types dâattributs et le mĂȘme nombre dâattributs conduit Ă une erreur sĂ©mantique majeure.
- Division relationnelle () : Mal comprendre la division. Si et , alors retourne lâensemble des valeurs associĂ©es Ă toutes les valeurs de dans . Souvent confondue Ă tort avec une simple projection.
- Valeurs NULL : Lâutilisation de la logique tri-valuĂ©e (Vrai, Faux, Inconnu) en SQL avec les valeurs
NULLcontredit lâalgĂšbre relationnelle classique. Une condition comparant unNULLavec=renvoieUNKNOWN, ce qui Ă©limine la ligne de la sĂ©lection (contrairement Ă une logique boolĂ©enne stricte).