Privacy Policy Cookie Policy Terms and Conditions

[HOME PAGE] [STORES] [CLASSICISTRANIERI.COM] [FOTO] [YOUTUBE CHANNEL]


Algèbre relationnelle

Algèbre relationnelle

Page d'aide sur l'homonymie Pour les articles homonymes, voir Algèbre (homonymie).

L'algèbre relationnelle est une théorie mathématique proche de la théorie des ensembles qui définit des opérations qui peuvent être effectuées sur des relations — des matrices contenant un ensemble de n-uplets.

Au sujet de l'algèbre relationnelle

L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Cette algèbre est constituée d'un ensemble d'opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la différence).

Les principes de l'algèbre relationnelle sont beaucoup utilisés de nos jours par les SGBD pour la gestion des bases de données informatiques comme le SQL, DBase, etc.

Cependant, les bases de données relationnelles ne fonctionnent pas tout à fait selon les règles ensemblistes de l'algèbre relationnelle. En effet, si l'on ne définit pas de clé primaire, il est possible d'insérer plusieurs lignes identiques dans une table, ce qui d'un point de vue ensembliste n'a pas de sens : un élément fait partie ou ne fait pas partie d'un ensemble. Si l'on veut appliquer strictement les règles des ensembles, il faut vérifier à chaque ajout dans une table que les lignes introduites ne sont pas déjà présentes.

Éléments du modèle relationnel

Objets précis du modèle

Il s'agit ici de déterminer des Domaines (i.e., type atomique) :

  • Numérique : entier ou réel (SQL : Int, Float, etc.) ;
  • Chaîne de caractères (SQL : Char(20), VarChar(32), etc.) ;
  • Date (SQL : DATE, TIME, YEAR, etc.) ;
  • Type énuméré.

Relation ou Table

Une relation (au sens du modèle de Codd) est constituée de deux choses :

  1. Un Schéma : Le format de la table. Le schéma est fixé ;
  2. Une Extension : Le contenu de la table, qui est un ensemble de n-uplets dont l'ordre n'a pas d'importance.

Exemple :

Schéma :

{Cle: INT, Nom: VarChar(20), Email: VarChar(20)}

Extension :

{
 {Cle: 1, Nom: "Edgar", Email: "edgar@xxxxx.xx"}
 {Cle: 2, Nom: "Frank", Email: "Frank@xxxxx.xx"}
 ...
}

Opérateurs ensemblistes

L'algèbre relationnelle possède les opérations usuelles sur les ensembles[1].

Soient R(A)\, et S(B)\, deux relations ayant pour ensembles d'attributs respectifs A\, et B\,:

Opérateurs ensemblistes :


Opérateurs relationnels

Définir un ensemble d'opérations élémentaires permettant, par combinaison éventuelle, d'obtenir les résultats escomptés.

  • Sélection (ou restriction) :
    • Notation : \sigma_{F}( R )\,
    • Données : Une relation R\, et une formule F\, formée d'une combinaison de comparaisons et de connecteurs logiques.
    • Résultat : \sigma_{F}( R ) = \{ r \in R : r\, satisfait la condition donnée par F \}\,
    • Équivalent SQL : WHERE
  • Projection :
    • Notation : \pi_{A}( R )\,
    • Données : Une relation R\, et un ensemble d'attributs A\, de R\,.
    • Résultat : \pi_{A}( R )\,, qui est la Relation R\, où on ne considère que les attributs de A\,
    • Équivalent SQL : SELECT
  • Rebaptiser :
    • Notation : \rho_{a/b}(R)\,
    • Données : Une relation R\, et un attribut b\, de R\,.
    • Résultat : \rho_{a/b}(R)\,, qui est la Relation R\, avec b\, rebaptisé a\,
    • Équivalent SQL : AS
  • Jointure : R \bowtie S=\{(a,b,c):(a,b)\in R \times R \ et \ (b,c) \in S \times S \}\,
  • Division : elle prend en entrée deux relations R(x_1, ..., x_m, y_1, ..., y_p)\, et S(y_1,...,y_p)\,.
    • Ainsi, tout n-uplet r \in R \, se décompose en deux n-uplets r=(t,s)\,, avec t=(t_1, ..., t_m)\, de schéma X=\{x_1, ..., x_m\}\, et s=(s_1, ..., s_p)\, de schéma y=\{y_1, ..., y_p\}\,. et retourne la table de schéma X\, tel que R/S=\{t: \forall s \in S, \ (t,s) \in R\}\,. La division revient à donner “tous les x tels que pour tout y...”

Exemples

  • Relations de la base exemple :

Table Touristes:

idTouriste  NomT    Ville       Sport
---------- ------- ---------  ---------
1          Marc    Paris      Ski
2          Jean    Toulouse   Tennis
3          Franc   Marseille  Football
4          Thomas  Lyon       Voile
5          Max     Paris      Golf

Table Sports:

Sport
---------
Ski
Cyclisme
Tennis
Football
Voile
Golf

Table Destinations:

idTouriste  VilleD
---------- --------
1          Cannes
2          Ibiza
4          Tokyo
  • Sélection :

> \sigma_{Ville = 'Paris'}(\,Touristes)\,

idTouriste NomT    Ville      Sport
---------- ------- ---------  ---------
1          Marc    Paris      Ski
5          Max     Paris      Golf
  • Projection :

> \pi_{NomT, Ville}(\,Touristes)\,

NomT    Ville      
------- --------- 
Marc    Paris
Jean    Toulouse
Franc   Marseille
Thomas  Lyon
Max     Paris
  • Jointure (Elle est faite sur l'identifiant du touriste « idTouriste ») :

> Touristes \bowtie\, Destinations

idTouriste  NomT    Ville       Sport    VilleD
---------- ------- ---------  --------- --------
1          Marc    Paris      Ski        Cannes
2          Jean    Toulouse   Tennis     Ibiza
4          Thomas  Lyon       Voile      Tokyo

Notes et références

  1. http://www.scritube.com/limba/franceza/Aide-mmoire-sur-les-bases-de-d21481108.php

Voir aussi

Liens externes

  • RAT, Software Rational Algebra Translator to SQL
  • (fr) Laurent Audibert, « Bases de données relationnelles », sur developpez.com
  • Portail des bases de données
  • Portail des mathématiques
This article is issued from Wikipédia - version of the Friday, May 23, 2014. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.
Contents Listing Alphabetical by Author:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Unknown Other

Contents Listing Alphabetical by Title:
# A B C D E F G H I J K L M N O P Q R S T U V W Y Z Other

Medical Encyclopedia

Browse by first letter of topic:


A-Ag Ah-Ap Aq-Az B-Bk Bl-Bz C-Cg Ch-Co
Cp-Cz D-Di Dj-Dz E-Ep Eq-Ez F G
H-Hf Hg-Hz I-In Io-Iz J K L-Ln
Lo-Lz M-Mf Mg-Mz N O P-Pl Pm-Pz
Q R S-Sh Si-Sp Sq-Sz T-Tn To-Tz
U V W X Y Z 0-9

Biblioteca - SPANISH

Biblioteca Solidaria - SPANISH

Bugzilla

Ebooks Gratuits

Encyclopaedia Britannica 1911 - PDF

Project Gutenberg: DVD-ROM 2007

Project Gutenberg ENGLISH Selection

Project Gutenberg SPANISH Selection

Standard E-books

Wikipedia Articles Indexes

Wikipedia for Schools - ENGLISH

Wikipedia for Schools - FRENCH

Wikipedia for Schools - SPANISH

Wikipedia for Schools - PORTUGUESE

Wikipedia 2016 - FRENCH

Wikipedia HTML - CATALAN

Wikipedia Picture of the Year 2006

Wikipedia Picture of the Year 2007

Wikipedia Picture of the Year 2008

Wikipedia Picture of the Year 2009

Wikipedia Picture of the Year 2010

Wikipedia Picture of the Year 2011