Vous êtes sur la page 1sur 5

Introduction au modle relationnel

http://laurent-audibert.developpez.com/Cours-BD/html/Cours-BD014.html

PAGE D'ACCUEIL DU COURS La version finalise, largement enrichie et corrige de cette premire bauche de cours est parue, dans la collection Info+ chez les ditions Ellipses, sous le titre Bases de donnes - de la modlisation au SQL (cours et exercices) (FNAC, amazon.fr)

3.1 Introduction au modle relationnel


3.1.1 Prsentation
Le modle relationnel a dj t introduit dans la section 1.1.2. Dans ce modle, les donnes sont reprsentes par des tables, sans prjuger de la faon dont les informations sont stockes dans la machine. Les tables constituent donc la structure logique1 du modle relationnel. Au niveau physique, le systme est libre dutiliser nimporte quelle technique de stockage (fichiers squentiels, indexage, adressage dispers, sries de pointeurs, compression, ) ds lors quil est possible de relier ces structures des tables au niveau logique. Les tables ne reprsentent donc quune abstraction de lenregistrement physique des donnes en mmoire. Le succs du modle relationnel auprs des chercheurs, concepteurs et utilisateurs est d la puissance et la simplicit de ses concepts. En outre, contrairement certains autres modles, il repose sur des bases thoriques solides, notamment la thorie des ensembles et la logique des prdicats du premier ordre. Les objectifs du modle relationnel sont : proposer des schmas de donnes faciles utiliser ; amliorer lindpendance logique et physique (cf. section 1.2.2) ; mettre la disposition des utilisateurs des langages de haut niveau ; optimiser les accs la base de donnes ; amliorer lintgrit et la confidentialit ; fournir une approche mthodologique dans la construction des schmas. De faon informelle, on peut dfinir le modle relationnel de la manire suivante : les donnes sont organises sous forme de tables deux dimensions, encore appeles relations, dont les lignes sont appeles n-uplet ou tuple en anglais ; les donnes sont manipules par des oprateurs de lalgbre relationnelle ; ltat cohrent de la base est dfini par un ensemble de contraintes dintgrit. Au modle relationnel est associe a la thorie de la normalisation des relations qui permet de se dbarrasser des incohrences au moment de la conception dune base de donnes relationnelle.

3.1.2 lments du modle relationnel


Dfinition 1 -attribut- Un attribut est un identificateur (un nom) dcrivant une information stocke dans une base. Exemples dattribut : lge dune personne, le nom dune personne, le numro de scurit sociale.

1 sur 5

20/06/2013 09:13

Introduction au modle relationnel

http://laurent-audibert.developpez.com/Cours-BD/html/Cours-BD014.html

Dfinition 2 possibles.

-Domaine- Le domaine dun attribut est lensemble, fini ou infini, de ses valeurs

Par exemple, lattribut numro de scurit sociale a pour domaine lensemble des combinaisons de quinze chiffres et nom a pour domaine lensemble des combinaisons de lettres (une combinaison comme cette dernire est gnralement appele chane de caractres ou, plus simplement, chane). Dfinition 3 -relation- Une relation est un sous-ensemble du produit cartsien de n domaines dattributs (n > 0). Une relation est reprsente sous la forme dun tableau deux dimensions dans lequel les n attributs correspondent aux titres des n colonnes. Dfinition 4 -schma de relation- Un schma de relation prcise le nom de la relation ainsi que la liste des attributs avec leurs domaines. Le tableau 3.1 montre un exemple de relation et prcise son schma. N Scu Nom Prnom 354338532195874 Durand Caroline 345353545435811 Dubois Jacques 173354684513546 Dupont Lisa 973564213535435 Dubois Rose-Marie Tableau 3.1: Exemple de relation de schma Personne(N scu : Entier, Nom : Chane, Prnom : Chane) Dfinition 5 -degr- Le degr dune relation est son nombre dattributs.

Dfinition 6 -occurrence ou n-uplets ou tuples- Une occurrence, ou n-uplets, ou tuples, est un lment de lensemble figur par une relation. Autrement dit, une occurrence est une ligne du tableau qui reprsente la relation. Dfinition 7 -cardinalit- La cardinalit dune relation est son nombre doccurrences. Dfinition 8 -cl candidate- Une cl candidate dune relation est un ensemble minimal des attributs de la relation dont les valeurs identifient coup sr une occurrence. La valeur dune cl candidate est donc distincte pour toutes les tuples de la relation. La notion de cl candidate est essentielle dans le modle relationnel. Rgle 9 Toute relation a au moins une cl candidate et peut en avoir plusieurs. Ainsi, il ne peut jamais y avoir deux tuples identiques au sein dune relation. Les cls candidates dune relation nont pas forcment le mme nombre dattributs. Une cl candidate peut tre forme dun attribut arbitraire, utilis cette seule fin. Dfinition 10 -cl primaire- La cl primaire dune relation est une de ses cls candidates. Pour signaler la cl primaire, ses attributs sont gnralement souligns. Dfinition 11 -cl trangre- Une cl trangre dans une relation est forme dun ou plusieurs attributs qui constituent une cl primaire dans une autre relation. Dfinition 12 de relation. -schma relationnel- Un schma relationnel est constitu par lensemble des schmas

Dfinition 13 -base de donnes relationnelle- Une base de donnes relationnelle est constitue par lensemble des n-uplets des diffrentes relations du schma relationnel.
2 sur 5 20/06/2013 09:13

Introduction au modle relationnel

http://laurent-audibert.developpez.com/Cours-BD/html/Cours-BD014.html

3.1.3 Passage du modle entits-associations au modle relationnel


Rgles de passage Pour traduire un schma du modle entits-associations vers le modle relationnel, on peut appliquer les rgles suivantes : 1. La normalisation devrait toujours tre effectue avant le passage au modle relationnel (cf. section 2.4.4). Dans les faits, elle est parfois faite a posteriori (section 3.2), ce qui impose toujours une surcharge de travail importante. 2. Chaque type-entit donne naissance une relation. Chaque attribut de ce type-entit devient un attribut de la relation. Lidentifiant est conserv en tant que cl de la relation. 3. Chaque type-association dont aucune patte na pour cardinalit maximale 1 donne naissance une relation. Chaque attribut de ce type-association devient un attribut de la relation. Lidentifiant, sil est prcis, est conserv en tant que cl de la relation, sinon cette cl est forme par la concatnation des identifiants des type-entits qui interviennent dans le type-association. 4. Un type-association dont au moins une patte a une cardinalit maximale 1 (ce type-association devrait tre binaire et na gnralement pas dattribut) ne devient pas une relation. Il dcrit en effet une dpendance fonctionnelle (cf. section 3.2). La relation correspondant au type-entit dont la patte vers le type-association a une cardinalit maximale valant 1, se voit simplement ajouter comme attribut (et donc comme cl trangre) lidentifiant de lautre type-entit. Cas particulier dun type-assocuation du type 1 vers 1

Figure 3.1: Reprise de lexemple de la figure 2.26 dun type-association Etre o toutes les cardinalits maximales sont de 1. Dans lexemple de la figure 3.1 toutes les cardinalits maximales du type-association Etre sont de 1. Lapplication des rgles de passage du modle entits-associations au modle relationnel nonces ci-dessus nous donnerait : Citoyen(Num-Citoyen, Num-Candidat, Nom, Prnom, Adresse) Candidat(Num-Candidat), Num-Citoyen, Parti) Lattribut Num-Candidat dans la relation Citoyen est une cl trangre de la relation Candidat. Lattribut Num-Citoyen dans la relation Candidat est une cl trangre de la relation Citoyen. Le type-association Etre tant du type 1 vers 1, il est entirement matrialis dans la relation Candidat par lattribut Num-Citoyen. Il est donc inutile de la rematrialiser dans la relation Citoyen. Lattribut Num-Candidat dans la relation Citoyen doit donc tre supprim. Dautre part, dans la relation Candidat, lattribut Num-Citoyen, en plus dtre une cl trangre, constitue une cl candidate. On peut donc se passer de la cl Num-Candidat. Le schma relationnel adquat correspondant au modle entits-associations de la figure 3.1 devient donc :

3 sur 5

20/06/2013 09:13

Introduction au modle relationnel

http://laurent-audibert.developpez.com/Cours-BD/html/Cours-BD014.html

Citoyen(Num-Citoyen, Nom, Prnom, Adresse) Candidat(Num-Citoyen, Parti) o Num-Citoyen, en plus dtre la cl de la relation Candidat, est une cl trangre de la relation Citoyen. Cas particulier dun type-entit sans attribut autre que sa cl Lorsquun type-entit ne possde pas dattribut en dehors de sa cl, il ne faut pas ncessairement en faire une relation.

Figure 3.2: Ici, le type-entit Date ne doit pas se matrialiser par une relation. Par exemple, le type-entit Date de la figure 3.2 ne doit pas se traduire par une relation. Le schma relationnel adquat correspondant au modle entits-associations de la figure 3.2 est donc : Exemplaire(Num-Exemplaire, date-achat) Personne(Num-Personne, nom, prnom, adresse) Emprunter(Num-Exemplaire, Num-Personne, Date, date-retour) Exemple complet

Figure 3.3: Exemple trs simplifi de modlisation entits-associations Comme exemple dapplication, voici les relations dduites du schma entits-associations de la figure 3.3 :

4 sur 5

20/06/2013 09:13

Introduction au modle relationnel

http://laurent-audibert.developpez.com/Cours-BD/html/Cours-BD014.html

Patient(Num-Patient, Nom-Patient, Num-Mutuelle) Mutuelle(Num-Mutuelle, Nom-Mutuelle) Mdecin(Num-Mdecin, Nom-Mdecin, Prnom-Mdecin) Affection(Num-Affection, Nom-Affection) Hospitaliser(Num-Patient, Num-Affection, Num-Mdecin, Date-Entre, Chambre, DureHospitalisation) 1 Le terme structure logique englobe ici le niveau conceptuel et les niveaux externes dANSI/SPARC (cf. section 1.2.3) et correspond approximativement au niveau logique de Merise (cf. section 2.1.2).

BASE DE DONNES ET LANGAGE SQL LAURENT AUDIBERT La version finalise, largement enrichie et corrige de cette premire bauche de cours est parue, dans la collection Info+ chez les ditions Ellipses, sous le titre Bases de donnes - de la modlisation au SQL (cours et exercices) (FNAC, amazon.fr)
E E Ce cours a dj t consult 1 447 626 fois. Ce document a t traduit de LATE X par H V A

5 sur 5

20/06/2013 09:13