Vous êtes sur la page 1sur 26

Base de donnes relationnelles 1

Chapitre 2: Le modle relationnel Notions de base


Chapitre 2: Le modle relationnel 1

Les concepts de base


Le modle relationnel a t introduit par E.F. Codd vers les annes 70 aux laboratoires de recherche dIBM. Cest un modle logique associ aux SGBD relationnels (ex: oracle, DB2, SQLServer, Access,..) Le modle relationnel est simple, facile apprhender, mme pour un non spcialiste. Le modle relationnel reprsente linformation dans une collection de relations ou tables.

Chapitre 2: Le modle relationnel

Objectifs
Cest un modle bas sur la thorie des ensembles: notion mathmatique fonde et approuve. Parmi les objectifs de ce modle:
Permettre un haut degr dindpendance entre les programmes dapplication et les reprsentations internes des donnes (stockage, type dindexage,) Fournir une base solide pour traiter les problmes de cohrence et de redondance des donnes.

Chapitre 2: Le modle relationnel

Objectifs
Ces deux objectifs sont pleinement satisfaits par le modle relationnel grce la notion de vues externes et aux rgles dintgrits. Dautres objectifs ont t atteints par la suite:
Permettre le dveloppement de langage de manipulation de donnes non procduraux bas sur des thorie solides. Etre un modle extensible permettant de modliser et de manipuler simplement des donnes tabulaires, mais pouvant tre tendu pour modliser et manipuler dautres donnes plus complexes. Devenir un standard pour la description et la manipulation des bases de donnes (Le modle et son langage SQL sont normaliss en 1986)

Chapitre 2: Le modle relationnel

Structures de base
La structure de base est trs simple.
Trois structures:
Le domaine. L Attribut. La Relation.

Une analogie trs forte avec la thorie des ensembles.

Chapitre 2: Le modle relationnel

Domaine
Un domaine est un ensemble de valeurs atomiques. Le terme atomique signifie que ces valeurs sont considres comme inscables au niveau du modle. Un domaine est caractris par un nom. Peut tre dfini
Soit en intension: en dfinissant une proprit caractristique des valeurs du domaine. Soit en extension: en donnant la liste de toutes les valeurs le composant.

Exemple:
Entier. Rel. Chaine de caractres. Salaire = {4 000..100 000}. Couleur ={bleu, rouge, blanc}.

Chapitre 2: Le modle relationnel

Les attributs
La notion dattribut en relationnel correspond la notion de proprit pour une entit. Un attribut est dfini par un nom et un domaine. Le domaine dun attribut dcrit les valeurs autorises pour cet attribut. Les valeurs dun attribut sont atomiques: non dcomposables. Contrainte supplmentaire: unicit, non nullit, cl, cl trangre, valeur par dfaut.
Chapitre 2: Le modle relationnel 7

Produit cartsien de domaines


Le produit cartsien d1xd2xxdn est lensemble des tuples (n-uplets): <v1,v2,,vn> tel que vi di. Exemple:
D1={bleu, blanc, rouge} D2={vrai, faux}

Bleu Bleu Blanc Blanc Rouge Rouge

Vrai Faux Vrai Faux Vrai Faux

Chapitre 2: Le modle relationnel

Les relations (tables)


Sous ensemble du produit cartsien dune liste de domaines. Une relation est caractrise par un nom. La forme tabulaire est la forme la plus utilise pour reprsenter une relation. Dans cette table: Chaque ligne reprsente un vecteur ou enregistrement de lensemble du produit cartsien des domaines Chaque colonne reprsente un domaine. Exemple:
D1= couleur. D2= boolen. RelCoul Coul Choix Bleu Faux Blanc Vrai Rouge Vrai

Chapitre 2: Le modle relationnel

Caractristiques des relations


Une relation est un ensemble de n-uplets, il ny a donc pas une notion dordre sur les n-uplets lordre des lignes et des colonnes nest pas significatif. Par contre un n-uplet est une squence ordonne dattributs. Une valeur dattribut est atomique mais peut tre ventuellement nulle( valeur particulire qui indique que la valeur est manquante)

Chapitre 2: Le modle relationnel

10

Exemple de relation (table)


Reprsentation graphique dune table: EMPLOYES:
Matricule Nom DateNaiss Salaire #NomService

Nom de la table: Schma: 1re ligne. Tuple: chacune des autres lignes. Cl de la relation: Matricule. Cl trangre: #NomService
Chapitre 2: Le modle relationnel 11

Schma de relation
Un schma de relation R, dnot par R(A1,A2,,An), est un ensemble dattributs R={A1,A2,,An}. A chaque attribut Ai est associ un domaine Di, Ai indiquant le rle jou par le domaine Di dans la relation R. Un schma de relation dcrit une relation et reprsente lintension de celle-ci. Le degr de la relation est le nombre dattributs de celle-ci.

Exemple: ETUDIANT(Nom,No-ss, Adresse, Age, Diplme)


Chapitre 2: Le modle relationnel 12

Schma de relation en extension


Une relation r sur le schma de relation R(A1,A2,,An) est un ensemble de n-uplets r=(t1,t2,,tn). r est souvent appele extension du schma R. On peut galement dfinir une relation partir du produit cartsien des domaines de son schma R: r( R ) inclus-ou-egal dom(A1)Xdom(A2)X.Xdom(An) Un schma de relation est quasi invariant dans le temps, alors que lextension reprsente les donnes prsentes un instant donn dans la base.
Chapitre 2: Le modle relationnel 13

Schma de BD
Un schma de base de donnes est un ensemble de schmas de relation S={R1,R2,,Rn} et un ensemble de contrainte dintgrit CI.

Exemple: Client(NumCli, Nom, Prnom, DateNaiss, Rue, Ville). Produit(NumProd,Dsi, PrixUni, NumFour) Fournisseur(NumFou, RaisonSoc) COMMANDE(NumCli, NumProd, Date, Quantit)

Chapitre 2: Le modle relationnel

14

Diagramme des liens


CLIENT
NumClt

PRODUIT
NumPrt

COMMANDE
NumClient NumProduit Date Qte

Chapitre 2: Le modle relationnel

15

Les contraintes dintgrit


Les contraintes (rgles) dintgrit sont les assertions qui doivent tre vrifies par les donnes dune base. Cest une proprit du schma, invariante dans le temps. On peut distinguer plusieurs catgories de contraintes. Les contraintes structurelles: dfinissent plus prcisment la structure des associations entre les donnes.

Chapitre 2: Le modle relationnel

16

Les contraintes dintgrit


Les contraintes sur les valeurs: donnent des relations entre les donnes(un chef gagne plus que ses subordonnes). Le modle relationnel impose une contrainte minimale qui est lunicit des cls. Les autres contraintes structurelles sont: Les contraintes de rfrence Les contraintes de domaine

Chapitre 2: Le modle relationnel

17

Les cls
La cl dune table est un attribut ou groupe dattributs dont les valeurs identifient de faon unique une ligne de la table. Il est possible que plusieurs combinaisons dattributs puissent tre exploites comme cl:
On choisi la combinaison la plus courte comme cl primaire. les autres combinaisons sont des cls candidates.

Il est parfois utile de crer des cls artificielles lorsque les cls
candidates sont compliques.

Chapitre 2: Le modle relationnel

18

Les cls trangres


Employs
Matricule Nom DateNaiss Salaire NomService

Services

NomService

Budget

Etage

Dans la table Service NomService est une cl primaire qui permet de retrouver la ligne dcrivant un service donn. Dans la table Employs NomService est une cl trangre qui permet daller chercher dans la table Service la description du service auquel appartient un employ donn.
Chapitre 2: Le modle relationnel 19

Les cls trangres


Le terme cl trangre signifie une cl dune autre table. La notion de cl trangre est utilise pour tablir le lien smantique entre deux tables. Soit A une table possdant un attribut b* dfinit comme cl trangre provenant de la table B:
Chaque ligne de la table A possde une valeur pour la cl trangre b*, permettant de retrouver une ligne de la table B. Chaque ligne de la table B possde une valeur pour la cl b qui peut apparaitre dans 0 ou n ligne de la table A comme valeur de b*. B* tablit un lien n-1 entre A et B

Les cls trangres sont les seules redondances autorises: plusieurs lignes de la table A peuvent avoir la mme valeur de b*
Chapitre 2: Le modle relationnel 20

Les cls trangres


Rgles dintgrit rfrentielle:
Toute valeur saisie pour une cl trangre doit tre incluse dans lensemble des valeurs de la cl rfrence. Toute valeur saisie dans une colonne b* doit exister dans la colonne b. Le non respect de cette rgle entraine que la table A rfrence des lignes nexistant pas dans la table B Lorsque lon supprime une ligne dans la table rfrence, la valeur de la cl supprime doit avoir t pralablement supprime des colonnes cl trangres.
Chapitre 2: Le modle relationnel 21

Contrainte de domaine
Contraintes de domaine: les attributs doivent respecter une condition logique. Exemple: PrixUni >0 ET PrixUni<10 000

Chapitre 2: Le modle relationnel

22

Valeurs nulles
Une valeur nulles est un abus de langage pour dsigner une absence de valeur dun attribut On dit aussi nul

Chapitre 2: Le modle relationnel

23

Contrainte de rfrence
Cest une contrainte exprime entre deux relations. Cela consiste vrifier que linformation utilise dans un uplet pour dsigner un autre uplet est valide, notament si luplet dsign existe bien. Par exemple, soient les deux relations: Employ(no-ss, nom, adresse, role, no-dept). Dpartement(no-dept, nom, no-ss, no-ss-chef). Un uplet de Employ rfrence un uplet de departement via lattribut no-dept. Un uplet Dpartement rfrence un uplet de Employ via lattribut no-ss-chef (nu de scurit sociale du chef du dpartement). Il est important de sassurer que les n-uplets rfrencs existent bien
Chapitre 2: Le modle relationnel 24

Contrainte de rfrence
On peut noter quun uplet peut rfrencer un autre uplet de la mme relation. Dans ce cas, no-dept et no-ss-chef sont appels des cls trangres puisque se sont des attributs cls dune autre relation. Cette contrainte implique un ordre dans la cration ou la destruction des entits, puisquon ne peut crer un dpartement si le uplet qui correspond au chef na pas t cr et on ne peut dtruire un chef de dpartement si le dpartement existe toujours (ou bien si on na pas mis un autre chef)

Chapitre 2: Le modle relationnel

25

Conclusion
Un ensemble de concepts bien compris et bien formalis. Un modle unique, de plus en plus riche et normalis: Intgration des BD actives. Intgration de s BD objets

Un formalisme qui stend plutt bien: Algbre dobjets Un langage associ dfini plusieurs niveaux: SQL 1,2,3.
Chapitre 2: Le modle relationnel 26