Vous êtes sur la page 1sur 31

Le modèle relationnel: algèbre

relationnel et calcul relationnel

KINDO A AZIZE / UNIVERSITE NAZI BONI


Objectifs

 Aperçu du modèle relationnel


 le lien entre l’algèbre relationnel et les relations dans le modèle relationnel.
 les propriétés d’une base de données relationnelles
 Comment identifier les clés candidates, primaire et étrangère.
 Intégrité reférentielle
 Formulation des requêtes en algèbre et calcul relationnel

KINDO A AZIZE / UNIVERSITE NAZI BONI


Exemple: représentation tabulaire
 les données sont organisées sous forme de
tables à deux dimensions, encore appelées
relations, dont les lignes sont appelées n-uplet
ou tuple en anglais ;

KINDO A AZIZE / UNIVERSITE NAZI BONI


Le modèle relationnel

 Il repose sur des bases théoriques solides, notamment la théorie des ensembles et la
logique mathématique(théorie des prédicats d'ordre 1).
Les objectifs du modèle relationnel :
 proposer des schémas de données faciles à utiliser,
 améliorer l'indépendance logique et physique,
 mettre à la disposition des utilisateurs des langages de haut niveau pouvant
éventuellement être utilisés par des non informaticiens,
 optimiser les accès à la base de données,
 améliorer l'intégrité et la confidentialité,
 fournir une approche méthodologique dans la construction des schémas.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Passage au relationnel

Transformation des ensembles d’entités :


 Chaque ensemble d'entités/classes E =>
 une relation R dont le schéma est celui de l'ensemble d'entités/classe
 l'identificateur de E devient la clé de R
 Chaque ensemble d'entités faibles/association qualifiée E =>
une relation R qui comprend tous les attributs de E + l'identificateur de l'ensemble d'entités fortes/classe
associé(e)
 Une association binaire de type n : m devient une table supplémentaire
 Une association non binaire est traduite par une table supplémentaire dont la clé primaire
est composée d’autant de clés étrangères que d’entités en association
 Généralisation-spécialisation/héritage =>
 l'ensemble d'entités généralisante/classe mère E => une relation R
 chaque ensemble d'entités Ei spécialisé/classe fille => une relation Ri dans laquelle l'identifiant est de
même domaine que l'identifiant de E
KINDO A AZIZE / UNIVERSITE NAZI BONI
Concepts de base
 Domaine : Ensemble de valeurs caractérisé par un nom.
D1 = {voiture, moteur, roue, châssis, essieu, culasse, piston, bielle, pneu }
D2 = {1,2,3,4,5}
 Relation : Sous-ensemble du produit cartésien d’une liste de domaines caractérisé par un nom.
 Attribut : Colonne d’une relation caractérisée par un nom. Ceci permet de rendre l’ordre des
colonnes sans importance.
 Tuple : Ligne d’une relation correspondant à un enregistrement.
 Schéma de relation : Nom de la relation suivi de la liste des attributs et de la définition de
leurs domaines. Un schéma de relation est noté sous la forme : R (A1 : D1, A2 : D2..., Ai : Di...
An : Dn)

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base
 Le produit cartésien de domaines D1, D2,…, Di,…, Dn est l’ensemble des n-
uplets ou tuples (v1,v2,…, vi, …, vn) tels que vi  Di.
 Cardinalité : nombre de tuples de la relation. Exemple la cardinalité dans
DEPT est 4
 L’ordre des lignes et des colonnes n’est pas significatif
 Pas de lignes identiques
 Le nom d’une relation est unique dans une BD

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base
Une super-clé d'une relation est un sous-ensemble d’attributs dont les valeurs
identifient un unique tuple de cette relation.
Par définition, l'ensemble des attributs d'une relation est une super-clé de cette
dernière.
La clé d'une relation, également désignée clé primaire, est une super-clé
minimale.
Une super-clé est minimale si aucun sous-ensemble strict de la super-clé est une
super-clé.
 Il est possible de distinguer deux types de clé dans une relation :
 la clé primaire est une clé choisie de manière arbitraire,
 une clé alternative est une clé autre que la clé primaire.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base
Clé étrangère
Soit R2 une relation, un sous-ensemble d’attributs FK dans R2 est dit clé étrangère
lorsque:
 il existe une relation R1 de clé primaire PK (R1 peut être R2)
 à tout instant, chaque valeur de FK dans R2 est identique à une valeur de PK dans R1
On fera précéder les clés étrangères du caractère dièse (#).
Propriétés
 Il n’est pas nécessaire d’avoir pour toute valeur de PK dans R1 une valeur identique
de FK dans R2 ;
 Un attribut d’une clé étrangère peut faire partie d’une clé candidate de sa relation ;
 Chaque attribut d’une clé étrangère doit être défini sur le même domaine que son
équivalent dans la clé primaire correspondante.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base
 Contrainte référentielle (Referential constraint)
Contrainte d’intégrité portant sur une relation R1, consistant à imposer que la valeur d’un groupe d’attributs
apparaisse comme valeur de clé dans une autre relation R2.
 Valeur nulle (Null value)
Valeur conventionnelle introduite dans une relation pour représenter une information inconnue ou inapplicable.
 Contrainte d’entité (Entity constraint)
Contrainte d’intégrité imposant que toute relation possède une clé primaire et que tout attribut participant à
cette clé primaire soit non nul.
 Contrainte de domaine (Domain constraint)
Contrainte d’intégrité imposant qu’une colonne d’une relation doit comporter des valeurs vérifiant une
assertion logique.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base

 Le schéma d’une relation représente son intention c’est-à-dire les propriétés


(au moins certaines) communes et invariantes des tuples qu’elle va contenir
au cours du temps.
 Exemple:
• EMP(MATR: entier, NOME: Chaine de caractère, POSTE: Chaine de caractère, SUP:
entier, DATEEMB: date, SAL: décimal, COMM: décimal, DEPT: entier)
• DEPT(DEPT: entier, NOMD: Chaine de caractère, LIEU: Chaine de caractère)

KINDO A AZIZE / UNIVERSITE NAZI BONI


Concepts de base
 une table représente une extension d’une relation c’est-à-dire
une vue des n-uples qu’elle contient à un instant donné. Une
extension d’une relation R est aussi appelée instance de R.
 L’intention est le résultat de la description des données, alors
qu’une extension (ou instance) fait suite à des manipulations et
représente un état de la base.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre et calcul relationnel

 Algèbre relation
 Opérateurs unaires
 Opérateurs ensemblistes
 Opérateurs binaires
 Opérateurs additionnels
 Exemple de requêtes en algèbre relationnel
 Calcul relationnel
 Le calcul relationnel à variables domaines
 Le calcul relationnel à variables tuples

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre et calcul relationnel

 L'algèbre relationnelle et le calcul relationnel sont des langues formelles


associées au modèle relationnel.
De façon informelle,
 L'algèbre relationnelle est un langage procédural (de haut niveau) et
 Le calcul relationnel est une langage non procédurale.
Cependant, formellement les deux sont équivalents les uns aux autres.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre relationnelle

 Les opérations d'algèbre rationnelle fonctionnent sur une ou plusieurs


relations pour définir une autre relation sans changer les relations d'origine.
 Dans cela, les opérandes et les résultats sont des relations, de sorte que la
sortie d'une opération peut être entrée dans une autre opération.
 Cela permet d'imbriquer les expressions, tout comme dans l'arithmétique.
Cette propriété s'appelle la fermeture.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre relationnelle
L’algèbre relationnelle regroupe plusieurs types d’opérateurs
 Opérations unaire
 SELECTION (symbole: σ (sigma))
 PROJECTION (symbole: π (pi))
 RENOMMER(symbole: ρ (rho))
 Opérations ensemblistes
 UNION ( ∪ ), INTERSECTION ( ∩ ), DIFFERENCE (or MINUS, – )
 PRODUIT CARTESIEN ( x )
 Opérateur Binaire
 JOINTURE (plusieurs variants de JOINTURE existent)
 DIVISION
 Operateurs Additionnel
 OUTER JOINS
 FONCTION D’AGREGATION
SUM, COUNT, AVG, MIN, MAX
KINDO A AZIZE / UNIVERSITE NAZI BONI
Algèbre relationnelle

 Il existe 5 opérations de base, dans l'algèbre relationnelle, qui effectue la


plupart des opérations de récupération de données nécessaires.
 Sélection
 Projection
 Produit Cartésien
 Union
 Différence
 Also operations that can be expressed by 5 basic operations.

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre relationnelle

KINDO A AZIZE / UNIVERSITE NAZI BONI


Algèbre relationnelle

KINDO A AZIZE / UNIVERSITE NAZI BONI


Soit la table emp

KINDO A AZIZE / UNIVERSITE NAZI BONI


SELECTION(σ)

La sélection encore appelée restriction, extrait les tuples d'une relation qui
satisfait une condition donnée.

σCond(EMP)
σPOSTE=SECRETAIRE(EMP)

KINDO A AZIZE / UNIVERSITE NAZI BONI


PROJECTION (π)

Extrait les attributs spécifiés (colonnes) d'une relation.


πx(R)

. π MATR,NOME,POSTE(EMP)

KINDO A AZIZE / UNIVERSITE NAZI BONI


Produit cartésien (×)

 Opération portant sur deux relation R et S, consistant à construire une


relation RXS ayant pour schéma la concaténation de ceux des relations
opérandes et pour tuples toutes les combinaisons des tuples des relations
opérandes.
 Exemple soit les tables U et V

 UxV =

KINDO A AZIZE / UNIVERSITE NAZI BONI


Produit cartésien (×) et SELECTION(σ)

 σU.B=V.B (πA,B(u)xπC,B (V))

KINDO A AZIZE / UNIVERSITE NAZI BONI


UNION (∪)
 Opération portant sur deux relations de même schéma R et S consistant à
construire une relation de même schéma R3 ayant pour tuples ceux
appartenant à R ou S ou aux deux relations.
 Notation : RESULT = UNION (R1,R2) = R1 ∪ R2
 Exemple : Soit R=πB(u) et S=πB (V)

 RUS

 Remarques :L'union ne peut porter que sur deux relations ayant le même
schéma de table c'est-à-dire sur deux tables ayant strictement les mêmes
attributs. On dit dans ce cas que les relations sont compatibles.
KINDO A AZIZE / UNIVERSITE NAZI BONI
INTERSECTION (∩):

 L'intersection est une opération portant sur deux relations de même schéma R1
et R2. Elle consiste à construire une relation R de même schéma que R1 et R2
ayant pour tuples ceux appartenant à la fois à R1 et R2.
Notation R=INTERSECT (R1,R2) = AND (R1, R2) = R1 ∩ R2
 Remarques : L'intersection ne peut porter que sur deux relations ayant le même
schéma de table c'est-à-dire sur deux tables ayant strictement les mêmes
attributs.
 Exemple : Soit R=πB(u) et S=πB (V)

R∩S
KINDO A AZIZE / UNIVERSITE NAZI BONI
DIFFERENCE(-)

 La différence est une opération portant sur deux relations de même schéma
R1 et R2. Elle consiste à construire une relation RESULT de même schéma que
R1 et R2 ayant pour tuples ceux appartenant à R1 et n'appartenant pas à R2.
 Notation : RESULT = MINUS (R1,R2) = R1 – R2 = R1 \ R2
 Exemple : Soit R=πB(U) et S=πB (V)

 R-S S-R

KINDO A AZIZE / UNIVERSITE NAZI BONI


JOINTURE
 Join conditionnel:
R  c S   c ( R  S)
(sid) sname rating age (sid) bid day
22 dustin 7 45.0 58 103 11/12/96
31 lubber 8 55.5 58 103 11/12/96
S1  R1
S1. sid  R1. sid
 Le Schéma du résultat est le même que celui du produit Cartésien.
 Moins de tuples que dans le produit Cartésien; pourrait être calculé de manière
plus efficiente.
 Parfois appelé theta-join.
Joins (Suite)
 Equi-Join: Un cas spécial du join conditionnel où la
condition c contient seulement des égalités.
sid sname rating age bid day
22 dustin 7 45.0 101 10/10/96
58 rusty 10 35.0 103 11/12/96
S1  R1
sid
 Schéma du résultat similaire au produit Cartésien, mais
contient seulement une copie des attributs pour lesquels
l’égalité est spécifiée.
 Join naturel: Equi-join dans lequel il y a égalité entre tous
les attributs ayant le même nom dans les deux relations.
Autres opérations

KINDO A AZIZE / UNIVERSITE NAZI BONI


DIVISION

Certaines requêtes contenant le terme « pour tous »


Soient r(R) et s(S) avec S⊆R
la relation r ÷ s a pour schéma R – S

KINDO A AZIZE / UNIVERSITE NAZI BONI

Vous aimerez peut-être aussi