Vous êtes sur la page 1sur 20

[Audibert]

[Gardarin]
Modèle relationnel [Larousse]
[Rigaux]

l  Définition
d’un schéma relationnel
l  Passage d’un schéma E/A à un
schéma relationnel

Préambule
[Larousse]
l  Appareils électroménagers d’une cuisine
l  Ensemble des valeurs
l  Réfrigérateur, Cuisinière, Lave-vaisselle, Hotte, Robot-ménager
l  Ensemble des couleurs
l  Rouge, Bleu, Vert, Jaune, Blanc, Noir, Rose, Jaune"
"
l  Combinaisons possibles"
l  5 appareils - 8 couleurs : 40 combinaisons possibles"

"
2

Page 1
Préambule
l  Sélection représentant la description de la cuisine de vos rêves" [Larousse]
l  (réfrigérateur, rouge) (robot ménager, mauve) (cuisinière, jaune)

(lave-vaisselle, rouge)"
l  Ensemble de ces couples de valeurs représentent linstantiation de la relation entre
Appareil et Couleur dans votre cuisine de rêve !"

MaCuisine
l  Description formelle de la relation"
l  MaCuisine (Appareil, Couleur)"
l  Schéma relationnel de la relation 

MaCusine"
l  Relation d’arité 2"
l  Nombre de t-uples"
l  4 t-uples"

Le modèle relationnel
l  Représentation de la base de données
l  Ensemble de tables constituant
l Structure logique de la base de données
l  Sans préjuger de la façon dont sont stockées les données dans
la machine
l  Niveau physique
l  Système est libre de choisir la technique de stockage à condition
de relier les structures à des tables au niveau logique
l  Les tables représentent
l  Abstraction de l’enregistrement physique des données en
mémoire

Page 2
Le modèle relationnel
l  De façon informelle
l  Organisation des données sous forme de tables de
dimension 2 (relation)
l  Lignes des tables sont appelées t-uple
l  Manipulation des données
l  Des opérateurs de l’algèbre relationnelle
l  Définition d’un ensemble de contraintes d’intégrité
l  Maintien de l’état cohérent de la base

Le modèle relationnel
l  Unique structure : relation
l  Nom
l  Représentée par une table
Colonne : nom attributs
Nom de la relation

Film Titre Année Genre


Alien 1979 SF
Vertigo 1958 Suspense Ligne : t-uples
Instance d’une relation
Vote face 1997 Thriller
Pulp Fiction 1995 Policier
6
Contenu colonne : valeurs attributs Schéma relationnel : ensemble des schémas de relation

Page 3
Eléments constitutifs
l  Attribut
l  Identifiant décrivant une information stockée dans
la base
l  Nomme les colonnes de la table
l  Domaine
l  Ensemble d’instances d’un type élémentaire
l  Entiers, réels, chaînes de caractère, etc.
l  Relation
l  Sous-ensemble du produit cartésien de n
domaines d’attributs (n>0)
7

Attribut
l  Vision tabulaire du relationnel
l  Une relation est une table à deux dimensions
l  Une ligne est un tuple
l  Un nom est associé à chaque colonne afin de la repérer
indépendamment de son numéro d'ordre
l  Attribut
l  Nom donné à une colonne d'une relation
l  Prend ses valeurs dans un domaine
attribut

Titre Année Genre


Alien 1979 SF
Vertigo 1958 Suspense
Vote face 1997 Thriller t-uples
Pulp Fiction 1995 Policier 8

Page 4
Exemple : domaine
l  Entier
l  Réel
l  Chaîne de caractères
l  Euros
l  Salaire = {4 000,…,100 000}
l  Couleur = {Bleu, Banc, Rouge}
l  Point = {(X:Réel,Y:Réel)}
l  Triangle = {(P1:point,P2:Point,P3:Point)}

Eléments constitutifs
l  Schéma de relation
l  Précise
l  Nom de la relation
l  Liste des attributs avec leurs domaines
l  Syntaxe
l  R(A1 : D1, A2 : D2, …, An : Dn)
l  Arité
l  Nombre d’attributs de la relation
l  Instance d’une relation
l  Sous-ensemble fini du produit cartésien des domaines des
attributs de la relation
10

Page 5
Relation
l  Sous-ensemble du produit cartésien d’une liste de
domaines

l  Une relation est caractérisée par un nom

l  Exemple CouleurVin Couleur Choix


l  Relation : Couleur Vin Bleu Faux
l  Attribut : Couleur Blanc Vrai
l  D1 = Couleur = {Bleu, Blanc, Rouge} Rouge Vrai
l  Attribut Choix
l  D2 = Booléen 11

Produit cartésien
l  Le produit cartésien D1x D2x ... x Dn
l  Ensemble des tuples (n-uplets)
l  <V1,V2,....Vn> tels que Vi ∈ Di
l  Propriétés
l  Ordre des lignes indifférent
l  On ne peut pas trouver deux fois la même ligne
l  Pas de case vide
Bleu Vrai
l  Exemple Bleu Faux
Blanc Vrai
l  D1 = {Bleu, Blanc, Rouge}
Blanc Faux
l  D2 = {Vrai, Faux} Rouge Vrai
Rouge Faux
12

Page 6
Exemple
l  Pays = {France, Italie, Japon}
Devise = {dollar, euro, yen}

l  Construire le produit cartésien Pays x Devise


l  Pays x Devise = {(France, dollar), (France, euro), (France, yen), (Italie, dollar),
(Italie, euro), (Italie, yen), (Japon, dollar), (Japon, euro), (Japon, yen)}
l  Certains vecteurs ne sont pas pertinents.
l  Les vecteurs les plus pertinents : {(France, euro), (Italie, euro), (Japon, yen)}

l  La definition d’une relation vise à definir l’espace des


définitions des vecteurs pertinents
13

Graphe d'une relation


l  Relation binaire R(A1,A2)
l  Une relation n-aire
l  Généralisation à n dimensions

DOM(A2)
DOM(A2) DOM(A1)

4 • 1
a
3 • 2
b
2 • 3
1 c
• •
4
a b c DOM(A1)
14

Page 7
Notion de clé
l  L’accès à un n-uplet se fait par le contenu d’un ou
plusieurs attributs
l  Une clé d’une relation est un attribut ou un ensemble
d’attributs permettant d’identifier un n-uplet de façon
unique
l  Il peut exister plusieurs clés qui sont dites clés
candidates
l  La clé choisie doit être minimale ie contenir le
minimum d’attributs
l  Clé primaire
15

Choix d’une clé primaire


MaCuisine

l  Relation MaCuisine


l  Clé candidate Appareil
l  Clé primaire ?
l  Cuisine peut contenir un
autre réfrigérateur bleu
l  Dans ce contexte, la combinaison
Appareil Couleur semble plus appropriée
l  Prendre en compte les dépendances fonctionnelles
•  Relations entre les différents attributs

16

Page 8
Clé primaire (primary key)
l  Le plus petit sous-ensemble permettant d’identifier
chaque ligne de manière unique
l  Ses attributs sont soulignés
l  Exemples
l  {CRU,MILLESIME} DANS VINS ==> NV
VINS CRU MILL REGION COULEUR
CHENAS 1983 BEAUJOLAIS ROUGE!
TOKAY 1980 ALSACE BLANC!
TAVEL 1986 RHONE ROSE!
CHABLIS 1986 BOURGOGNE BLANC!
ST-EMILION 1987 BORDELAIS ROUGE!

l  NSS DANS PERSONNE


17

Clé Etrangère (foreign key)


l  Composition
l  1 ou plusieurs attributs constituant une clé candidate dans une autre
relation
l  Clé présente dans une table dont elle n’est pas la clé primaire
l  Utilisation du # avant ou après
l  Définit les contraintes d'intégrité référentielles
l  Lors d'une insertion, la valeur des attributs doit exister dans la relation
référencée
l  Lors d'une suppression dans la relation référencée les t-uples
référençant doivent disparaître
l  Elles correspondent aux liens entité-association obligatoires

18

Page 9
Dépendance fonctionnelle
l  Introduite par Cood pour caractériser des relations
pouvant être décomposées sans perte d’information
l  Expression des relations existant entre les attributs
d’une relation à l’aide de dépendances fonctionnelles
l  Une dépendance fonctionnelle existe entre deux
ensembles d’attributs
l  si les valeurs contenues dans l’un des ensembles
d’attributs déterminent les valeurs contenues dans l’autre
ensemble

19

Choix d’une clé


N°Carte Nom Age Ville Etabliss
l  Pas de dépendances entre
ement
l  (Ville, Etablissement) et (Nom,
Age) 1 Justine 10 Paris UP13
l  2 t-uples (Lolita,32) 2 Stan 32 Paris UP5
correspondant à 2 valeurs
différentes de 3 Luis 44 Rennes INSA
(Ville,Etablissement) 4 Flo 19 Rennes UR1
l  Dépendance entre (Ville,
Etablissement) 5 Lolita 32 Caen UCaen
l  un établissement est situé dans 6 Gilles 41 Paris UP7
1 seule ville
7 Rim 36 Rennes INSA
l  L’attribut N°Carte est unique
pour chaque personne 8 Antoine 18 Caen UCaen
l  Clé candidate :Chaque attribut 9 Lolita 32 Paris UP6
dépend fonctionnellement du N°Carte
l  Clé primaire de la relation
20

Page 10
Schéma
l  Composition
l  Nom de la relation
l  Liste des attributs avec domaine
l  Liste des clés d’une relation
l  Exemple
l  VINS(NV : Int, CRU : texte, MILLESIME : entier, DEGRE : Réel, REGION : texte)
l  Par convention, la clé primaire est soulignée
l  Intension et Extension
l  Un schéma de relation définit l'intension de la relation
l  Une instance de table représente une extension de la relation
l  Schéma d’une base de données relationnelle
l  Ensemble des schémas des relations composantes

21

Exemple de Schéma
l  Schéma
BUVEURS (NB, NOM, PRENOM, TYPE)
VINS (NV, CRU, MILL, DEGRE)
ABUS (#NB, #NV, DATE, QUANTITE)
(ABUS modélise la consommation comme une relation entre le buveur
et le vin)
l  Clés étrangères
ABUS.NB REFERENCE BUVEURS.NB
ABUS.NV REFERENCE VINS.NV

22

Page 11
Diagramme des Liens

BUVEURS NB NOM PRENOM TYPE VINS NV CRU MILL. DEGRE

ABUS NB NV DATE QUANTITE

23

Règles d’intégrité structurelle


l  Unicité de clé
l  Ensemble minimal d’attributs dont la connaissance
permet d’identifier un tuple unique de la relation
considérée
l  Contraintes de référence
l  Contrainte d’intégrité sur une relation R1, consistant à imposer
que la valeur d’un groupe d’attributs apparaisse comme la
valeur de clé dans une autre relation R2

24

Page 12
Règles d’intégrité structurelle
l  Valeur nulle (NULL value)
l  Valeur conventionnelle introduite dans une relation pour représenter
une information inconnue ou inapplicable
l  Contrainte d’entité
l  Contrainte d’intégrité imposant que toute relation possède une clé
primaire et que tout attribut participant à cette clé primaire soit non nul
l  Contrainte de domaine
l  Contrainte d’intégrité imposant qu’une colonne d’une relation doit
comporter des valeurs vérifiant une assertion logique

25

Passage au relationnel
l  Passer d’un modèle à deux structures (E/A) à un modèle
disposant d’une seule structure (relation)
l  E/A seront transformées en relation
l  Préserver les liens existant explicitement dans un schéma E/A
l  Utilisation d’un mécanisme de référence fondé sur les clés des
relations
l  Choix de la clé d’une relation est un problème central dans la
conception de schéma

26

Page 13
Passage au relationnel
l  Implémentations des entités et associations sous forme
de tables
l  Mémorisent les états des entités et liens
l  Pas nécessaire d'avoir une base de données Entité/Association
l  Les attributs correspondent aux colonnes des tables
l  Nom attribut è Nom colonne
l  Ensemble de valeurs è Domaine

27

Passage au relationnel
l  Règle 1
l  Une entité est représentée par
l  une relation de même nom que l’entité
l  Chaque propriété de l’entité devient un attribut
l  Les attributs de l’identifiant constitue la clé de la relation

TYPE-ENTITE(identifiant, attribut1, attribut2)

28

Page 14
Passage au relationnel

l  Attention aux entités spécifiques


l  Induisent l’apparition d’au moins une clé étrangère

CANDIDAT(#idPersonne,parti) CITOYEN(idPersonne,nom,prénom, adresse)


Clé étrangère

29

Passage au relationnel
l  Règles générales
l  Chaque type d’association n-n donne naissance à un schéma de relation
l  Chaque attribut
•  Devient un attribut du schéma de relation
l  L’identifiant
•  L’ensemble des identifiants des types d’entités intervenant dans le type-association
l  Chacun des identifiants devient une clé étrangère
•  Faisant référence au schéma de relation correspondant au type d’entité dont l’identifiant provient

30

Page 15
Passage au relationnel
l  Règles générales
l  Un type-association dont un élément à une cardinalité maximale a 1 ne devient pas un
schéma de relation
l  Description d’une dépendance fonctionnelle

Le lien droit correspond à un lien identifiant l’attribut doit être intégré à la clé
31

Résumé

l  Chaque type association maillée


donne naissance à un schéma de
relation dont la clé primaire est
composée de clés étrangères

l  Un type association fonctionnel ne


devient pas un schéma de relation
mais se traduit par une clé étrangère

32

Page 16
Passage au relationnel
l  Type association 1 vers 1 ne se traduit pas par un
schéma de relation

l  Schéma relationnel adéquat


l  PERSONNE(idPersonne, nom, prénom, adresse)
l  LIVRET-A(idLivretA, solde,# idPropriétaire)
l  L’identifiant de la clé étrangère peut être différent de la clé primaire à 33
condition qu’elle ait un type compatible

Passage au relationnel
l  Type entité sans autre attribut que sa clé
l  Pas nécessaire d’en faire un schéma de relation

l  L’entité date ne doit pas se traduire par un schéma de relation


l  Schéma relationnel adéquat
l  PATIENT(idPatient, numéroSECU, nom, prénom)
l  MEDECIN(idMédecin, nom, prénom, spécialité)
l  CONSULTER(#idPatient,# idMédecin, Date) où idPatient, idMédecin sont des
clés étrangères faisant référence aux schémas de relation PATIENT et 34
MEDECIN

Page 17
Résumé Association 1 à 1

Cardinalités maximales à 1 Traduction


Cardinalité 0-1 et 1-1 Clef étrangère placée dans la table
représentant l’entité de la branche 1-1
Cardinalité 0-1 et 0-1 Clef étrangère placée dans l’une des
tables et déclarée comme facultative
Cardinalité 1-1 et 1-1 Clef étrangère placée dans l’une des
tables et déclarée comme obligatoire

35

[Vaillant]

Page 18
[Vaillant]

Passage au relationnel
[Cartereau]
Résumé

38

Page 19
Passage au relationnel
l  Exemple complet

39

Passage au relationnel
l  Exemple complet

40

Page 20

Vous aimerez peut-être aussi