|
  Sommaire   Introduction
Le modèle relationnel est basé sur une organisation des données sous forme de tables. La manipulation des données se fait selon le concept mathématique de relation de la théorie des ensembles, c'est-à-dire l'algèbre relationnelle. L'algèbre relationnelle a été inventée en 1970 par E.F. Codd, le directeur de recherche du centre IBM de San José. Elle 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). La théorie des ensembles met en oeuvre deux notions:
Un domaine est un ensemble fini ou infini de valeurs. On le représente par une liste d'éléments ou bien une condition nécessaire et suffisante d'appartenance:
La manipulation des données (sélection de valeurs) se fait suivant la notion mathématique de produit cartésien. Le produit cartésien d'un ensemble de domaines Di, noté Di*Di*Di*...*Dn est l'ensemble des n-uplets (appelés aussi tuples) <V1,V2,...,Vn> tels que Vi appartient à Di
La modèlisation relationnelle permet de représenter les relations à l'aide de tables (à deux dimensions) dont chaque colonne a un identificateur qui représente un domaine. Une ligne du tableau représente donc une entité et chacune des cases représente un de ses attributs. On appelle attributs le nom des colonnes qui représentent les constituants de
l'entité. Un attribut (une colonne) est repéré par un nom et un domaine de définition, c'est-à-dire
l'ensemble des valeurs qu'il peut prendre.
L'entité voiture pourra par exemple être représentée par:
La cardinalité d'une relation est le nombre de tuples qui la composent. Dans l'exemple ci-dessus la cardinalité est égale à 4. La clé principale d'une relation est l'attribut, ou l'ensemble d'attributs,
permettant de désigner de façon unique un tuple. Dans l'exemple ci-dessus, le
numéro de la plaque minéralogique est une clé principale dans la mesure où
la seule connaissance de cet attribut permet de connaître la voiture.
La description d'une relation (d'une table) par ses attributs (nom et domaine) est appelée schéma d'une relation. On désigne par le terme schéma d'une base de données relationnelle l'ensemble des relations qui la composent. La manipulation des éléments de la table se fait à l'aide d'opérations sur les ensembles. On définit deux types d'opérations de base:
  Opérations de base
Une opération de base est définie par le fait qu'elle ne peut être réalisée par combinaison d'autres opérations. Il existe 5 opérations élémentaires pouvant être classées en deux catégories:
L'opérateur projection consiste à créer une table à partir d'une autre en ne gardant que les colonnes spécifiées dans la projection. On note une projection: projX1,X2,...,XN(R)Où X1,X2, ..., XN représentent les colonnes que l'on garde
L'opérateur restriction consiste à créer une table à partir d'une autre en ne gardant que les lignes pour lesquelles une colonne vérifie certaines propriétés. On note une projection: selectQ(R)Où Q représente la qualification, c'est-à-dire la condition à réaliser
L'union de deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à l'une ou l'autre des tables (ou les deux). Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'union entre deux tables R1 et R2: union(R1,R2)ou encore R1 U R2
La différence entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à une table mais pas à la seconde. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note la différence entre deux tables R1 et R2: minus(R1,R2)ou encore R1 - R2
Le produit cartésien de deux tables est la table contenant la concaténation de l'ensemble des tuples d'une ligne d'une table à ceux de l'autre table, et ce pour chaque ligne. Les deux tables opérandes n'ont pas nécessairement le même schéma On note le produit cartésien de deux tables R1 et R2: product(R1,R2)ou encore R1 * R2   Opérations dérivées
L'intersection entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant aux deux tablese. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'intersection entre deux tables R1 et R2: inter(R1,R2)ou encore R1Cet opérateur peut être décrit à l'aide d'opérateurs de base: R1
Le quotient de deux tables est la table contenant l'ensemble des tuples (cellules) qui concaténés à chaque tuple de l'une des tables fournissent des tuples appartenant à l'autre On note le quotient de deux tables R1 et R2: div(R1,R2)ou encore R1/R2
On appelle θ-jointure selon une qualification Q l'ensemble des tuples provenant du produit cartésien de deux relations et satisfaisant la qualification, c'est-à-dire la condition exprimée à l'aide des comparateurs:
joinQ(R1,R2)ou encore (R1 On définit des types de jointure particulière selon la qualification Q:
  Opérations calculatoires
Les opérateurs de calcul ne sont pas des opérations dérivées dans la mesure où ils ne peuvent pas être exprimés à l'aide des opérateurs de base. Ils permettent néanmoins de faire des opérations très utiles (parfois nécessaires) que les autres opérateurs ne peuvent pas réaliser.
Cet opérateur permet de faire la somme cumulée des valeurs que l'attribut X prend pour une liste d'attributs appelés attributs de regroupement. Les valeurs de X doivent bien évidemment être numériques. Lorsqu'aucun attribut de regroupement n'est précisé, l'opérateur Somme renvoie la somme des valeurs de la colonne. On note cet opérateur: SommeX1,X2,...,Xn(R,X)ou avec la notation anglaise SumX1,X2,...,Xn(R,X)
Cet opérateur permet de compter le nombre de lignes pour lesquelles l'attribut fait partie d'une liste d'attributs appelés attributs de regroupement. Lorsqu'aucun attribut de regroupement n'est précisé, l'opérateur compte le nombre de tuples de la colonne. On note cet opérateur: CompteX1,X2,...,Xn(R,X)ou avec la notation anglaise CountX1,X2,...,Xn(R,X)
|
|
ce site est un produit des étudiants en Informatique de l'université de Yaoundé I, et à pour but de permettre au COMSAS d'accomplir sa tâche qui n'est autre que la vulgarisation de l'informatique et l'instauration d'un esprit de partage et de solidarité entre les étudiants. |