Vous êtes sur la page 1sur 35

BASE DE DONNES

RELATIONNELLE

Expos ralis par: - Oukir Atika


Encadr par :

- Douiksi Hasna

-Gharnati Fatima

PLAN
Prsentation
Elments constitutifs du modle
Les types de relations ou la cardinalit
1- Les relations 1-1
2- Les relations 1-n
3- Les relations n-n
Ce qui est ncessaire pour faire une relation
Cration d'une relation dans une requte
Appliquer l'intgrit rfrentielle
Les oprateurs de lalgbre relationnelle

BASE DE DONNES RELATIONNELLE

Prsentation :
Le modle relationnel reprsente la base de donnes
comme un ensemble de tables, sans prjuger de la
faon dont les informations sont stockes dans la
machine. Les tables constituent donc la structure
logique 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.

BASE DE DONNES
RELATIONNELLE
(SUITE)
De faon informelle, le modle relationnel peut tre
dfini 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.

ELMENTS CONSTITUTIFS DU
MODLE
Un attribut est un identifiant (un nom) dcrivant une information stocke
dans une base.
Exemples dattribut : lge dune personne, son nom, le numro de scurit
sociale.

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


possibles.
Exemple : lattribut numro de scurit sociale a pour domaine lensemble des
combinaisons de quinze chiffres.
- couleurs = {ros, blanc, rouge}
- noms = lensemble des noms de personnes

Une relation une relation est un sous-ensemble du produit cartsien dune


liste de domaines caractris par un nom.
Une relation est reprsente sous la forme dune table 2 dimension.
Chaque ligne correspond un tuple, chaque colonne correspond un
domaine.

ELMENTS CONSTITUTIFS DU
MODLE
Un schma de relation prcise le nom de la relation ainsi
que la liste des attributs avec leurs domaines.
Exemple de schma :
Personne(NScu : Entier, Nom : Chane, Prnom : Chane)
Le degr dune relation est son nombre dattributs.
Une occurrence, ou n-uplets ou tuples, est un lment
de lensemble figur par une relation. Autrement dit, une
occurrence est une ligne de la table qui reprsente la
relation.
La cardinalit dune relation est son nombre
doccurrences.
Une cl candidate dune relation est un ensemble
minimal des attributs de la relation dont les valeurs
identifient coup sr une occurrence.

ELMENTS CONSTITUTIFS DU
MODLE
Une cl trangre dans une relation est
forme dun ou plusieurs attributs qui constituent
une cl candidate dans une autre relation.
Attention: une cl trangre != cl candidate dans
une relation.
Un schma relationnel est constitu par
lensemble des schmas de relation avec mention
des cls trangres.
La cl primaire dune relation est une de ses
cls candidates. Pour signaler la cl primaire, ses
attributs sont gnralement souligns.

LES TYPES DE RELATION OU LES


CARDINALIT
Il existe trois types de relations aussi appel cardinalit :
un un, un plusieurs et plusieurs plusieurs. Ce n'est
pas toujours facile de dterminer quel genre de relation
qu'il y a entre deux tables. Il faut de la pratique. Il ya une
mthode pour dterminer quel genre de relation qu'il y a
entre deux tables. Il s'agit de poser deux questions.
1- Pour 1 enregistrement de la premire table, combien
peut-il en avoir dans la seconde table?
2- Pour 1 enregistrement de la seconde table, combien
peut-il en avoir dans la premire table?
Les deux questions commencent toujours par: "Pour 1 de
ceci, combien de cela?" Les deux seules rponses
acceptables sont soitunouplusieurs. Une fois que vous
avez les rponses, placez-les dans le petit tableau qui suit.

LES TYPES DE RELATION OU LES


CARDINALIT
Dterminer le type de relation
Table 1
Table 2
Q1:
1
?
Q2:
?
1
Max:
Ensuite, vous crivez sur la dernire ligne le plus
gros, entre un et plusieurs, de la deuxime et la
dernire colonne. Vous pouvez ensuite savoir de
quel genre de relation qu'il s'agit.

LES TYPES DE RELATION OU LES


CARDINALIT
1- Les relations 1-n:
Facture
Q1:
1
Q2:
plusieurs
Max:
plusieurs

client
1
1
1

LES TYPES DE RELATION OU LES


CARDINALIT
2- Les relations 1-1:

LES TYPES DE RELATION OU LES


CARDINALIT
3- Les relations n-n:

CE QUI EST NCESSAIRE POUR FAIRE UNE


RELATION

2 tables (ou requtes ou une combinaison des


deux)
Un champ en commun dans chacune des tables.
Mme type de champ (Texte avec texte,
numrique avec numrique ...)
Mme longueur (Pas un champ long de 15
caractres avec un autre long de 50 caractres )
Mme genre d'information (Ex.: Code d'inventaire
avec des codes d'inventaires, Code client avec
Numro client...).

CE QUI EST NCESSAIRE POUR FAIRE UNE


RELATION (SUITE)

Remarque:
N'essayez pas de crer une relation entre les
champsdateetnumro de tlphone. Les
champs ne sont pas des mmes types (Texte,
Numrique, Date/Heure, Oui/Non,
NumroAuto...) Aussi, n'essayez pas entre les
champsnometprnom. Bien que les deux
champs sont du type "texte", ils n'ont pas le
mme genre d'information.

CRATION D'UNE RELATION


Appuyez sur le bouton
OU
Du menuAffichage, slectionnez l'optionCration.
Dterminez les champs en commun entre les deux tables.
Dans ce cas, il s'agit des champs Code client et Numro de client.
Bien qu'ils n'aient pas le mme nom, ils sont des mmes types de
champs. Ils ont aussi le mme format ou de longueur et contiennent
le mme genre d'information.
la fentre "Base de donnes" tant active
nous ouvrons la fentre "Relations"
nous cliquons sur le bouton "Afficher la table".
Placez le pointeur par-dessus l'un des champs en commun.
En gardant votre doigt sur le bouton gauche de la souris, dplacez le
pointeur par-dessus l'autre champ en commun.
Relchez ensuite le bouton de la souris.

CRATION D'UNE RELATION


Une ligne mince devrait apparatre
entre les deux champs. Les deux
tables sont maintenant relies. Sinon,
ressayez. Il est aussi possible, par
accident, d'avoir reli des champs qui
n'ont pas le mme genre
d'information. Il faut retirer la
mauvaise relation avant de pouvoir
ressayer.
Cliquez sur la ligne qui relie les deux
tables.
Du menudition, slectionnez
l'optionSupprimer.

CRATION D'UNE RELATION


Une fois que les tables sont correctement relies, il
est temps d'afficher le rsultat.
Excuter encore une fois la requte en appuyant
sur le bouton
Remarque: Il faut remarquer que vous voyez les
informations de deux tables en mme temps .
C'est l l'un des grands avantages des bases de
donnes relationnelles; tre capable d'accder
l'information a partir dune seule table. C'est
seulement une fois que ces tables sont relies
qu'elles sont vraiment efficaces.

L'INTGRIT
RFRENTIELLE
Cette option est ncessaire pour tablir une relation que
j'appelle " forte ". C'est une relation qui s'assure qu'il existe
une valeur dans l'autre table relie. En activant l'option
"appliquer l'intgrit rfrentielle", Access s'assure que
certaines rgles d'intgrit d'une relation soient respectes.
C'est pour que les relations entre les tables relies soient
toujours bonnes. Aucune information ne peut tre "perdu" en
laissant Access le droit de valider ces rgles.

L'INTGRIT
RFRENTIELLE
Access peut refuser de crer une relation avec intgrit rfrentiel
pour ces raisons :
La table qui contient l'enregistrement unique n'a pas l'option d'index
sans doublons ou cl primaire.

La table qui contient l'enregistrement unique a des doublons. Ex. :


plusieurs produits ont le mme numro de produit.
L'un des enregistrements de l'une des tables relies un des champs
communs vide. Il faut toujours que les champs en commun des deux
tables aient de l'information dans l'autre table.
La valeur crite dans la table qui peut contenir plusieurs fois la mme
valeur dans le champ en commun n'a pas d'quivalent dans l'autre table.
Ex. : L'un des enregistrements contient le numro de produit numro 5
bien qu'il y ait seulement quatre produits, de 1 4, de disponible.
Une autre raison est que l'une des tables est "ouverte" ou affiche. Il faut
fermer toutes tables, requtes, tats et formulaires avant de crer les
relations entre les tables.

ALGBRE RELATIONNELLE
Dfinition:
Lalgbre se compose dun ensemble doprateurs, parmi lesquels
5 sont ncessaires et suffisants et permettent de dfinir les autres
par composition. Ce sont :
1.La slection, dnote
2. La projection, dnote ;
3. Le produit cartsien, dnot * ;
4. Lunion, ;
5. La diffrence -;
Les deux premiers sont des oprateurs unaires (ils prennent en
entre une seule relation) et les autres
sont des oprateurs binaires. A partir de ces oprateurs il est
possible den dfinir dautres, et notamment la jointure, qui
est la composition dun produit cartsien et dune slection.
Ces oprateurs sont maintenant prsents tour tour.

ALGBRE RELATIONNELLE
1.La slection:
La slection appele aussi restriction est l'opration
qui consiste slectionner les diffrentes lignes ou nuplets qui rpondent une condition pose sur la (ou
les) valeur(s) d'un (ou des) constituant(s) de la
relation de dpart. Le rsultat d'une slection est
une relation de mme degr que la relation initiale
compose des n-uplets satisfaisants aux conditions.

ALGBRE RELATIONNELLE

ALGBRE RELATIONNELLE
2-La projection:
La projection est l'opration qui partir d'une relation
permet de faire une slection verticale sur un certain nombre
de ses constituants; c'est dire que la relation rsultant de la
projection ne comportera que les colonnes prcdemment
slectionnes, ceci en liminant les doublons des n-uplets.

ALGBRE RELATIONNELLE

ALGBRE RELATIONNELLE
3-Le produit cartsien:
Le produit cartsien de plusieurs relations de schma
quelconque consiste en une concatnation des attributs des
diffrentes relations. La relation rsultante est compose de
toutes les concatnations d'un tuple de la premire relation
avec un tuple de la seconde, ...

ALGBRE RELATIONNELLE
Exemple:

ALGBRE RELATIONNELLE
4-Lunion:

L'opration d'union de plusieurs relations de mme schma


consiste regrouper l'ensemble des tuples de chacune des
relations initiales. La relation rsultante de l'union
contiendra toutes les lignes ou tuples appartenants chaque
relation, les doublons ventuels seront supprims.

ALGBRE RELATIONNELLE

ALGBRE RELATIONNELLE
5-La diffrence:

L'opration de diffrence entre deux relations de mme


schma consiste slectionner l'ensemble des tuples
appartenant la premire relation, et pas la seconde.

ALGBRE RELATIONNELLE

ALGBRE RELATIONNELLE
6-Jointure:
L'opration de jointure sur plusieurs relations consiste
regrouper les n-uplets satisfaisants une (ou des) condition(s)
sur un (ou des) attribut(s) de mmes types (physiquement) et
de mmes domaines (logiquement). La relation rsultante
est l'ensemble des n-uplets du produit cartsien des relations
de dpart qui vrifie les conditions. Habituellement les
jointures se feront partir de cls principales ou externes.

ALGBRE RELATIONNELLE

ALGBRE RELATIONNELLE
Exemple:
Soit les tables

Livre(NLivre,

Titre, Anne, NAuteur)


Auteur(NAuteur, Nom, AnneNaissance)

On veut savoir pour chaque livre , lauteur


qui la crit (on suppose quil ny a quun
auteur par livre)
Jointure(Album; Artiste)

ALGBRE RELATIONNELLE
Soit les tables

Livre(NLivre,

Titre, Anne, NumAuteur)


Artiste(NAuteur, Nom, AnneNaissance)

On veut avoir le titre des livres crits par un


auteur qui sappelle Dupont
R1= Jointure (Livre ; Auteur)
R2= Restriction(R1; Nom=Dupont)
R3= Projection(R2 ; Titre)

EXERCICE
Ecrire deux Tables :
-Facture( N de Facture, Date D mission, Mode
de paiement, Prix unitaire, Dsignation , Quantit)
-Clients( N de client, Nom, Prnom, Ville,
Adresse , Civilit)
1-Etablir une Relation entre les deux table.
2-Ecrire une relation dans une requte qui affiche
le nom et le prnom de client , la date d
mission et le mode de paiement de la Facture
en ordre croissant et sans redondance .