Vous êtes sur la page 1sur 38

Universit Moulay Ismail

Facult des Sciences Juridiques, Economiques et Sociales


Mekns

Base de donnes relationnelles

Dr. I. Essaoudi

A. U. : 2010/2011
Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

1. Les systmes dinformation


1.1. Introduction
La mise en uvre des systmes dinformation est un atout dcisif dans notre monde contemporain. On peut
considrer que le fonctionnement normal dune entreprise conduit une suite de dcisions qui ont plus ou moins de
consquences suivant la position hirarchique du dcideur. On peut noter cependant que chaque dcision a une
importance et doit tre la plus pertinente possible, cest dire quil faut valuer les avantages et les inconvnients et
connatre au mieux les lments favorisants la prise de dcision.
Le rle du systme dinformation va donc tre de recueillir, de mmoriser, de vhiculer et de fournir les
informations lies au fonctionnement dune organisation.
1.2. Systme dinformation
1.2.1. Dfinition dun systme
Pour bien matriser le concept de systme dinformation, il est important de bien identifier la notion de systme.
Un systme peut tre relatif une notion abstraite ou physique :
Un systme abstrait est un arrangement ordonn dides ou de constructions indpendantes. Par exemple, un
systme thologique est un arrangement ordonn dides propos de Dieu et de la relation entre Dieu et les humains.
Un systme physique est un groupe dlments qui fonctionnent ensemble pour atteindre un objectif. Par
exemples :
8 Systme circulatoire : le cur et les vaisseaux sanguins faisant circuler le sang travers le corps.
8 Systme informatique : quipements qui fonctionnent en conjonction pour accomplir un traitement
informatique.
Un systme reprsente donc un regroupement de composants identifis interagissant pour atteindre un objectif
commun.
1.2.2. Dfinition des systmes dinformation

Le systme dinformation est vu comme un sous systme de lentreprise li au systme oprant (qui ralise les
activits) et au systme de dcision (qui fixe les objectifs et effectue les choix). Il est construit pour reprsenter de
manire objective les vnements, les donnes et les oprations caractristiques de lactivit de lentreprise.
Le systme dinformation peut tre schmatis par la figure ci-dessous :

Systme de pilotage
Flux dematires premires,

Flux deproduits, argent,

Systme dinformation
argent, information

information

Systme oprant

Le Systme dorganisation

Figure 1 : Le systme dinformation dans une entreprise

Le systme dinformation reprsente loutil de communication de lorganisation : il peut tre dcoup en sous-
systmes appels systmes dinformation locaux . Ces systmes cooprent entre eux (Figures 2 et 3).

Bases de donnes relationnelles Page1


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

SI local 2

SI local 1 SI local 3

SI local 4
Organisation A
Organisation B
Figure 2. :
Figure 3. :
S.I. GLOBAL : Articulation entre SI locaux
S.I. GLOBAL : Coopration entre systmes distribus

1.2.3. Fonctions du systme dinformation

Un systme dinformation doit avoir deux fonctions essentielles : la production dinformation et la mise en uvre
des moyens destins raliser cette production.
Produire linformation sous-entend collecter, traiter et mmoriser les informations.
1.2.4. Gestion dun systme dinformation

Cette fonction de gestion va se rpartir essentiellement en trois types de fonctions :


La fonction technologique
Cette fonction consiste mettre en uvre les moyens permettant de produire de faon optimum linformation
telle quelle a t dfinie. Cela signifie que linformation que lon souhaite obtenir doit tre le plus proche possible de la
schmatisation du monde rel. A cet effet, des outils sont disponibles chaque tape du processus de construction. Ces
moyens de mise en uvre sont : des quipements (informatique, bureautiques, rseau, etc) des logiciels, des
mthodes de dveloppement permettant de modliser les donnes du systme dinformation et les traitements sur ces
donnes, des savoir-faire des formations
La fonction conomique
Cette fonction va surtout permettre de contrler la qualit du systme dinformation, de matriser les cots et
davoir une tude rationnelle de lvolution du systme.
La fonction sociale
Elle va contribuer mettre en uvre les modifications du systme dinformation sans perturber son bon
fonctionnement.
1.3. Conception dun systme dinformation
La conception dun systme dinformation se fait en trois phases principales : lanalyse, la ralisation et la mise
en place.
1.3.1. La phase danalyse
Elle a pour objectif de dfinir les fonctions attendues du systme dinformation. Elle reprsente environ 25% des
efforts de projet de dveloppement. Elle reprsente 25% des efforts de projet de dveloppement. Le rsultat final de
cette tape se prsente sous forme de spcifications fonctionnelles. Cette phase peut tre divise en quatre parties :
Elle
-La proposition initiale : se prsente sous dun document bref qui justifie lintrt de lancer une tude de
faisabilit.
-Etude de faisabilit Elle: a pour objectif dexaminer lintrt de lapplication en termes davantages et de cot
et ensuite de juger la capacit technique de ralisation de cette application. Ltude de faisabilit se dcompose en
diffrentes tapes :
3 la faisabilit technique,
3 -La faisabilit conomique : analyse des diffrents cots engendrs et des avantages escompts,
3 -les motivations : analyse des motivations des individus ayant partie prenante dans le systme
dinformation
3 le calendrier : calendrier prvisionnel de dveloppement de lapplication

Bases de donnes relationnelles Page2


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
3 La faisabilit oprationnelle : cette phase est importante parce qu elle va chercher mesurer
lutilisation potentielle du systme
- Dfinition des besoins Elle :permet dexprimer ce que doit faire le systme dinformation. Elle sexprime donc
en termes de rsultats attendus. Une enqute va tre mene sous forme de questionnaires afin de dterminer les besoins
en information de chaque type dutilisateur du systme dinformation. Deux types de mthodes de dfinition des
besoins peuvent tre retenues :
3 La mthode descendante va permettre linterrogation du personnel, du responsable au personnel de
base. Cette mthode prsente lavantage de faciliter les contacts avec le personnel mais linconvnient
de navoir pas toujours une vision juste des besoins. En effet, le souci du responsable nest pas
toujours le souci collectif du service ;
3 La mthode ascendante va proposer linterrogation du personnel en commenant par le personnel de
base pour finir par les dirigeants. Lavantage est que lon prend connaissance des problmes par le
dtail. Linconvnient majeur est que le vision est trs parcellaire et donc que lon risque dobtenir
une mauvaise synthse de lensemble des besoins.
Les rsultats sont synthtiss dans un rapport qui contient les lments suivants :
9 Les ditions et le contenu de ces ditions,
9 les requtes (il sagit des interrogations faites la base de donnes),
9 Les schmas conceptuels de donnes,
9 Les besoins fonctionnels (par lintermdiaire dune modlisation et des traitements),
9 Les besoins dinterface : ce dernier point est important car linterface va constituer lintermdiaire
direct entre les utilisateurs et la machine.
-Description fonctionnelle Au cours
: de cette tape, on dfinit de manire plus prcise comment un systme
dinformation peut tre en mesure de rpondre aux besoins. Le rapport de description fonctionnelle aussi appele
analyse fonctionnelle va contenir les lments suivants :
9 Les flux de documents entre les services utilisateurs et lordinateur (entres et sorties),
9 La sparation entre les oprations manuelles et celles qui seront automatises,
9 Les fonctions ralises par lapplication,
9 Lorganigramme gnral des traitements avec les programmes principaux, les fichiers, les entres,
sorties,
9 La description des oprations manuelles, manuels utilisateurs, formation ncessaire,
9 Le processeur de contrle et laudit pour sassurer de la qualit des donnes dans lapplication.
1.3.2. La phase de conception / ralisation
-Description organique Cette
: tape poursuit la description fonctionnelle en prcisant les choix techniques. Cette
tape est faite par les informaticiens. La qualit de lanalyse organique dtermine la qualit du logiciel qui sera utilis
ultrieurement. Il est donc primordial de dcomposer le logiciel en programme et que chaque programme soit lui-mme
dcoupe en modules de faons en faciliter la lecture et la maintenance.
-Description de la base de donnes Elle se
: ralise ici au niveau physique par lintermdiaire dun module
physique de donnes partir du modle conceptuel de donnes et qui va reprsenter loutil de travail du programmeur.
-Ecriture des programmes Cette
: tape est exclusivement du ressort de linformaticien qui va programmer
lapplication en tenant compte des spcifications dfinies dans les tapes prcdentes.
-Prparation des procdures organisationnelles Le systme
: dinformation ne pourra tre utilis que si un
mode demploi destiner aux utilisateurs a t mis en uvre.
1.3.3. La phase de mise en place
Cette phase requiert en gnral 20% du temps de ralisation du systme dinformation.
Il est ncessaire
- Basculement vers le nouveau systme : deffectuer certaines tches avant lutilisation du
systme :
9 Un test sur le site doit tre effectu au sein dun service avant de lancer le projet en vraie grandeur,
9 Les nouveaux fichiers doivent tre prpars par la rcupration des donnes des anciens fichiers,

Bases de donnes relationnelles Page3


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
9 Il est fondamental de former les utilisateurs leurs nouvelles tches,
9 Il est souvent conseiller de faire fonctionner les deux systmes paralllement afin dassurer une
permutation plus aise.
- MaintenanceElle
: peut tre assure soit par les programmes soit par des quipes spcialises.
- Audit a posterioriUne: valuation peut tre mene aprs une anne environ de fonctionnement. Cette
phase permettra de dceler les inconvnients du systme et den modifier ainsi certains lments.
1.4. Les bases de donnes et Systmes de gestion de bases de donnes
1.4.1. Bases de donnes
Une base de donnes reprsente la partie centrale du systme dinformation (mmorisation et exploitation des
informations).
Une base de donnes reprsente un ensemble de donnes de lentreprise mmoris par un ordinateur qui est utilis par
de nombreuses personnes et dont lorganisation est rgie par un modle de donnes.
Une base de donnes doit satisfaire cinq critres :
9 Bonne reprsentation du monde rel : Elle doit tre une image fidle de la ralit ainsi que les
informations de la base doivent tre fiable et jour,
9 Non redondance de linformation : une information doit tre situe physiquement une seule place ;
9 Indpendance des programmes dapplication par rapport aux donnes
9 Scurit et confidentialit des donnes
9 Performance des applications et des requtes
1.4.2. Les systmes de gestion de bases de donnes
Un systme de gestion de base de donnes (SGBD) reprsente un ensemble coordonn de logiciels qui permettent de
dcrire, mmoriser, manipuler, interroger, les ensembles de donnes constituant la base. Il assure galement la scurit
et la confidentialit des donnes dans un environnement ou de nombreux utilisateurs ayant des besoins varis, peuvent
interagir simultanment sur les donnes.
Les fonctionnalits des SGBD
9 Limplantation des donnes : Un SGBD possde un langage de dfinition de donnes (L.D.D.) qui
permet la description des types dobjets qui seront utilises. Le SGBD se charge de limplantation
physique des donnes.
9 La gestion du dictionnaire de donnes : Les informations relatives la description, limplantation
et lutilisation des donnes sont mmorises dans une base de donnes spcifique appele
Metabase. Cette metabase contient les dictionnaires et est gre laide du SGBD lui-mme.
9 Les langages dinterrogation et de manipulation : Les SGBD disposent de langages spcifiques pour
linterrogation des donnes. SQL est lun des plus connus.
9 Loptimiseur de requtes : Dans certain SGBD (en particulier, les SGBD relationnels), il y a
plusieurs faons darriver la slection des donnes rpondant une requte considre ;
Loptimiseur choisit la faon la moins coteuse.
9 Lintgrit et la confidentialit : Seuls les utilisateurs autoriss seront habilits consulter certaines
parties de la base. Le systme dintgrit a pour but dassurer en permanence la cohrence des
donnes.
Intrt des SGBD
Un SGBD reprsente un logiciel qui tend dune faon trs importance les possibilits du systme dexploitation de
lordinateur pour les applications de gestion. Il permet en particulier dcrire beaucoup plus rapidement quavec des
langages de programmation classiques (COBOL, C, Pascal) des applications de gestion sans se soucier des problmes
de gestion de fichiers. Il facilite en outre la mise en uvre de la fiabilit des donnes (contraintes dintgrit) et de leur
scurit et confidentialit. Les SGBD reprsentent aujourdhui les outils les plus puissants que lon connaisse pour
mmoriser et manipuler de grands ensembles de donnes.

Bases de donnes relationnelles Page4


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Bases de donnes relationnelles


1. Introduction
Toute activit commerciale utilise des donnes, qui ont besoin dune mthode dorganisation ou de conservation. Ce
mcanisme est appel Systme de Gestion de Base de Donnes (SGBD). Les SGBD existent depuis de nombreuses
annes. A lorigine, la plupart dentre eux taient des systmes qui traitent des fichiers non-relationnels sur mainframe.
Aujourdhui, la croissance des activits commerciales et des volumes de donnes, ainsi que les technologies dInternet
largissent les fonctionnalits des systmes de gestion de base de donnes.
Dfinition dune base de donnes.
Une base de donnes est une collection de donnes. Certains considrent la base de donnes comme un mcanisme
organis pour stocker des informations et permettre un utilisateur de les retrouver efficacement.
On exploite les bases de donnes quotidiennement sans mme sen rendre compte. Dans le cas dun annuaire, les
donnes sont les noms de personnes, les adresses et les numros de tlphones.
Les listes sont classes par ordre alphabtique ou indexes, ce qui permet lutilisateur de retrouver facilement un
habitant particulier. Ces donnes sont stockes dans une base de donnes pour viter de nouvelles saisies chaque
changement ddition.
La base de donnes doit tre tenue jour. A chaque changement de situation, il est ncessaire dajouter, de modifier ou
de supprimer les entres dun annuaire : changement de nom, dmnagement, etc.
Dfinition dune base de donnes relationnelle
Une base de donnes relationnelle (BDR) est une base de donnes divises en units logiques appeles tables, en
relation les unes avec les autres au sein de la base. Une BDR permet de diviser les donnes en units logiques plus
petites et plus simples gain. Il en rsulte une maintenance simplifie et une amlioration de performances en fonction
du niveau dorganisation. Dans la figure 1, nous pouvons voir que les tables sont en relations les unes des autres par le
biais dune cl commune.

Relations

Utilisateurs
TABLE1 TABLE2 Transactions
Cl Cl Requtes
Donnes Donnes
Donnes, Objets stockes
Processus internes
Fichiers de bases de donnes

Figure 1. : Base de donnes relationnelle

Les donnes recherches pouvant se trouver dans plusieurs tables, ces relations entre les tables permettent de retrouver
les donnes adquates par simple requte. Avec des cls ou champs communs plusieurs tables dune base de donnes
relationnelle. Les donnes des diffrentes tables peuvent tre assembles pour former un rsultat unique.

Bases de donnes relationnelles Page5


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

2. Les fondements du modle relationnel


2.1. Dfinition gnrale du modle relationnel
2.1.1. Origine et objectif dun modle relationnel
Le modle relationnel de donnes a t propos par le mathmaticien Amricain E.F. Codd. En 1970, Codd a appliqu
une thorie mathmatique vielle dun sicle appele la thorie des relations la gestion des fichiers informatiques
pour grer de grandes banques de donnes partages .
Depuis 1980 le modle relationnel a t industrialis et depuis 1990 ce sont les SGBD relationnels qui dominent le
march. Oracle, DB2, Sybase, SQL Server sont les principaux SGBD disponibles sur gros et petit systme. Dautre
SGBD sont plus ou moins relationnels mais qui sinspirent tous de ces principes de base sont proposs sur les micro-
ordinateur : Dbase, Access sont les principaux reprsentants de ces logiciels.
Les objectifs dun modle relationnel peuvent snoncer en quatre points :
9 Utiliser des structures de donnes simples et issues de la vie courante : la notion de table relationnelle est
rapprocher de la notion de tableau dfinie en comptabilit par exemple. Le modle dune base de donnes,
constitu dun ensemble des tables relies par des associations, est facilement comprhensible.
9 Proposer des langages de haut niveau accessibles par diffrents types dutilisateurs : ces langages, dits d
quatrime gnration permettent un accs aux donnes de la base dune manire assez naturelle. Les
programmeurs les utilisent pour intgrer des accs la base dans leurs logiciels, et ainsi automatiser des
traitements ; les gestionnaires les utilisent dans leur travail quotidien pour formuler eux-mmes des requtes
la base de donnes et ainsi agir sur cette base de manire interactive.
9 Proposer une indpendance entre les donnes et les traitements.
9 Permette des vues utilisateur diffrentes des relations implantes. Il est possible de prsenter lutilisate
un ensemble de donnes sous une forme tabulaire qui ne correspond pas relation directement inscrite dans la
base. Ces vues permettent de faire une slection approprie des donnes ncessaires lutilisateur, ainsi de ne
pas noyer ces dernires dans un ensemble de donnes parasites provenant de la structure choisie pour implanter
la base.
2.1.2. Relation
Le concept de base du modle relationnel est la relation, dont la structure est tabulaire. Une relation est la
reprsentation dune association dlments du monde rel.
Par exemple, la relation Produit dans une base de donnes de gestion de stocks peut tre la suivante :
Nom de la relation PRODUIT
Attributs N Produit Nom de Produit Qt en stock
10 Chaise 63
Occurrences 20 Table 142
(n-uplets)
30 Assiette 410

Ou encore, dans une base de gestion des prix, la relation Produit aura plutt la structure suivante :
PRODUIT
N Produit Nom Produit Prix de revient Prix de vente
10 Chaise 100 150
20 Table 500 800
30 Assiette 30 40

Les attributs de la relation dfinissent les donnes qui pourront tre mmorises dans la base concernant lentit. Dans
la premire relation, ce sont N Produit, Nom de Produit et Qt en stock.
Le nom des attributs est unique : chaque attribut de la relation doit avoir un nom diffrent des autres attributs de cette
relation.

Bases de donnes relationnelles Page6


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Chaque ligne du tableau correspond une occurrence de la relation. Dans le premier exemple ci-dessus, la premire
ligne dsigne le produit dont le numro est 10 , le nom Chaise est dont la quantit en stock slve 63
On parle de relation car on met en relation un numro de produit avec un nom, un prix de revient et un prix de vente.
La cardinalit dune relation reprsente le nombre de lignes (doccurrences) de cette relation dans une base.
Le degr dune relation reprsente le nombre de colonnes (dattributs) dune relation.
On peut remarquer que lordre des lignes et des colonnes est indiffrent.
Pour chaque attribut un domaine doit tre dfini. Il reprsente lensemble des valeurs que peut prendre un attribut.
Si on tente dassocier un attribut une valeur nappartenant pas au domaine prdfini, la valeur sera rejete.
Chaque relation contient un attribut (ou un ensemble dattributs) appel cl, dont la valeur permet de distinguer de faon
sre une occurrence de toute les autres. Les cls de deux occurrences diffrentes dune relation ne prennent pas la mme
valeur.
Dans la relation Produit, le nom de produit ne peut pas tre cl ; en effet, on peut avoir diffrents types de chaises, dont
le numro sera diffrent, mais le nom sera identique. La cl de la relation Produit sera plutt son numro.
Pour le schma dune relation, on utilise gnralement la reprsentation symbolique suivante :
NomDeRelation(cl
, attribut1, , attribut n).
Par exemple, dans la relation Produit(NProduit, NomDeProduit, QteEnStock)
NProduit est la cl (attribut soulign), NomDeProduit et QteEnStock sont des attributs de la relation.
2.2. Lalgbre relationnelle
Le but essentiel du modle relationnel consiste manipuler des donnes et en particulier les interroger (on parle de
requtes la base)
La rponse une requte sobtient par lutilisation dun ou plusieurs oprateurs relationnels. Lensemble de ces
oprateurs est dfini par lalgbre relationnelle. Lalgbre relationnelle utilise des oprateurs qui se divisent en deux
grandes classes :
9 Les oprateurs unaires portants sur une unique relation :
- la slection,
- le complment,
- la projection.
9 Les oprateurs binaires portants sur deux relations :
- lunion,
- lintersection,
- la diffrence,
- la division,
- les produits.
Dans la suite de cette partie, nous tudierons successivement chacun des oprateurs.
2.2.1. Les oprateurs unaires
a. Slection
Cest une opration unaire qui consiste supprimer des occurrences de la relation qui ne satisfont pas une condition
donne. Cette condition peut contenir plusieurs critres. Par exemple, nous pouvons tudier la relation suivante :
Commande(ncommande , date, montant) dont les occurrences sont donnes dans le tableau suivant :
Relation Commande
Ncommande Date Montant
28 Octobre 1986
29 Octobre 2024

Bases de donnes relationnelles Page7


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

30 Novembre 1610
52 Dcembre 512
Une slection sur la date permet de rpondre la question Donnez les commandes passes aprs la le mois
doctobre . Le rsultat de cette slection est donn dans le tableau suivant :
Relation Commande aprs octobre
Ncommande Date Montant
30 Novembre 1610
52 Dcembre 512
b. Complment
Cest une opration unaire qui consiste construire la relation qui contient toutes les occurrences qui nexistent pas
partir de toutes les valeurs des occurrences de la relation. La relation rsultante est le Faux.
Voici par exemple
Relation Enseigne Relation Nenseigne pas
Professeur Elve Professeur Elve
Pierre Toto Pierre Riri
Pierre Loulou Paul Toto
Pierre Babette Paul Riri
Alice Toto Paul Babette
Alice Babette
Alice Loulou
Alice Riri
Paul Loulou
c. Projection
Cest une opration unaire qui consiste supprimer des attributs dune relation.
Par exemple, dans la relation Etudiant(nEtudiant , nom, dpartement, adresseDpartement), on trouve les occurrences
suivantes :
Relation Etudiants
nEtudiant nom dpartement adresseDpartement
521 Loulou Informatique Lyon
642 Babette Mathmatique Marseille
251 Fifi Informatique Lille
662 Loulou Informatique Lille
La projection sur nom, dpartement donne la relation R1, et la projection sur dpartement, adresseDpartement donne la
relation R2 :
Relation R1 Relation R2
Nom dpartement dpartement adresseDpartement
Loulou Informatique Informatique Lyon
Babette Mathmatique Mathmatique Marseille
Fifi Informatique Informatique Lille

Bases de donnes relationnelles Page8


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
2.2.2. Les oprateurs binaires
a. Union
Cest une opration binaire permettant de fusionner deux relations en une seule. Cette opration nest possible que sur
des relations ayant les mmes attributs. Cette opration est commutative.
Par exemple, il est possible de fusionner les deux relations Ouvrier(nEmploy , nom) et Cadre(nEmploy, nom).
Lunion permet de construire la relation Employ(nEmploy , nom) :
Relation Ouvrier Relation Cadre Relation Cadre
nEmploy Nom nEmploy Nom nEmploy nom
15 Loulou 3 Jojo 15 Loulou
17 Fifi 21 Sophie 17 Fifi
18 Babette 18 Babette
3 Jojo
21 Sophie
b. Intersection
Cest une opration permettant de fournir les occurrences prsentes dans deux relations la fois. Cette opration nest
possible que sur des relations ayant les mmes attributs. Cette opration est commutative.
Par exemple, il est possible de faire lintersection ente les deux relations Ingnieur(nemploy ,nom) et
ChefDeService(nemploy,nom). Cette intersection nous fournira lensemble des chefs de service qui sont ingnieurs.
Relation Ingnieur Relation ChefDeService Relation Cadre
nEmploy Nom nEmploy Nom nEmploy Nom
10 Toto 13 Babette 13 Babette
12 Jojo 14 Loulou 15 Lolo
13 Babette 15 Lolo
15 Lolo
c. Diffrence
Cest une opration permettant dobtenir les occurrences dune relation qui nappartiennent pas une seconde relation.
Les deux relations doivent avoir les mmes attributs. Cette relation nest pas commutative.
Par exemple, la diffrence entre les deux relations Inscrit(nom , UV) et Reu(nom, UV) nous permet de construire la
relation Refus (nom, UV).
Relation Inscrit Relation Reu Relation Refus
Nom UV nom UV Nom UV
Toto Maths Toto Maths Toto Physique
Jojo Maths Jojo Maths Jojo Chimie
Toto Physique Babette Chimie
Babette Chimie
Jojo Chimie
Remarque : On a vu que les oprateurs Union, Intersection, Diffrence ncessitent davoir des relations qui possdent
les mmes domaines, ce qui est peu courant dans la ralit. En revanche, on utilise frquemment ces oprateurs aprs
des projections qui permettent dobtenir des relations ayant mme domaine.
d. Division
La division est une opration binaire qui concerne une relation qui est divise par une autre relation contenant
exclusivement des attributs de la premire relation. Il sagit de dterminer les occurrences de la premire relation qui
sont chacune associes toutes les occurrences de la seconde relation. Cette opration nest pas commutative.

Bases de donnes relationnelles Page9


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Par exemple, la division permet de rpondre la question : donnez le nom des professeurs qui enseignent
conjointement aux lves Loulou et Fifi . La division entre les relations Enseigne(nomElve,nomProfesseur) et
Elve(nomElve) donne la relation EnseigneConjointement(nomProfesseur) :
Relation Enseigne Relation Elve Relation EnseigneConjointement

nomElve nomProfesseur nomElve nomProfesseur


Loulou Pierre Loulou Pierre
Fifi Paul Fifi Paul
Riri Pierre
Loulou Paul
Fifi Pierre
Loulou Jacques
Riri Jacques
e. Les Produits
Le produit est une opration binaire qui consiste former une relation contenant les attributs des deux relations
oprandes.
On compte deux types principaux de produit :
9 Le produit cartsien,
9 la jointure naturelle,
e.1. Produit cartsien
Le produit cartsien se construit en combinant toutes les possibilits dassociation doccurrences entre les deux relations
oprantes. Par exemple, le produit cartsien des deux relations Livre(titre, auteur) et Prsentation(couleur, dition)
donne la relation LivrePrsentation suivante :
Relation Livre Relation Prsentation Relation LivrePrsentation
Titre Auteur Couleur Edition Titre Auteur Couleur Edition
X Dupont Rouge Edition de luxe X Dupont Rouge Edition de luxe
Y Riri Blanc Broch X Dupont Blanc Broch
Y Riri Rouge Edition de luxe
Y Riri Blanc Broch
e.2. Jointure naturelle
Cette opration est construite en deux tapes :
9 la premire consiste en un produit cartsien,
9 la seconde consiste en une slection ; on ne retient du produit cartsien que les occurrences qui vrifient la
condition dgalit portant sur des attributs identiques.
Par exemple, la jointure naturelle des relations Employ(n, nom, nservice) et Service(nservice, nomservice) permet
dassocier chaque employ le nom de son service.
Relation Employ Relation Service Relation EmployService
n nom nService nService nomService n Nom nService nomService
23 Toto 17 14 Achat 23 Toto 17 Comptabilit
25 Loulou 15 15 Informatique 25 Loulou 15 Informatique
35 Jojo 17 17 Comptabilit 35 Jojo 17 Comptabilit
23 Toto 14 28 Vente 23 Toto 14 Achat
On remarque que le service numro 28 ( Vente ) qui na pas d associ dans la relation employ nest pas prsent
dans la relation rsultant de la jointure.

Bases de donnes relationnelles Page10


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

3. SQL, le langage relationnel


Pour implanter les requtes partir des oprateurs de lalgbre relationnelle, un certain nombre de langages a t dfini.
On sintressera dans cette partie SQL (Structured Query Language), le langage largement utilis aujourdhui pour les
bases donnes relationnelles. Nous pouvons noncer ses principes caractristiques en deux points :
9 Il permet la description, linterrogation et la manipulation des donnes dune base relationnelle. Il permet de
dclarer les relations, de crer les occurrences, de les modifier, et aussi de faire toute opration dfinie par
lalgbre relationnelle.
9 SQL est ddi deux types dutilisateurs :
- les non informaticiens, qui peuvent laborer (de faon interactive le plus souvent) des requtes
correspondants des questions simples,
- Les informations, qui lutilisent pour intgrer des accs une base de donnes dans leurs
dveloppements de logiciels, et ainsi automatiser des traitements de donnes.
La forme gnrale dune interrogation SQL est la suivante :
SELECT Liste dattributs
FROM Nom de Relations
WHERE Conditions ;
La clause WHERE est optionnelle. La condition de cette clause peut tre multiple ; les oprations AND et OR seront
utiliss. Par exemple, la condition peut prendre la forme WHERE age>18 AND sexe=1 ou encore
WHERE (age>18 AND sexe=1)OR(age>15 AND sexe=2) .
Les exemples dinterrogation dans cette partie seront tous issus de la base de donnes dune universit dont le schma
est le suivant :
Etudiant(nEt, Nom, Adresse)
Unit-Valeur(nUV, Titre, Responsable)
Enseignant(n,Nom, Grade, Salaire)
Inscription(n, nUV)
Diplmes(n, nUV)
Enseignement(n, nUV)
A titre dexemple, nous prenons pour tat actuel de la base les occurrences suivantes :
Relation Etudiant Relation Unit-Valeur
nEt Nom Adresse nUV Titre Responsable
23 Durand Lyon 20 Physique 56
78 Hillman 30 Franais 12
123 Durand Villeurbanne 40 Anglais 67
12 Dupont Lyon 10 Maths 56
89 Simpson Villeurbanne
34 Martin Saint Etienne

Bases de donnes relationnelles Page11


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Relation Inscription
n nUV n NUV
12 10 89 30
12 30 78 40
12 40 78 10
123 10 78 30
123 30 34 40
123 40 23 10

Relation Diplme Relation Enseignement


n nUV n nUV
12 30 12 30
89 30 45 10
23 10 45 20
78 40
123 30
123 40
34 40

Relation Enseignant
nEns Nom Grade Salaire
12 Dupont Assistant 7 000
56 Sanson Matre de Confrence 9 800
45 Simon Assistant 10 000
67 Grey Matre de Confrence 10 200
90 Altman Matre de Confrence 12 000
3.1. SQL et les oprateurs algbriques
Nous prsentons ci-dessous la syntaxe SQL correspond chaque oprateur relationnel.
3.1.1. Expression de la projection
La projection a pour but de ne prendre quun sous-ensemble des attributs de la relation oprande. La clause SELECT
dfinit les attributs conserver.
Exemple : Donnez les noms et adresses des tudiants .
SELECT Nom, Adresse
FROM Etudiant ;
La rponse cette requte sera une nouvelle relation (non mmorise dans la base) dont la structure est (Nom,
Adresse) ; les autres attributs napparatront pas.
Relation Rsultat
Nom Adresse
Durand Lyon

Bases de donnes relationnelles Page12


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Hillman
Durand Villeurbanne
Dupont Lyon
Simpson Villeurbanne
Martin Saint Etienne
3.1.2. Expression de la slection
La slection a pour but de ne prendre que les occurrences satisfaisant une condition. Lintgralit des attributs est
conserve (on note que lensemble des attributs dune relation est conserv par le signe *) ; la condition est dfinie par
la clause WHERE.
Exemple : Donner tous les renseignement concernant les tudiants dont le nom est Dupont
SELECT * FROM Etudiant
WHERE nom=Dupont ;
Relation Rsultat
nEt Nom Adresse
12 Dupont Lyon
Dans la grande majorit des cas, la projection et la slection sont combines. Par exemple, donner les noms des
tudiants qui habitent LYON
SELECT nom FROM Etudiant
WHERE adresse = Lyon ;
Relation Rsultat
Nom
Durand
Dupont
3.1.3. Expression de complment
Le complment nest pas implant sur la plupart des SGBD, on lobtient par une combinaison doprateurs
relationnels. Si nous reprenons lexemple de la relation Enseigne (Professeur, Elve) que nous appellerons R avec
laquelle nous avons prsent loprateur Complment, nous pourrions suivre la dmarche suivante :
1) Faire une projection sur lattribut professeur et obtenir la relation R1,
2) faire une projection sur lattribut lve et obtenir la relation R2
3) faire le produit cartsien R1R2
4) faire la diffrence (R1 R2)-R
3.1.4. Expression de lintersection
Lintersection fournit les occurrences prsentes dans deux relations ayant les mmes attributs. On utilise le verbe
Intersect.
Exemple : Quels sont les n et les noms des tudiants qui sont aussi enseignants ? (Fournir les n identiques dans les
deux relations).
SELECT nEt, nom FROM Etudiant
Intersect
SELECT nEns, Nom FROM Enseignant ;
Relation Rsultat
NEt Nom
12 Dupont

Bases de donnes relationnelles Page13


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
3.1.5. Expression de la diffrence
La diffrence permet dobtenir les occurrences dune premire relation qui nappartiennent pas une seconde. On
utilise le verbe Minus.
Exemple : Donner la liste des n des tudiants et des nUV quils ont choues.
SELECT * FROM Inscription
Minus
SELECT * FROM Diplme ;
Relation Rsultat
NEt nUV
12 10
12 40
78 10
78 30
123 10
3.1.6. Expression de la division
La division nest pas implante dans la plupart des SGBD.
3.1.7. Expression de lunion
Lunion permet de fusionner deux relations ayant les mmes attributs en une seule. On utilise le verbe Union All. Union
limine les redondances.
Exemple : Donner la liste des n des personnes participant aux UV.
SELECT n FROM Inscription
UNION
SELECT n FROM Enseignement;
Relation Rsultat
N n
56 34
45 223
90 89
12 123
78
3.1.8. Expression du produit cartsien
Le produit cartsien se construit en combinant toutes les possibilits dassociation doccurrences. Il sexprime dune
faon trs simple : il suffit de citer les deux relations qui participent au produit.
SELECT * FROM Unit-Valeur, Etudiant ;
Relation Rsultat
n UV Titre Responsable nEt Nom Adresse
20 Physique 56 23 Durand Lyon
30 Franais 12 23 Durand Lyon
40 Anglais 67 23 Durand Lyon
10 Maths 56 23 Durand Lyon
20 Physique 56 78 Hillman

Bases de donnes relationnelles Page14


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

30 Franais 12 78 Hillman
40 Anglais 67 78 Hillman
10 Maths 56 78 Hillman
20 Physique 56 123 Durand Villeurbanne
30 Franais 12 123 Durand Villeurbanne
40 Anglais 67 123 Durand Villeurbanne
10 Maths 56 123 Durand Villeurbanne
20 Physique 56 12 Dupont Lyon
30 Franais 12 12 Dupont Lyon
40 Anglais 67 12 Dupont Lyon
10 Maths 56 12 Dupont Lyon
20 Physique 56 89 Simpson Villeurbanne
30 Franais 12 89 Simpson Villeurbanne
40 Anglais 67 89 Simpson Villeurbanne
10 Maths 56 89 Simpson Villeurbanne
20 Physique 56 34 Martin Saint Etienne
30 Franais 12 34 Martin Saint Etienne
40 Anglais 67 34 Martin Saint Etienne
10 Maths 56 34 Martin Saint Etienne
3.1.9. Expression de la jointure naturelle
La jointure naturelle consiste en un produit cartsien suivi dune slection sur lgalit dattributs identiques. Plusieurs
formulations sont possibles :
Exemple1 : Donnez le nom des tudiants inscrits lUV Maths(UV 10) :
SELECT Nom
FROM Etudiant
WHERE nEt In
( SELECT n
FROM Inscription
WHERE n UV = 10);
Dans ce cas, la jointure des deux relations est reprsente par une imbrication de requtes grce au mot-cl In.
La seconde formulation est la suivante :
SELECT Nom
FROM Etudiant, Inscription
WHERE Etudiant.nEt = Inscription.n
AND nUV = 10 ;
Dans ce cas, cest le nommage des relations dans la clause WHERE qui fait la jonction.
Relation Rsultat
Nom
Dupont
Hilman

Bases de donnes relationnelles Page15


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Durand
Durand
Exemple 2 : Donnez le nombre dtudiants inscrits dans une UV dont le responsable a pour n 56.
SELECT nom FROM Etudiant
WHERE nEt In
(SELECT n FROM Inscription
WHERE nUV In
( SELECT nUV
FROM Unit-Valeur
WHERE Responsable = 56));
Relation Rsultat
Nom
Dupont
Hilman
Durand
Durand
3.2. Autres possibilits avec SQL
SQL fournit des fonctionnalits supplmentaires par rapport aux oprateurs algbriques.
3.2.1. Recherche des valeurs nulles
le langage SQL permet aussi, grce lexpression Is (Not) Null de vrifier si lattribut est renseign ou non pour
une occurrence.
Exemple : donner les n et nom des tudiants dont on ne connat le domicile.
SELECT nEt, nom FROM Etudiant
WHERE Adresse Is Null ;
Relation Rsultat
nEt Nom
78 Hillman
3.2.2. Oprations arithmtiques et fonctions ensemblistes
Un ensemble doprateurs arithmtiques et de fonctions ensemblistes a t dfini par SQL. Ils peuvent tre utiliss dans
la clause SELECT et dans la clause WHERE.
9 Les oprateurs arithmtiques sont laddition, la soustraction, la multiplication et la division.
9 Les fonctions ensemblistes sont :
MAX : Fournit la valeur maximale
MIN : Fournit la valeur minimale
COUNT : Fournit la cardinalit dun ensemble
SUM : Somme de toutes les valeurs
AVG : Moyenne de toutes les valeurs.
Exemples :
Donner le salaire moyen des matres de confrences.
SELECT AVG (Salaire) FROM Enseignant

Bases de donnes relationnelles Page16


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
WHERE Grade=Matre de confrence ;
Relation Rsultat
AVG (Salaire)
10 666.6667
Donner le nom des Matres de confrences qui gagnent plus que la moyenne des salaires des enseignants.
SELECT nom FROM Enseignant
WHERE Grade = Matre de Confrence
AND Salaire > (SELECT AVG (Salaire) FROM enseignant);
Relation Rsultat
Nom
Grey
Altman
Donner le nombre dUV auxquelles est inscrit ltudiant n 78.
SELECT COUNT(nUV) FROM Inscription
WHERE nEt = 78;
Relation Rsultat
Count(nUV)
3
3.2.3. Les fonctions spciales : Distinct, Order By, Group By
a. Distinct
La fonction Distinct limine les valeurs dupliques.
Exemple : combien y-a-t-il de responsables dUV ?
SELECT COUNT (DISTINCT (Responsable))
FROM Unit-Valeur ;
Relation Rsultat
Count(Distinct (Responsable)
3
b. Order By
La fonction Order By permet de prsenter les rsultats tris par ordre ascendant (ASC) [par dfaut] ou descendant
(DESC).
Exemple : Donner le nom des assistants par ordre alphabtique.
SELECT Nom FROM Enseignant
WHERE Grade = Assistant
ORDER BY Nom ASC;
Relation Rsultat
Nom
Dupont
Simon
c. Group By
La fonction Group By permet de partitionner la relation en parties distinctes sur un critre donn de faon appliquer
une fonction dagrgation.

Bases de donnes relationnelles Page17


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Exemple : Donner le salaire moyen des enseignants par grade.
SELECT Grade, AVG (Salaire) FROM Enseignant
GROUP BY Grade ;
Relation Rsultat
Grade AVG (salaire)
Assistant 8 500
Matre de confrence 10 666,6667
La clause WHERE nest pas utilise avec la clause GROUP BY ; on utilise HAVING..
Exemple : Donner le n des enseignants responsables de plus de 1 UV.
SELECT Responsable FROM Unit-Valeur
GROUP BY Responsable HAVING COUNT(n(UV)>1) ;
Relation Rsultat
Responsable
56
3.2.4. Quelques autres fonctions
a. Between
La fonction Between permet de prciser un intervalle
Exemple : donner les noms des enseignants dont le salaire est entre 10 100 et 11 100.
SELECT Nom FROM Enseignant
WHERE Salaire BETWEEN 10 100 AND 11 100;
b. Like
La fonction Like permet de spcifier une recherche par rapport une chane de caractre :
Exemple : donner les noms des tudiants dont le nom commence par D :
SELECT Nom FROM Etudiant
WHERE Nom LIKE D%
Relation Rsultat
Nom
Durand
Durand
Dupont

Bases de donnes relationnelles Page18


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Les fonctionnalits des SGBD relationnels

1. Dfinition dun SGBD relationnel


Un SGBD relationnel est un SGBD qui se fonde sur le modle relationnel pour dcrire les donnes, et sur lalgbre
relationnelle pour les manipuler ; il doit de mme assurer lindpendance des relations vis--vis des structures de
stockage et des chemins daccs, grer la concurrence entre les utilisateurs et contrler les accs.
2. Introduction
2.1. Gnralit
Le groupe amricain de normalisation RTG a dfini la norme pour quun SGBD soit relationnel. Cette norme
minimale snonce sous la forme de 3 conditions :
9 Toutes les informations sont reprsentes par des valeurs contenues dans des relations.
9 Lutilisateur na pas tablir ou dcrire des pointeurs entre les relations.
9 Le SGBD permet la slection, la projection et lopration de jointure.

Un SGBD-R est totalement relationnel si, outre les trois critres prcdents, il vrifie les deux autres critres
suivants :
9 Le SGBD permet dutiliser tous les oprateurs de lalgbre relationnelle.
9 Il permet de prendre en compte :
La contrainte dunicit des cls
Lintgrit rfrentielle
2.2. Les dictionnaires
Les informations portant sur le schma relationnel, cest--dire sur la structuration et limplantation des donnes, sont
rassembles sous forme dun schma relationnel. Celui-ci est compos de relations spcifiques communment appeles
Dictionnaires. Lensemble des dictionnaires forme une base appele Mtabase. La mtabase est donc une vritable
base de donnes relationnelle. Elle peut tre manipule laide des oprateurs relationnels. Cependant, il faut un moyen
pour savoir si lutilisateur sadresse la base de donnes ou la mtabase. Les concepteurs de SQL ont choisi dutiliser
des mots diffrents, mais synonymes dans la langue anglaise, pour diffrencier les oprateurs. Par exemple, CREATE
et MODIFY agissent sur la mtabase, INSERT et UPDATE sur la base.
3. Gestion de la mtabase avec SQL
Dans une base relationnelle comme nous lavons vu, les donnes sont reprsentes dans des tables qui matrialisent les
relations. Chaque attribut est caractris par lun des types classiques suivants :
9 nombre (NUMBER, NUMBER (n) ou NUMBER (n,m) pour les dcimaux ou INTEGER),
9 chane de caractres (CHAR(n)),
9 date (DATE)
3.1. Cration des tables
On utilise le verbe Create. Par exemple, la dclaration de la table Etudiant (netud, nom, Adresse, Date-naissance,
Code-diplme, Moyenne) consistera en les lignes suivantes :

CREATE TABLE Etudiant


netud NUMBER (6) NOT NULL,
nom CHAR (20),
adresse CHAR (80),
dateNaiss DATE,
codeDipl NUMBER (3),
moyenne NUMBER (4, 2).
3.2. Dclaration des cls
La cl principale est dfinie laide de la fonction Primary Key. Les autres cls sont dclares en utilisant la fonction
Unique. Examinons comment on dclare les cls :

Bases de donnes relationnelles Page19


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
CREATE TABLE Etudiant
netud NUMBER (6) NOT NULL, PRIMARY KEY,
nom CHAR (20) NOT NULL,
nSS NUMBER (13) UNIQUE,
ens Char (6) ;
ou encore :

CREATE TABLE Livre


nlivre NUMBER (6) NOT NULL, PRIMARY KEY,
titre CHAR (30) NOT NULL,
auteur CHAR (20).
Lorsquune cl est compose, on peut la dclarer aprs lnumration des attributs :

CREATE TABLE Pret


nlivre NUMBER (6) NOT NULL,
nlecteur NUMBER (6) NOT NULL,
dateEmp DATE,
PRIMARY KEY (nlecteur, nlivre).
3.3. Lintgrit rfrentielle
Ce type dintgrit permet de faire rfrence par un attribut dune relation une cl dune autre relation dont la valeur
doit exister lorsque lon instancie lattribut considr. On utilise la fonction References.

CREATE TABLE Client


numcli NUMBER (5) NOT NULL, PRIMARY KEY
nomcli CHAR (20);

CREATE TABLE Facture


numfact NUMBER (6) NOT NULL, PRIMARY KEY
montfact NUMBER (7, 2),
numcli NUMBER (5) NOT NULL, REFERENCES Client.numcli.
3.4. Modification et suppression de tables
La modification dune table se fait grce lutilisation du mot-cl Alter, et dune spcification de lopration
effectuer. Lajout dune colonne se fait avec le mot-cl Add, et les modifications des caractristiques dune colonne
avec Modify. Par exemple on peut ajouter lattribut nSS la table Etudiant, ou modifier lattribut adresse en
redonnant son type :

ALTER TABLE Etudiant


ADD (nSS) NUMBER (13);
Ou encore :

ALTER TABLE Etudiant MODIFY (adresse CHAR (100)).


La suppression dune table se fait grce lutilisation du mot-cl Drop. Par exemple :

DROP TABLE Etudiant ;


4. Gestion de la base
Il sagit encore de crer, modifier ou supprimer un enregistrement.
Linsertion dun enregistrement dune table se fait grce lutilisation du mot-cl Insert. Par exemple :

INSERT INTO TABLE Etudiant


VALUE (829Z69, PONT Christine , 4 Rue de Bois ,
TO-DATE ( 12/11/72, DD/MM/YY ), 32, 12.45).
Remarque : le mode denregistrement nest pratiquement pas utilis, les gestionnaires dcrans permettent l
grilles de saisie.
La suppression dun enregistrement dune table se fait grce lutilisation du mot cl Delete. Par exemple :

Bases de donnes relationnelles Page20


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
DELETE FROM TABLE Etudiant
WHERE netud=892Z69
La modification des donnes dune table se fait grce lutilisation du mot cl Update. Par exemple :

UPDATE Etudiant
SET adresse= 10 rue de la Pais, 69001 LYON
WHERE nom= PONT Christine .
5. Index, clusters et relations drives
5.1. Les index
Le but des index est de permettre lexcution plus rapide de certaines requtes la base de donnes par un accs facile
aux informations. Un index est constitu sur lespace disque par des couples (valeur dindex, adresse mmoire)
permettant, pour une valeur dindex, de reprer les lignes correspondantes. Lindex peut tre cr sur plusieurs attributs
la fois.
Par exemple, on peut crer un index sur le code diplme :

CREATE INDEX DIPLOME ON Etudiant (code-diplme).


Dans certains SGBD nayant pas la notion de cl, on utilise des index dclars Unique Index, ce qui permet
linterdiction de doublons. Par exemple :
CREATE UNIQUE INDEX code-etudiant ON Etudiant (netud).
La suppression dun index se fait grce au mot-cl Drop Index. Par exemple :

DROP INDEX Diplme.


5.2. Les clusters
Un cluster est un regroupement physique de plusieurs lignes ayant une mme valeur de colonne dans un mme bloc
disque. Par exemple, on pourrait mettre les tables enseignement et enseignant dans un mme cluster. Chaque
fois quun numro denseignant est cr, on cre dans le cluster un bloc contenant toutes les lignes des deux relations
correspondant ce numro.
CREATE CLUSTER Enseigne (nSS NUMBER);
CREATE TABLE Enseignant
(nSS NUMBER, PRIMARY KEY,
nom CHAR(24),
salaire NUMBER)
CLUSTER Enseigne (nSS);
CREATE TABLE Enseignement
(nSS NUMBER, PRIMARY KEY,
libell CHAR (50))
CLUSTER Enseigne (nSS);
Figure 8
Un exemple de cluster

BLOC 1 BLOC 2
1 49 69 2 62 57 n SS
TOTO BABETTE
Enseignant
10 000 9 500

72 26
Enseignement
42 42

5.3. Les relations drives


Lors de linterrogation de la base, nous avons mis en jeu des oprateurs relationnels conduisant la cration dune
relation rsultat. Cette relation rsultat peut tre considre comme drive si on dsire conserver :
9 soit le mode dobtention ; on utilisera alors des vues,
9 soit les rsultats sous forme de tables ; on utilisera alors des photographies.

Bases de donnes relationnelles Page21


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
5.3.1 Les vues
Une vue reprsente une relation virtuelle souvent considre comme une fentre dynamique sur la base. Il est alors
possible de manipuler (en particulier dinterroger) la vue comme une relation. On utilise la primitive View.
Exemple : Considrons les relations Etudiant (n tudiant, nom, n projet) et Projet( nprojet, nom professeur
responsable). Dfinissons la vue :
CREATE VIEW Affectation
As SELECT *
FROM Etudiant, Projet
WHERE tudiant.noprojet = projet.noprojet;
La mise jour dans une vue est une opration dangereuse. Effectuons par exemple la mise jour suivante dans la
relation affectation : Christine a pour nouveau professeur responsable Paul au lieu de Jacques . On a alors une
incohrence car, aprs modification, il peut y avoir Paul et Jacques comme directeurs de projet P2. La plupart des
SGBD relationnels nautorisent la mise a jour au travers des vues que si la vue est issue dune unique relation.
5.3.2. Les photographies
Bien que peu implantes dans les SGBD-R existants, ces relations drives introduisent la possibilit de conserver le
rsultat de requtes une date donne. On fige donc un tat de la relation dans le temps. On peut interroger
normalement une photographie. La mise jour na pas de sens. Les photographies se crent comme des vues et ont
ncessairement une rfrence temporelle. On utilise la primitive Snapshot. Par exemple :
CREATE SNAPSHOT Etudiant-inscrit(92)
As SELECT*FROM Etudiant
WHERE date = 30.12.92.
6. Gestion des contraintes dintgrit
Les contraintes dintgrit permettent de sassurer de la cohrence des donnes de la base. Le systme dintgrit
permet la mise en uvre de la vrification des contraintes. On distingue :
9 Les contraintes statiques qui correspondent la constatation dun tat de la base,
9 Les contraintes dynamiques qui correspondent au passage de la base dun tat un autre.
On distinguera galement :
9 Les contraintes simples qui ne portent que sur la valeur dun attribut,
9 Les contraintes ensemblistes qui portent sur plusieurs valeurs dun attribut.
FIGURE 9
Diffrents types de contraintes
Simple Le salaire dun employ est suprieur au
Contraintes SMIG
statiques Ensembliste La moyenne des salaires du service
informatique est suprieure X francs
Simple Le nouveau salaire est suprieur
lancien
Contraintes Ensembliste La moyenne des nouveaux salaires au
dynamiques service informatique est infrieure la
moyenne des anciens salaires augmente
de 5%

Beaucoup de SGBD-R nont pas vritablement implant de vritables systmes dintgrit. Cependant, un de ces
systmes avait t implant dans le systme R, prototype anctre de tous les SGBD actuels. La primitive utilise dans
SQL est Assert Constraint :
ASSERT CONSTRAINT 10 ON Employ
15000> ( SELECT AVG (salaire) FROM Employ
WHERE service = informatique ) ;
ASSERT CONSTRAINT 15
ON UPDATE OF Employ (SALAIRE).
NEW (salaire) >= OLD (salaire)

Bases de donnes relationnelles Page22


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
7. Gestion de la confidentialit
Dans un SGBD-R, tout utilisateur peut crer ses propres relations et les manipuler. La gestion de la confidentialit lui
permet dautoriser ou non dautres utilisateurs lire et /ou modifier certaines de ses relations. Lordre Grant permet
daccorder des privilges dautres utilisateurs.
Ces privilges sont :
9 Droit de lecture SELECT
9 Droit dinsertion INSERT
9 Droit de modification UPDATE ou UPDATE <nom attribut> (limit certaines colonnes).
GRANT SELECT, INSERT ON Etudiant TO Andr ;
On donne Andr le droit de slectionner et dinsrer des lignes dans la relation tudiant .
Un utilisateur peut donner un privilge un autre et, on mme temps, lui autoriser transmettre ce privilge. Les
privilges que donne un utilisateur sont un sous-ensemble de ses droits propres.
GRANT SELECT ON Etudiant
TO Andr WITH GRANT OPTION
IDENTIFIED BY mot-de-passe.
Andr pourra autoriser un autre utilisateur lire la table tudiant .
Enfin quand tout le monde peut consulter une table, on utilise le mot Public.
GRANT SELECT ON Etudiant TO PUBLIC.
Pour la rvocation dun privilge, on utilise le mot Revoke.
REVOKE UPDATE ON Etudiant FROM Andr. Le systme gre alors dventuels conflits. Prenons le cas suivant :
Christine a donn des droits jean, Claude et Andr.
FIGURE10
Les privilges donnes

Jean Nadine

Christine Claude

Andr

Christine rvoque le privilge de Claude. Donc les deux liens Jean Claude et Andr Claude doivent tre supprims.
8. Loptimiseur de requtes
Un SGBD-R utilise des langages de haut niveau qui vitent au programmeur de spcifier les chemins daccs. Il est
donc ncessaire quil possde un systme dit optimiseur de requtes qui permet de rechercher automatiquement
une solution daccs permettant de bonnes performances. Dans un langage de type algbrique, les grands principes sur
lesquels se fonde loptimiseur sont les suivants :
9 les oprations de slection et de projection sont toujours faites ds que possible afin de diminuer les volumes
manipuler ;
9 lorsquun produit doit tre effectu, il convient de le faire avec le moins de donnes possible, ventuellement
en crant un index ;
9 il convient, avant toute slection, de vrifier sil existe un index permettant dacclrer la recherche ;
9 il convient de regrouper les oprations successives de slection et projection en une seule opration ;
9 de la mme faon, il convient de regrouper une suite de produit-projection en une seule opration.

Bases de donnes relationnelles Page23


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
9. Le gestionnaire de transactions
9.1. Introduction
On appelle action une opration lmentaire sur les donnes (lecture, criture, modification, calcul arithmtique). Une
action est, par dfinition, indivisible. Lorsquelle sexcute, elle sexcute jusquau bout.
Une transaction reprsente une suite ordonne dactions qui excutent un processus de gestion. La transaction permet
la base de donnes de passer dun tat cohrent un autre tat cohrent. Durant lexcution de la transaction, la base
nest pas dans un tat cohrant.
FIGURE11
Une transaction

Transaction
Temps
Etat cohrent
1 E Etat cohrent
2 E

Exemple de transaction : compensation de compte bancaire :


- 0. Dbut transaction
- 1. Lire compte1
- 2. Lire somme
- 3. Compte1 compte1 - somme
- 4. Ecrire compte1
- 5. Lire compte2
- 6. Compte2 compte2 + somme
- 7. Ecrire compte2
- 8. Fin transaction
On constate que cest seulement aprs laction 7 que la base est cohrente. Si la transaction tait interrompue aprs
laction 4 et laisse comme telle, la cohrence de la base ne serait plus assure.
9.2. Evolution des transactions
On peut se trouver face diffrents scenarii dans lvolution dune transaction :
9 A. Transaction normale : Elle se droule jusqu la fin. Toutes les contraintes dintgrit sont valides.
9 B. Transaction avorte : Ceci peut provenir, par exemple, dune panne ou bien de la violation dune
contrainte dintgrit. Le SGBD dfait alors le travail dj effectu de faon remettre la base dans ltat o
elle se trouvait au dbut de la transaction.
On peut citer comme exemple de transaction qui peut avorter, le cas dune facturation o il existe une clause ne
permettant pas un client de dpasser un certain dcouvert (dcouvert autoris).
- 0. Dbut transaction Facturation
- 1. Lecture de la commande
- 2. Lecture des caractristiques client
- 3. Calcul des quantits livres et mise jour des stocks
- 4. Validation de la facture
- 5. Comparaison entre B=dcouvert autoris et A=dcouvert existant +montant facture
- 6. Si A>B annuler transaction, sinon diter facture
- 7. Fin transaction
: si A>B, ltape 3 est dfaite.
Remarque

Bases de donnes relationnelles Page24


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
9.3. Synchronisation des accs concurrents
Plusieurs usagers utilisent la base de donnes et la partagent. Il est donc indispensable que plusieurs transactions
utilisant ventuellement les mmes ressources soient excutes concurremment. Le SGBD et le systme doivent grer
les conflits ventuels. Ces conflits sont de divers types, nous donnons ci-dessous deux exemples :
9 les verrous mortels (interblocage),
9 les critures avec perte de mise jour,
*Interblocage (verrou mortel)
FIGURE 12
Un verrou mortel
T1 T2
Verrouiller (A)
Verrouiller (B)
Verrouiller (B)
n (si pas possible,
attendre)
Verrouiller (A)
m (si pas possible,
attendre)
Temps

Au temps n, la tche T2 ayant dj verrouill B, T1 ne peut pas continuer tant que T2 naura pas termin. Dautre part,
au temps m > n, T2 ne peut pas continuer car la tche T1 a dj verrouill A. Il y a interbcolage entre les deux tches.
*Ecriture avec perte de mise jour.
FIGURE13
Une criture avec perte de mise jour

T1 T2
Lire A A = 50
Lire A
A A + 20 A = 70 pour T1
A = 50 pour T2
A A + 50 A = 70 pour T1
A = 100 pour T2
Ecrire A
Ecrire A A = 100
Temps

Tout se passe comme T1 navait pas exist.


En consquence, le systme doit veiller ce que toute transaction nutilise aucune ressource dont la valeur vient dtre
modifie par une transaction qui nest pas encore confirme.

Bases de donnes relationnelles Page25


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

La thorie des dpendances et la normalisation

1. Introduction
Normaliser une relation consiste la reprsenter sous une forme canonique qui respecte certains critres afin de
sassurer de lintgrit des donnes.
Une dpendance reprsente une contrainte exprime par une rgle que doivent vrifier les donnes pour que la base de
donnes soit dans un tat cohrent. Une dpendance est un invariant du systme.
Il existe trois sortes de dpendances conduisant normaliser des relations :
9 les dpendances fonctionnelles,
9 les dpendances multivalues,
9 Les dpendances de jointure,
Et deux autres sortes qui traduisent dautres formes de contraintes :
9 les dpendances hirarchiques,
9 les dpendances hirarchiques de jointures.
Les trois premires sortes de dpendances conduisent des formes de normalisation de plus en plus labores.
9 Dpendances fonctionnelles Formes 1, 2, 3 ;
9 Dpendances multivalues Forme 4 ;
9 Dpendances des jointures Forme 5.
2. Les dpendances fonctionnelles et les trois premires formes normales
2.1 Dpendance fonctionnelle
Une dpendance fonctionnelle (DF) traduit le fait qu une valeur dune donne, on associe dans une relation une
valeur au plus dune autre donne, un instant considr.
Exemple : Soit la relation Client suivant :
Relation Client
NomClient Adresse ArticleCommand
Ali Mekns Imprimante
Ali Mekns Ordinateur
Mohammed Rabat Imprimante
Brahim Fs Scanner
Mohammed Rabat Scanner
Il y a une DF entre NomClient et Adresse, que lon reprsente sous la forme suivante (un client na quune seule
adresse) : NomClient Adresse. NomClient est la source de la DF, Adresse en est le but. En revanche,
NomClient ArticleCommand est faux dans la relation Client.
Il y a dpendance parce que lorsquune valeur est associe une autre par une DF, par exemple (Ali,Mekns), on ne
peut pas introduire dans la base un autre couple, par exemple le couple (Ali,Tanger), sans supprimer le premier couple.
Formellement, une DF existe si lorsque pour la relation R(A,B,C,D) et A B est vrai dans R alors <A i,Bk> et
<Ai,Bj> Bk = Bj o <Ai,Bk> reprsente une occurrence de la projection sur (A,B) de la relation R.
Proprits des dpendances fonctionnelles
Soit U, V, W, X des ensembles dattributs. Les DF vrifient les rgles suivantes :
9 Rflexivit : Si U V alors U V ;
9 Augmentation : Si V U et X W alors V,X U,W ;
9 Transitivit : Si U V et V W alors U W

Bases de donnes relationnelles Page26


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
9 Pseudotransitivit : Si U V et V,W X alors U, W X ;
9 Dcomposition : Si U V,W alors U V et U W.
Cl dune relation
Lorsque, dans une relation, un attribut (ou un groupe dattributs) est source de dpendances fonctionnelles ayant
respectivement pour but chacun des autres attributs de la relation, cet attribut (ou groupe dattributs ) est appel Cl
de la relation.
DF lmentaire et DF directe
9 On dit quune DF est lmentaire si un sous-ensemble de la cl nest pas source de la dpendance
fonctionnelle.
A,B,C D est lmentaire si A,B D et A,C D et B,CD,AD et BD et CD.
9 AB est directe sil nexiste pas un autre attribut C tel que
A C et CB.
2.2 La normalisation :
Une relation est normalise si un mme attribut nest pas prsent plusieurs fois et si un attribut nest pas
dcomposable en dautre attributs (il nest donc pas lui-mme une relation).
Relation non normalise
DIPLOMES DE
ENFANTS
LEMPLOYE
NOM
EMPLOYE Date Examen
Prnom Nature
naissance Lieu Date
Amal 1986
Bac Mekns 1999
Alaoui Ali 1983
Licence Rabat 2003
Sanaa 1977
Bac Rabat 2005
Jawad 1960
Madani Ingnieur Rabat 1990
Anouar 1966
Doctorat Tanger 1988

La relation Employ ci-dessous nest pas normalise. Certains attributs sont dcomposables (lattribut Enfants
est dcomposable en Prnom, Date naissance)) et un mme attribut est reprsent plusieurs fois (lattribut Nature
pour Madani est reprsent 3 fois : Bac, Ingnieur, Doctorat).
re
2.2.1. 1 forme normale
Toute relation normalise est en premire forme normale.
Une relation en premire forme normale

(nclient, narticle, Nom-client, Nom-article)

re
La 1 forme normale prsente un inconvnient : certaines dpendances fonctionnelles ne sont pas prises en
compte. Dans notre exemple, seules les DF nclient, narticle nom-client et nclient, narticle nom-article
peuvent tre prises en compte. On peut donc introduire sans possibilit de dtection des anomalies du type suivant :
- <23,A5, Ali, Chaise>
- <23, A6, Brahim, Table>

Bases de donnes relationnelles Page27


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
- <26, A5, Driss, Table>
Le client n 23 a plusieurs noms, larticle A5 galement.
Il convient pour mettre en vidence toutes les DF de dcomposer la relation initiale en 3 relations :
- Client(nclient, nom client) ;
- Article(nArticle, nom article) ;
- Commande(nArticle, nclient).
me
2.2.2. 2 forme normale
Une relation est en deuxime forme normale si :
- elle est en 1re forme normale
- toutes les DF issues de la cl sont lmentaires.
Une relation en deuxime forme normale

(nclient, Nom-client, nreprsentant, Nom-reprsentant)

Cette relation prsente aussi des inconvnients car la DF nreprsentant Nom-reprsentant nest pas matrialise. On
peut alors avoir les incohrences suivantes : un n de reprsentant correspondent plusieurs noms :
- <92, Hassan, R15,Nadia>
- <156, Yanis, R15, Anwar>
Il convient donc de dcomposer cette relation en deux autres relations :
- Client(nClient, nom client, n reprsentant) ;
- Reprsentant(nreprsentant, Nom-reprsentant)
me
2.2.3. 3 forme normale
Une relation est en troisime forme normale si :
me
- elle est en 2 forme normale
- toutes les DF issues de la cl sont directes

Deux relations en troisime forme normale


R1(nclient, nom-client, adresse-client)

R2((ncommande, narticle,qt-commande,qt-livre)

On remarque que, lorsquune relation est en 3FN :


- Aucune DF nest issue dun sous-ensemble de la cl ;
- Aucune DF nest issue dun attribut non cl vers un autre attribut non cl.

2.2.4. Forme normale de boyce-Codd (F.N.B.C.)


me
Cest une forme spcifique de la 3 forme normale. Une relation en 3 me forme normale peut encore prsenter
certaines anomalies, en particulier lorsquun attribut non cl de la relation est source dune DF ayant pour but une partie
(un sous-ensemble) de la cl.
Dans un lyce, on a relev que :
- pour une matire donne et un lve donn, on a une note annuelle,
- pour une matire donne et un lve donn, on a un professeur,
- un professeur enseigne une seule matire ;
Ce qui se traduit par :
- Elve, Matire Professeur
- Elve, Matire Note
- Professeur Matire

Une relation en F.N.B.C

R(Elve, Matire, Professeur, Note)

Bases de donnes relationnelles Page28


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
me
La relation R est en 3 forme normale mais pas en F.N.B.C.
On ne peut pas traduire le fait quun professeur est associ une unique matire. Il est donc possible davoir dans la
base : <Said, Math, Brahim> et <Younes, Anglais, Brahim > alors quune contrainte est viole. La relation rsultat est
dcomposable. En effet, on a les D.F. :
- Professeur Matire
- Elve, Matire note
- Et par pseudotransitivit Elve, Professeur Note.
On peut donc dcomposer R en :
- Rsultat (Elve, Professeur, Note)
- Enseignement (Professeur, Matire)
Cependant la DF Elve, Matire Professeur nest pas reprsente et ceci peut conduire des anomalies. Par
consquent, on a dcompos la relation initiale mais on na pas pu mettre en vidence toutes les contraintes.
Une relation est en F.N.B.C. si la source de chaque DF existant entre les attributs de la relation est cl de la relation.

3. Dpendances multivalues et dpendances de jointures : les 4me et 5me formes normales


3.1. Dpendances multivalues
Cette seconde forme de dpendance (note DM) traduit une situation plus complexe que celle modlise par les DF.
Pour quil y ait une dpendance multivalue (nontriviale), il faut :
- quon ait au moins trois attributs,
- que lon associe, un attribut donn, plusieurs valeurs des autres attributs.

Relation Etudiant
Etudiant (NomEtudiant, Sport, Matire)

Les dpendances {NomEtudiant,Sport} et {NomEtudiant,Matire} sont multivalues. Un tudiant peut pratiquer


plusieurs sports et tudier plusieurs matires ; nous noterons Etudiant Sport/Matire.
Il existe une dpendance multivalue lorsque tout tudiant E qui pratique un sport S et qui tudie une matire
M , le triplet <E,S,M> est prsent dans la relation considre.
Formellement, une dpendance multivalue A B/C sexprime par la rgle [A i,Bj] et [Ai,Ck] [Ai,Bj,Ck]
c..d : si un tudiant A i pratique un certain sport B j et tudie une matire C k, alors le triplet [A i,Bj,Ck] doit tre prsent
dans la relation.
3.2. Proprits des dpendances multivalues
- Complmentation Si X Y alors X Z (avec XYZ lensemble des attributs)
- Rflexivit Si XY alors X Y
- Augmentation Si WV et X Y alors X Y YV
- Transitivit Si X Y et Y Z alors X Z
-Pseudotransitivit Si X Y et Y,W Z alors X,W Z
- Union Si X Y et X Z alors X YZ
- Dcomposition Si X Y et X Z alors X YZ
3.3. 4me forme normale
La relation Etudiant(NomEtudiant, Sport, Matire) est en F.N.B.C. Pourtant, nous avons vu quelle contient beaucoup
de redondance encore sources derreurs. Pour liminer ces erreurs, on a fourni une forme de normalisation plus labore
me
(4 forme normale). Une dfinition simplifie peut tre donne comme suit :
Une relation est en quatrime forme normale si :
- elle est en F.N.B.C.,
- elle ne possde pas de dpendance multivalue non triviale
me
Remarque : La 4 forme normale ne concerne que des relations rduites leur cl.
forme normale car Etudiant Sport/Matire. Il convient
me
Etudiant (NomEtudiant,Sport,Matire) nest pas en 4
me
donc de la casser en deux relations : R1(Etudiant,Sport) et R2(Etudiant, Matire). R1 et R2 sont alors en 4 forme
normale.
3.4. Opration de dcomposition-jointure
Lopration de dcomposition-jointurenote est vrifie pour R(A,B,C) = R1(A,B) R2(B,C) si :
- R1 et R2 sont des projections de R,
- La jointure de R1 et R2 est gale R,
On peut la gnraliser de la faon suivant :
R(A,B,C) = R1(A,B) R2(A,C) R3(B,C)

Bases de donnes relationnelles Page29


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
3.5. 5me forme normale
Une relation est en cinquime forme normale lorsquelle ne contient pas de dpendance de jointure (hors celles
videntes portant sur la cl).
4. Algorithme de recherche dune forme normale

Examen de la relation

Existe-t-il au La D.F. est-elle


moins une O issue dune partie
dpendance de la cl vers un
fonctionnelle ? autre attribut ?

N
N O
Existe-t-il une La D.F. est-
dpendance elle issue dun
multivalue ? attribut non
O N cl?

N O

Existe-t-il Le but de la
une D.F. est-il une
dpendance partie de la cl
de jointure?
O N

N O
3 FN
Non FNBC
5 FN 4 FN FNBC 2 FN 1 FN

Bases de donnes relationnelles Page30


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns

Le Modle Entit-Association : concepts fondamentaux

1. Introduction :
Le modle relationnel est un modle dimplantation des donnes sur ordinateur. Ce modle est difficilement lisible ,
c--d que la simple description permet difficilement de se rendre compte de lorganisation fonctionnelle des donnes.
Les modles smantiques sont au contraire, des modles permettant de comprendre et de visualiser lorganisation des
donnes. A ce titre, ils ne sont pas directement implmentables car ils nont pas vocation tre des structures permettant
la mmorisation des donnes
Le modle entit-association (ou encore modle entit-relation, entit-liaison, et en anglais Entity Relation model) est
un modle de reprsentation et de structuration de linformation. Propos pour la premire fois en 1977 par le chercheur
amricain P. Chen, ce modle est aujourdhui le modle de rfrence pour la reprsentation smantique. Il est en
particulier utilis dans la plupart des mthodes de conception.
Lors du processus de conception dune base de donnes, on dbute par la relation du modle entit-assiciation que lon
transforme ensuite en modle relationnel normalis qui est directement implmentable.
2. Concepts de base du modle entit-association
2.1 Entits et types dentits
On appelle entit un objet concret ou abstrait ayant une existence propre prsentant un intrt pour lentreprise
(lapplication). Exemple dentits : ltudiant Kamal, limprimante hp
On appelle type dentit une classe dentits ayant en commun un ensemble de proprits. Exemple de type dentit :
Etudiant, Professeur, Livre
2.2. Association et type dassociation
On appelle associations des liens entre les entits prsentant un intrt particulier pour lorganisation que lon modlise.
Une association na dexistence quau travers des entits quelle relie.
Un type dassociation est un lien-type entre types dentits ayant en commun un ensemble de proprits (lorsquil
existe).
Lassociation prsente un verbe matrialisant une relation entre les entits.
Par exemple, la phrase Mohamed tudie la langue anglaise dfinit lassociation tudie entre lentit
Mohamed et lentit langue anglaise . Ceci se traduit dune faon gnrique par la relation Ltudiant tudie
une matire qui exprime quon a un type dassociation tudie entre les types dentit tudiant et matire .
2.3. Proprit et type de proprit
Une proprit reprsente une caractristique dune entit, ou dune association dentits. Les diverses occurrences
dune entit ou dune association sont perceptibles au travers des valeurs particulires de leurs proprits.
Exemple : lagent Brahim habite 5, Bv M5 Mekns
Un type de proprit peut tre :
-Simple : mois, prix unitaire,
-Compos : Date(jour, mois, anne)
Adresse(nom, rue, n, code postal, localit)
2.4. Identifiant
Un identifiant est une proprit particulire dun type dentit ou dun type dassociation permettant de distinguer les
occurrences de ce type dentit ou de ce type dassociation. La fonction didentification doit tre bijective.
Une fonction didentification
Ali C11
Brahim C13
Khalid C12
Zakia C14
Nadia C15
Adil C16

Ensemble de dpart Ensemble darrive


Bases de donnes relationnelles Page31
Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Remarque : Lidentifiant est souvent utilis comme une cl, le concept en est un peu diffrent. En effet, la seule
obligation dun identifiant consiste avoir des valeurs diffrentes pour des entits diffrentes. Pour la bonne lecture des
schmas, lidentifiant est soulign afin de le distinguer des autres attributs.
Tout type dentit possde au minimum 1 proprit : son identifiant. Les valeurs de ces identifiants sont discriminantes.
Il ne peut en exister deux identiques pour une mme classe.
Un type dentit est entirement dfini par son nom, son identifiant et ces proprits. Lidentifiant dun type
dassociation est obtenu par concatnation des identifiants des types dentit de la collection.
Identifiant dun type dassociation
Produit
Client
NProduit
NClient Nom
Nom Prix unitaire
Adresse

Comprend

Passe Commande Ncommande+Nproduit


Qt commande remise

Commande

Ncommande
Dlai livraison
Conditions particulires

2.5. Formalisme de reprsentation

Entit et type dentit

Type dentit Occurrences (Entits)


AGENT Sont AGENT
instances
N INSEE de 2 51 06 92 005 125
Nom Bennani
AGENT
Prnom Med
Grade Cadre
Date de naissance 1 49 15 75 051 365
04/05/1955
Alami
Adil
Modle Ingnieur
04/05/1965

Base de donnes

Type dassociation
Type dEntit

Identifiant 2

Nom du type dAssociation

Identifiant1

Type dEntit Identifiant2

Identifiant 1 Identifiant3

Les liens sappellent les pattes


Type dEntit
du type dassociation

Identifiant 3

Bases de donnes relationnelles Page32


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Type dassociation et associations
Une commande concerne un ou plusieurs article(s)
ASSOCIATION TYPE DASSOCIATION
A125 est instance de
Commande Article
645 + A125 chaise
concerne
A524 Identifiant Identifiant
645 Libell
645 + A524 table
A520
645 + A520 lit

Remarque : une association peut ou non possder des proprits.


3. Collection et dimension dun type dassociation
Lensemble des types dentits intervenant dans un type dassociation est appel sa collection. Le nombre de pattes
de ce type dassociation dfinit sa dimension.
Collection et dimension du type dassociation
est gare
Voiture Parking
est gare
numro nom

La collection du type dassociation est gare est constitue par les types dentits Voiture et Parking . La
dimension de ce type dassociation est 2.
La collection de la relation autorise garer est constitue par les entits Voiture , Parking et Conducteur .
La dimension de cette association est 3.
Collection et dimension de type dassociation
autoris garer
Voiture Parking
Autoris
numro garer nom

Conducteur

Numro de permis

Une mme occurrence dentit peut intervenir dans plusieurs occurrences dassociations. Par exemple, dans un
historique de mariages :
Intervention dune occurrence dentit dans les
occurrences dune association
Homme Femme
mariage

Khalid
Nawal
Brahim
Aicha

Amina

Bases de donnes relationnelles Page33


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
La difficult dans certains cas consiste donner un nom au type dassociation. Lexemple suivant le montre
simplement :
Nommage dun type dassociation
Client Produit
Commande

Client Facture

Le nommage du premier type dassociation est facile faire mais quel nom utiliser pour le second cas ?
Un type dassociation peut tre : binaire, ternaire n-aire, selon que sa dimension vaut 2, 3 ou plus.
Il peut exister plusieurs types dassociation associant les mmes types dentit (pas forcment les mmes occurrences).
Plusieurs types dassociation associant les
mmes types dentit

Propritaire

Maison Personne
Locataire
numro CNI

Occupant

Un mme type dentit peut participer plusieurs fois un mme type dassociation, ce sont des types dassociations
rflexives :
Types dassociations rflexives

Personne pouse
Mariage Article
nomenclature
date
poux

Les types dassociations rflexives ne sont pas symtriques. La signification de chaque patte est diffrente.

4. Cardinalits
On appelle cardinalit dune entit au sein dune association, le nombre de fois minimum et le nombre de fois
maximum quune mme occurrence de cette entit peut intervenir dans les occurrences de lassociation :
- participation minimale possible dune occurrence une association donne : 0,1 ;
- participation maximale possible dune occurrence une association donne : 1,n.
Le tableau suivant prsente la signification dun 0 , dun 1 ou dun n dans les cardinalits minimales ou
maximales de la participation dune occurrence :
Minimum maximum
Loccurrence peut ne pas
0
participer
Loccurrence participe Loccurrence peut participer au
1
obligatoirement plus une fois
Loccurrence peut participer
n TRES RARE
plusieurs fois

Bases de donnes relationnelles Page34


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Cardinalits minimale et maximale

AB AB AB AB
R R R R

0,1 1,1 1,1 0,n 1,1 1,1 0,n 1,n

Exemples :
Type dassociation Propritaire
Personne 1,n Appartement
0,n
propritaire

- une Personne peut tre propritaire de plusieurs Appartements ;


- une Personne peut ne pas possder dAppartements ;
- un Appartement est possd par au moins un Personne.
Type dassociation Contrat
Client 1,n Contrat
0,n
titulaire

- La cardinalit 0,n de Client signifie quun Client peut tre titulaire de 0 n Contrats en cours
- La cardinalit 1,n de Contrat signifie quun contrat est attach au moins un Client et quil peut ltre
plusieurs.
Type association Enseignement
Type dassociation Enseignement
Elve Matire
Enseignement

Professeur

Les cardinalits, dans ce cas, sont un peu plus complexes trouver, puisquil faut dterminer le nombre non plus
dentits dun type dentit correspondant, mais de lensemble dentits correspondant aux n types dentit associs. Par
exemple, combien de couples (professeur, matire) un lve correspond-il ?
Cardinalits minimales
Un lve est associ ou non une matire qui est enseigne par au moins un professeur. Donc on peut dire que la
cardinalit minimale est de 1 puisquil existe toujours une occurrence du couple (professeur,matire) qui est associe
un lve. On obtient ainsi :
Cardinalitsminimales

Elve 1,n 0,n Matire


Enseignement
0,n
Professeur

Bases de donnes relationnelles Page35


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
Les cardinalits minimales sont 0 et 1. On peut constater quune matire peut ne pas tre enseigne une anne et donc
sera associe 0 couple (Elve, Professeur). Il en est de mme pour un professeur qui peut ne pas enseigner une anne.
Cardinalits maximales

Dpartement 0,n 0,n Matire


Enseigne
0,1
Professeur

Ce schma signifie quun professeur ne peut correspondre qu un seul couple (Matire, Dpartement) donc en fait
une seule matire et un seul dpartement. Nous avons donc les dpendances fonctionnelles Professeur Matire et
Professeur Dpartement.
Le type dassociation Enseigne a donc comme identifiant (nprofesseur,ndpartement,nmatire). Or, cet identifiant
nest pas correct car il existe une dpendance fonctionnelle entre ses composants : Professeur Matire, Dpartement.
La formulation correcte est la suivante :
Prise en compte des dpendances fonctionnelles

Professeur 0,1 0,n Dpartement

1,1

1,n

0,n

Matire 0,n
Enseigne

(n
Consquence : Dans des associations n-aires 3), la cardinalit maximale dune partie ne peut tre 1.
Type dassociation Commande
- la commande est passe par 1 et 1 seul client ;
- un client passe une ou plusieurs commandes ;
- une commande concerne 1 ou plusieurs articles ;
- un article est compos de 0 ou de plusieurs autres articles ;
- un article peut tre composant de 0 n autres article ;
- un article participe 0 n commandes.
Type dassociation Commande

Commande Article
1,n Concerne 0,n
n commande n darticle
date commande quantit dsignation darticle

1,1 0,n 0,n

Passe par

1,n
Composant compos
Client

n de client Compos de
nom de client

Bases de donnes relationnelles Page36


Universit Moulay Ismail A. U. : 2010/2011
Facult des Sciences Juridiques, Economiques
et Sociales - Mekns
5. Passage au relationnel
Une fois le schma entit-association tabli, il est ncessaire de le traduire en relationnel pour pouvoir crer la base de
donnes.
Si le schma a dj t construit suivant les critres de la normalisation, la transformation est automatique. Dans le cas
contraire, il sera ncessaire de normaliser les relations obtenues.
Rgles de passage du modle Entit-Association au relationnel :
- chaque type dentit donne naissance une relation de mme nom,
- chaque proprit du type dentit devient un attribut de la relation,
- chaque type dassociation dont aucune des pattes ne contient une cardinalit maximale gale 1
devient une relation qui possdera ventuellement comme attributs les proprits du type
dassociation,
- lorsquune des pattes de lassociation a une cardinalit maximale gale 1, nous savons que nous
sommes en prsence dune dpendance fonctionnelle. Dans ce cas, le type dassociation nest pas
transform en relation, et il est matrialis par lajout dun attribut dans la relation source de la
dpendance fonctionnelle, cet attribut correspond la cl de lautre type dentit.
Exemple :
Soit le schma entit relation suivant

MALADE Mutuelle
0,1 1,n
n patient n mutuelle
nom nom mutuelle
prnom adresse mutuelle
adresse
1,n
tel
CIN

Hospitalisation
Date dbut
Date fin

1,n 0,n

Mdecin Maladie

n mdecin Code maladie


nom mdecin nom maladie

Le schma relationnel obtenu est le suivant :

Malade (n patient, CIN, nom, prnom, adresse, tel, n mutuelle)


Mdecin (n mdecin, nom mdecin)
Maladie (code maladie, nom maladie)
Mutuelle (nmutuelle, nom mutuelle, adresse mutuelle)
Hospitalisation (n patient, code maladie, n mdecin, date dbut, date fin)

Bases de donnes relationnelles Page37

Vous aimerez peut-être aussi