Upload
radwan
View
18
Download
0
Embed Size (px)
DESCRIPTION
M.E.D.A.L. Les paradigmes. Module d’Enseignement à Distance pour l’Architecture Logicielle. Le modèle relationnel (1). Diapositive n° 1. Université de NANTES. Alain VAILLY. AVERTISSEMENT. - PowerPoint PPT Presentation
Citation preview
M.E.D.A.L.M.E.D.A.L.
Module d’Enseignement à Distance Module d’Enseignement à Distance pour l’Architecture Logiciellepour l’Architecture Logicielle
Alain VAILLYDiapositive n° 1 Université de NANTES
Les paradigmes
Le modèle relationnel (1)
Alain VAILLYDiapositive n° 2 Université de NANTES
L’usage de ce document, sous quelque forme que ce soit (électronique, papier…), à titre personnel ou devant des étudiants, est autorisé et libre de droits, à la condition expresse qu’il soit conservé dans l’état (et notamment
qu’il comporte la page de garde et cet avertissement).Tout autre usage, notamment commercial, toute diffusion via un serveur
informatique, une liste de diffusion… est soumis à l’accord PRÉALABLE de son auteur.
Ce document constitue un TOUT. Toute coupe, toute modification non autorisée par son auteur sera assimilée à une atteinte aux droits de l’auteur
et poursuivie comme telle devant les tribunaux.
AVERTISSEMENT
MEDALMEDAL
Alain VAILLYDiapositive n° 3
Cours magistral
Contexte
Auto-évaluation
Exercices
Corrigés des
exercices
RéférencesEvaluation
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Etudes de cas
comportements
Alain VAILLYDiapositive n° 4 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral
- le modèle E-A-P
- les modèles de traitement de Merise
informations
fonctions
- le modèle relationnel
1) Introduction
2) Notions de base
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
PLAN
- les réseaux de PETRI
Alain VAILLYDiapositive n° 5 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral
1) Introduction
2) Notions de base
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
PLAN
Alain VAILLYDiapositive n° 6 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral
1) Introduction
2) Notions de base
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
PLAN
Alain VAILLYDiapositive n° 7 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral
PLAN
1) Introduction
2) Notions de base
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
Alain VAILLYDiapositive n° 8 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral1) Introduction
PLAN
2) Notions de base
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
Alain VAILLYDiapositive n° 9 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral1) Introduction
2) Notions de base
PLAN
3) Normalisation et décomposition
4) Utilisation de relations
5) Conclusion
Alain VAILLYDiapositive n° 10 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral1) Introduction
2) Notions de base
PLAN
3) Normalisation et décomposition 4) Utilisation de relations
5) Conclusion
Alain VAILLYDiapositive n° 11 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral1) Introduction
2) Notions de base
PLAN
4) Utilisation de relations
5) Conclusion
3) Normalisation et décomposition
Alain VAILLYDiapositive n° 12 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral1) Introduction
2) Notions de base
PLAN
4) Utilisation de relations
5) Conclusion
3) Normalisation et décomposition
Alain VAILLYDiapositive n° 13 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Cours magistral
2.1) Notions de domaine, d’attribut2.2) Notion de relation2.3) Notions de clés2.4) Notion de dépendance
2) Notions de base4) Utilisation de relations
3.1) Normalisation3.1.1) Intérêt de la normalisation3.1.2) Formes normales3.2) Décomposition3.2.1) Notions complémentaires3.2.2) Autres dépendances3.2.3) Algorithmes de décomposition
4.1) Mise en évidence4.2) Implémentation4.3) Algèbre relationnelle
1) Introduction
5) Conclusion
PLAN
4FN maxi.
fonctionnelle
3) Normalisation et décomposition
Il y en a d’autres.Il y en a d’autres.
… qui repose sur 4 notions principalement
Alain VAILLYDiapositive n° 14
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
• Modèle de description des informations
• Modèle très utilisé, quoique ancien
• Fondement mathématique
• Modèle associé à l’algèbre relationnelle
domainerelationfonction
clé
SGBDRSGBDRSSystèmes deystèmes deGGestion deestion deBBases deases deDDonnées onnées RELATIONNELLESRELATIONNELLES
x x
xx
xx
xxx
x
x
relation
Alain VAILLYDiapositive n° 15
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Tous les exemples de cette présentation seront tirés du même contexte, celui de la création d’une base de données entomologiques et philatéliques.
3 volets seront développés :
- volet « animaux »,
- volet « observations »,
- volet « timbres ». ContexteContexte
Alain VAILLYDiapositive n° 16
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Chaque animal doit être décrit par les informations suivantes :
Début struct ANIMALDébut struct NOM-SCIENTIFIQUE
famillegenreespèce
Fin structnom-vernaculaireDébut struct DESCRIPTEUR
nomnationalitécode-descripteur
Fin structDébut struct TAILLE
minimaxi
Fin structDébut struct IMAGES
mâlefemelle
Fin structFin struct
Contexte (2)Contexte (2)
Anthocharis cardamines L. ou Aurore, papillon faisant entre 35 et 45 mm, décrit par le suédois Linné.
Animal mâle.
Alain VAILLYDiapositive n° 17
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Il est également souhaitable d’avoir, pour chaque
animal, des informations sur les observations
réalisées.
Début struct OBSERVATIONDébut struct OBSERVATEUR
nomprénomadresse
Fin structdate-observationDébut struct LIEU
endroittype
Fin structFin struct
Contexte (3)Contexte (3)
Frontispice du plus célèbre des livres consacrés aux papillons, The Aurelian
de Moses HARRIS, paru en 1766.
Alain VAILLYDiapositive n° 18
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
AVERTISSEMENT : Les informations contenues dans la base de données que nous évoquons ont été choisies sur des critères
pédagogiques. L’entomologie est passée au second plan. Nous savons, par exemple, parfaitement que le nom vernaculaire d’un
papillon ne peut, en général, pas servir de clé, tant les appellations locales sont nombreuses.
Notre objectif n’est pas de faire de nos étudiants informaticiens de futurs Jean Henri Fabre, mais de les sensibiliser aux problèmes que
l’on doit surmonter lorsque l’on conçoit une base de données.
L ’entomologie n’est, ici, qu’un moyen, aucunement un but.
Contexte (4)Contexte (4)
Jean Henri Fabre, entomologiste français, né en 1823 à Saint Leons, dans l’Aveyron. Célèbre comme écrivain
vulgarisateur, il est l’auteur des Souvenirs entomologistes.
Alain VAILLYDiapositive n° 19
1) Introduction
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Il est enfin demandé d’avoir, pour chaque
animal, des informations sur les timbres ayant un
rapport avec lui.
Début struct TIMBREnuméro-timbrenom-cataloguepays-émetteurannée-émission
Fin struct
Contexte (5)Contexte (5)
Timbre n° 957, catalogue YVERT et TELLIER, émis par la Finlande en 1986
Un attribut est une information qui contribue à la description de l’objet que l’on veut modéliser. En général, cet attribut est
simple, c’est-à-dire qu’il correspond à une variable. Une structure de données n’est, en général, pas un attribut.
Alain VAILLYDiapositive n° 20 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
Début struct OBSERVATIONDébut struct OBSERVATEUR
nomprénomadresse
Fin structdate-observationDébut struct LIEU
endroittype
Fin structFin struct
attributs
information qui peut être un attribut si on la considère dans son entier, sans la décomposer.
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 21 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 22 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 23 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 24 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 25 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
On les mémorise.
date-observation
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 26 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.
On les mémorise.
date-observation
taille-moyenne
mini
maxi
MEMOIRE
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 27 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.
Début struct LIEUendroittype
Fin struct
On les mémorise.
taille-moyenne
MEMOIRE
date-observation
mini
maxi
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 28 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.
Début struct LIEUendroittype
Fin struct
On les mémorise.
taille-moyenne
MEMOIRE
date-observation
mini
maxitype
endroit
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 29 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.On les mémorise.
type
endroittaille-moyenne
MEMOIRE
date-observation
mini
maxi
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 30 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.On les mémorise.
type
endroit
taille-moyenne
MEMOIRE
date-observation
mini
maxi
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 31 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.On les mémorise.
type
endroit
taille-moyenne
MEMOIRE
date-observation
mini
maxi
Ces attributs peuvent être :
Alain VAILLYDiapositive n° 32 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
taille-moyenne = (mini+maxi) / 2
- calculés à partir d’autres attributs,
- non calculables
+ élémentaires,Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde la formule de calcul et les attributs
élémentaires.+ structurés.
Dans ce cas-là, en général, ils ne sont pas mémorisés. On
garde les attributs élémentaires.On les mémorise.
type
endroit
taille-moyenne
MEMOIRE
date-observation
mini
maxi
Le modèle relationnel, Le modèle relationnel, en soi, ne fait pas la en soi, ne fait pas la
différence entre les 3 !!!différence entre les 3 !!!
Un domaine est l’ensemble des valeurs prises par un ou plusieurs attributs. Cet ensemble peut être fini ou infini. Ses éléments peuvent être énumérés ou bien décrits par une loi, une contrainte d’intégrité, que toutes les valeurs respectent.
Alain VAILLYDiapositive n° 33 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
Attribut famille
Domaine{Acraeidae, Amathusiidae, Brassolidae,
Danaidae, Heliconiidae, Hesperiidae, Ithomiidae, Libytheidae, Lycaenidae,
Morphidae, Nemeobiidae, Nymphalidae, Papilionidae, Pieridae, Satyridae}
Attributmini Domaine
{n N n < 1000}
Attributmaxi
Un domaine peut être partagé par plusieurs attributs.
Attributendroit
Domaine{chaîne de 50
caractères}
A un domaine est associé un contrôle. Il correspond à l’ensemble des valeurs possibles. Il existe des SGBDR dans lesquels, une fois le contrôle défini, il n’est pas possible de
saisir une valeur n’appartenant pas à un domaine.
Alain VAILLYDiapositive n° 34 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
Avec un domaine défini comme cela, il n’est pas
possible de décrire un papillon ayant des ailes blanches !!
AttributCouleur-aile
Domaine{vert, jaune, rouge}
laxisme < < rigiditélaxisme < < rigidité
A un domaine est associé un espace. Il existe des SGBDR dans lesquels il ne peut pas y avoir de comparaisons entre attributs
n’ayant pas le même domaine.
Alain VAILLYDiapositive n° 35 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.1) Notions de domaine, d’attribut
Chercher les animaux ayant autant d’antennes que de
pattes est une mission impossible si l’on utilise les
deux domaines ci-contre (sans compter le fait que TOUS les
papillons « normaux » ont SIX pattes et DEUX
antennes !!).
AttributNb-pattes
Domaine
{n N n < 7}
AttributNb-antennes
Domaine
{n N n < 3}
Alain VAILLYDiapositive n° 36 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Une relation est un sous-ensemble du produit
cartésien des domaines.
Il y a deux façons de « voir » les choses :
- sous l’angle mathématique,
- sous l’angle pragmatique.
Une relation, c’est une table dans laquelle les colonnes
correspondent aux attributs et les lignes aux occurrences.
2) Notions de base2.2) Notion de relation
Alain VAILLYDiapositive n° 37 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Une relationrelation est un sous-ensemble du produit
cartésien des domainesdomaines.
Notions de base
Il y a deux façons de « voir » les choses :
- sous l’angle mathématique,
- sous l’angle pragmatique.
Une relation, c’est une table dans laquelle les colonnes
correspondent aux attributsattributs et les lignes aux occurrences.
2) Notions de base2.2) Notion de relation
Alain VAILLYDiapositive n° 38 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Une relation, c’est une table dans laquelle les colonnes correspondent aux attributs et les lignes aux occurrences :
2) Notions de base2.2) Notion de relation
un papillonun papillon
un autre papillonun autre papillon
pragmatiquepragmatique
Relation PAPILLONS
GENRE ESPECE NOM-VER NOM-D NAT-D COD-D MINI MAXI MALE FEMEL.FAMILLE
Alain VAILLYDiapositive n° 39 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
NOM PRENOM ADRESSE DATE ENDROIT TYPE
une observationune observation
un timbreun timbre
pragmatiquepragmatique
Relation OBSERVATIONS
Relation TIMBRES
Il manque, ici, une
information qui permettra
de faire le lien avec le
papillon.
NUMERO NOM-C PAYS ANNEE
Alain VAILLYDiapositive n° 40 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
NOM PRENOM ADRESSE DATE ENDROIT TYPE
mathématiquemathématique
OBSERVATIONS D-NOM x D-NOM x D-ADR x D-DATE x D-LIEU x D-TYP x
Relation OBSERVATIONS
1) On associe à chaque attribut un domaine (ceux-ci
pouvant être partagés par
plusieurs attributs).
D-NOM D-ADR D-DATE D-LIEU D-TYP
2) On calcule ensuite le produit cartésien de tous ces domaines, ceux qui sont communs à plusieurs attributs étant
comptés autant de fois que d’attributs qui les partagent.
3) La relation est un sous-ensemble de ce produit cartésien.
Alain VAILLYDiapositive n° 41 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
mathématiquemathématique
Relation OBSERVATIONS
Une observation est donc (!!) un 7-tuplet, composé de deux noms, d’une adresse, d’une date, d’un lieu, d’un type et d’une
référence à un papillon.
Il s’agit d’un ensemble. De ce fait, il n’y a pas 2 observations identiques.
x
x
x x
x
x
x x
x
une observationune observation
une autre observationune autre observation(n1, p1, a1, d1, l1, t1, pap1)
(n2, p2, a2, d2, l2, t2, pap2)
Alain VAILLYDiapositive n° 42 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
mathématiquemathématique
Cette description formelle (en langage Z) -incomplète- est « équivalente » à la définition pragmatique, donnée précédemment ! Elle est assurément plus précise.
Noms : P D-NOM
Prénoms : P D-NOM
Adresses : P D-ADR
Dates : P D-DATE
Endroits : P D-LIEU
Types : P D-TYP
Papillons : P
Observations : D-NOM x D-NOM x D-ADR x D-DATE x D-LIEU x D-TYP x
[D-NOM, D-ADR, D-DATE, D-LIEU, D-TYP, ]
les domainesles domaines
des nomsdes noms
des prénomsdes prénoms
la relationla relation
Alain VAILLYDiapositive n° 43 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
Ces deux « définitions » précédentes - la tabulaire et la mathématique- ne sont pas pratiques. On utilise plus souvent la notation
(INCOMPLETE) suivante :
Là encore, il manque un lien « vers » le papillon.
TIMBRES (Numéro, Nom-C, Pays, Année, )
OBSERVATIONS (Nom, Prénom, Adresse, Date, Endroit, Type, )
PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Nom-D, Nat-D, Cod-D, Mini, Maxi, Mâle, Femelle)
mathématico-pragmatiquemathématico-pragmatique
Alain VAILLYDiapositive n° 44 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
La base de données entomologiques et philatéliques que nous devions créer est donc « représentée » par 3 relations :
Un des buts de la normalisation est de passer de la seconde à la première.
TIMBRES ( )
OBSERVATIONS ( )
PAPILLONS ( )
Cette représentation présente bien des avantages par rapport à celle ci-après, dans laquelle tous les attributs sont regroupés en une seule relation
unique, une sorte de relation universelle.
BDEP ( )
NORMALISATIONNORMALISATION
Alain VAILLYDiapositive n° 45 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
Cette représentation devra être complétée. Nous avons, pour l’instant, bâti une structure de données, composée, pour la relation TIMBRES
par exemple, de cinq éléments :
Nous n’avons pas encore « animé » cette structure. Nous ne lui avons pas donné d’âme, de sens (du moins pas assez). Celui-ci, en effet, ne peut pas
être déduit de la structure.
Numéro, Catalogue, Pays, Année, Papillon
prédicatprédicat
(A, B, C, D, E)
« Le timbre qui a le numéro A « Le timbre qui a le numéro A dans le catalogue B et qui a été dans le catalogue B et qui a été émis l’année D par le pays C émis l’année D par le pays C
représente le papillon E. »représente le papillon E. »
sémantiquesémantique
Alain VAILLYDiapositive n° 46 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.2) Notion de relation
Soient la relation TIMBRES déjà définie et le prédicat P qui lui est associé. Soient deux éléments de TIMBRES, t1 et t2, tels que :
t1 = (a1, b1, c1, d1, e1)t2 = (a2, b2, c2, d2, e2).
On peut assurer que la formule suivante est vérifiée :P (a1, b1, c1, d1, e1) P (a2, b2, c2, d2, e2)
Non P (y) y TIMBRES
Numéro, Catalogue, Pays, Année, PapillonNuméro, Catalogue, Pays, Année, Papillon
(A, B, C, D, E)(A, B, C, D, E)
« Le timbre qui a le numéro A « Le timbre qui a le numéro A dans le catalogue B et qui a été dans le catalogue B et qui a été émis l’année D par le pays C émis l’année D par le pays C
représente le papillon E. »représente le papillon E. »
x TIMBRES P (x)
prédicat Pprédicat P
Alain VAILLYDiapositive n° 47 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Qu’il s’agisse d’une relation universelle ou de « petites » relations, il est nécessaire de pouvoir distinguerdistinguer les lignes les
unes des autres, les occurrences les unes des autres.Il est également nécessaire de pouvoir les référencerréférencer d’une
table à l’autre.Il est enfin utile de fournir à l’utilisateur un nom court,
pratique, expressif (?), pour chaque élément afin qu’il puisse le désignerdésigner, le nommer.
clé, identifiantclé, identifiant
Alain VAILLYDiapositive n° 48 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
clé, identifiantclé, identifiant
La clé sert à distinguer, à désigner, à référencer.
Chaque année, à la fin de l’été, les papillons Danaus plexippus
se réunissent par milliers dans le sud des Etats-Unis, pour se
reproduire.
lequel ??
le papillon n° 4328-S
NUMERO NOM-C PAYS ANNEE
Alain VAILLYDiapositive n° 49 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Ces liens, ce sera la clé de la relation PAPILLONS (le ou les attributs désignant sans ambiguïté le papillon enjeu de l’observation ou
représenté sur le timbre). Il s’agit de clés étrangèresclés étrangères.
OBSERVATIONS (Nom, Prénom, Adresse, Date, Endroit, Type, )
Relation TIMBRES
Alain VAILLYDiapositive n° 50 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Pour distinguer un papillon d’un autre, on peut :
approche objetapproche objet
- se servir de tous les attributs. Chaque élément de la relation est, en effet, distinct des autres (par définition, une relation est un ensemble).
- choisir un ou plusieurs attributs.
compromis entre
expressivité
simplification
identification
Ce ou ces attributs
particuliers sont appelés clés de clés de
la relationla relation.
Alain VAILLYDiapositive n° 51 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Examinons la relation PAPILLONS et tentons de trouver la « bonne » clé.
Il y a deux possibilités (au moins) :
{Famille, Genre, Espèce}
Nom-Ver
On pourrait aussi ajouter un
attribut servant d’identifiant, Numéro-Pap.
Ça veut dire quoi ??
PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Nom-D, Nat-D, Cod-D, Mini, Maxi, Mâle, Femelle)
clé « populaire » clé « populaire » clé « scientifique » clé « scientifique »
clé « informatique » clé « informatique »
Laquelle choisir ??
Alain VAILLYDiapositive n° 52 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Nom-Ver
Laquelle choisir ??
La clé « populaire » a pour elle sa simplicité (??), son expressivité, sa non-ambiguïté.
Alain VAILLYDiapositive n° 53 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Nom-Ver
Laquelle choisir ??
La clé « populaire » a pour elle sa simplicité (??), son expressivité, sa non-ambiguïté.
La clé « informatique » a pour elle sa simplicité de traitement. Elle a contre elle son peu d’expressivité, son ambiguïté.
Numéro-Pap
Alain VAILLYDiapositive n° 54 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
La clé « informatique » est ambiguë dans la mesure où elle permet ce que nous appelons une ambiguïté sémantique, c’est-à-dire la co-existence dans la même relation de deux occurrences identiques sur tous les attributs SAUF sur la clé. Si celle-ci ne fait pas vraiment partie du concept décrit par la relation
(si la clé a été ajoutée, artificiellement, pour « satisfaire » les informaticiens), alors on peut avoir, par exemple, deux papillons qui ne différent que par leur
clé.
N° 4567 N° 4568
Même « bête », numéros différents !
Maculinae arion L. ou Azuré d’Arion, papillon ayant une
envergure de 28 à 38 mm, décrit par le suédois Linné. Animal mâle.
Alain VAILLYDiapositive n° 55 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
La clé « scientifique » a pour elle sa rigueur, sa non-ambiguïté, son expressivité (??). Elle a contre elle sa lourdeur (à chaque fois que l’on
parle d’un papillon, il faut donner les 3 attributs).
{Famille, Genre, Espèce}
Nom-Ver
Laquelle choisir ??
La clé « populaire » a pour elle sa simplicité (??), son expressivité, sa non-ambiguïté.
La clé « informatique » a pour elle sa simplicité de traitement. Elle a contre elle son peu d’expressivité, son ambiguïté.
Numéro-Pap
Alain VAILLYDiapositive n° 56 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
La clé « scientifique » a pour elle sa rigueur, sa non-ambiguïté, son expressivité (??). Elle a contre elle sa lourdeur (à chaque fois que l’on
parle d’un papillon, il faut donner les 3 attributs).
Nom-Ver
Laquelle choisir ??
La clé « populaire » a pour elle sa simplicité (??), son expressivité, sa non-ambiguïté.
La clé « informatique » a pour elle sa simplicité de traitement. Elle a contre elle son peu d’expressivité, son ambiguïté.
Numéro-Pap
{Famille, Genre, Espèce}
Alain VAILLYDiapositive n° 57 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
Pour une même relation, il y a plusieurs notions de clés possibles :
- clé primaire,
- clé candidate,
- clé minimale,
- clé secondaire,
- clé étrangère. ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
Alain VAILLYDiapositive n° 58 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clé candidate et clé minimaleClé candidate et clé minimale
- clé candidate : ensemble d’attributs pouvant désigner sans ambiguïté une occurrence dans l’ensemble. Il peut y en avoir plusieurs. Elles peuvent être « calculées » à partir des propriétés de la relation.
ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
- clé minimale : clé candidate ayant le moins d’attributs de toutes les clés candidates. Il peut y en avoir plusieurs. Il faut en choisir une. Cela doit se faire avec l’utilisateur.
Alain VAILLYDiapositive n° 59 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clé primaireClé primaire
-clé primaire : se dit parfois d’un sous-ensemble des attributs composant une clé, lorsque ce sous-ensemble sert à établir un premier classement des occurrences. Cette notion est quasiment toujours associée à celle de clé secondaire.
ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
Dans la relation PAPILLONS, l’attribut FamilleFamille peut servir de clé primaire.
AcraeidaeAmathusiidaeBrassolidae…..PapilionidaePieridaeSatyridae
Alain VAILLYDiapositive n° 60 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clé secondaireClé secondaire
- clé secondaire : se dit parfois d’un sous-ensemble des attributs composant une clé, lorsque ce sous-ensemble sert à établir un classement des occurrences ayant une même valeur pour la clé primaire. Il peut y avoir plusieurs clés secondaires.
ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
Dans la relation PAPILLONS, l’attribut GenreGenre peut servir de clé secondaire.
PapilionidaeGraphiumOrnithopteraPapilioParnassius...
Alain VAILLYDiapositive n° 61 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clé secondaireClé secondaire
A ces deux types de clés (primaire, secondaire) sont
associées des notions de
classification, de critères de tri.
ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
AcraeidaeAcraeaActinoteBetmatistesMiyanaPardopsisPareba
Amathusiidae...
PapilionidaeGraphiumOrnithopteraPapilioParnassius…
Pieridae...
Cette classification
existe pour les papillons. On peut donc s’en servir.
Alain VAILLYDiapositive n° 62 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clé étrangèreClé étrangère
- clé étrangère : ensemble d’attributs servant de lien entre deux relations. Cet ensemble a la particularité d’être clé minimale d’une autre relation. Il peut y avoir plusieurs clés étrangères dans une même relation, celles-ci pouvant même provenir de la même relation.
ATTENTION, une ATTENTION, une clé peut en cacher clé peut en cacher
une autre !!une autre !!
Dans la relation TIMBRES, le lien vers la relation PAPILLONS se fera par l’attribut Nom-VerNom-Ver (si c’est celui-ci qui est retenu comme clé de celle-ci) ou par l’ensemble {Famille, Genre, Espèce}{Famille, Genre, Espèce} (si c’est cet ensemble qui est retenu comme clé).
Y a intérêt à faire attention à ce que l’on choisit !Y a intérêt à faire attention à ce que l’on choisit !
Alain VAILLYDiapositive n° 63 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé Clés étrangèresClés étrangères
PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Nom-D, Nat-D, Cod-D, Mini, Maxi, Mâle, Femelle)
Clés candidatesClés candidates
Clé minimaleClé minimale
Clé primaireClé primaire
Clés secondairesClés secondaires
TIMBRES (Numéro, Nom-C, Pays, Année, )Nom-Ver
OBSERVATIONS (Nom, Prénom, Adresse, Date, Endroit, Type, )Nom-Ver
Alain VAILLYDiapositive n° 64 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.3) Notions de clé
TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)
OBSERVATIONS (Numéro, Nom, Prénom, Adresse, Date, Endroit, Type, Nom-Ver)
PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Nom-D, Nat-D, Cod-D, Mini, Maxi, Mâle, Femelle)
Finalement, la structure de notre base de données pourrait être :
Pour l’obtenir, nous avons dû faire un certain nombre d’hypothèses, définir des ensembles de valeurs et (sans doute) préciser quelques
contraintes. Tout cela doit IMPERATIVEMENT être écrit.
Notation adoptée pour la cléNotation adoptée pour la clé
Alain VAILLYDiapositive n° 65 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
La définition que nous avons donné d’une clé (ensemble d’attributs désignant sans ambiguïté les occurrences dans l’ensemble) n’est pas très satisfaisante. Elle est plus subjective que formelle. On peut, a-t-on dit, « calculer » les clés candidates à partir des propriétés de la
relation.
Tout ceci « milite » pour une définition mathématique de la notion de « désignation sans ambiguïté ». Cela nécessite l’introduction de la
notion de dépendance fonctionnelledépendance fonctionnelle.
C’est ce que nous allons faire maintenant !
Alain VAILLYDiapositive n° 66 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Soit une relation R (X, Y, Z). Il existe dans CETTE relation une dépendancedépendance entre deux attributs (ou entre un attribut et un ensemble d’attributs, ou entre deux ensembles d’attributs) si leurs valeurs sont
liées. La nature de leur liaison détermine le type de dépendance.
vues dans ce cours- fonctionnelle
- multi-valuée
- produit
- ...
importantimportant
cf. paragraphe 3.2.2cf. paragraphe 3.2.2
Alain VAILLYDiapositive n° 67 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Une dépendance ne se développe qu’au sein d’une relation. Sans relation, pas de dépendance !
Relation PAPILLONS
x
x
x x
x
xx
x x
{Famille, Genre, Espèce}
x
x
x x
x
xx
x x
{Nom-D}
nature ???
Alain VAILLYDiapositive n° 68 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
A toute valeur de X ne correspond qu’une seule valeur de Y, au plus.
x
x
x x
x
xx
x x
Domaine de valeur de l’attribut X
x
x
x x
x
xx
x x
Domaine de valeur de l’attribut Y
Soit une relation R (X, Y, Z). Il existe une dépendance fonctionnelledépendance fonctionnelle entre X et Y si le lien entre ces deux attributs est une fonctionfonction.
X
interditinterdit
X YX Y
Alain VAILLYDiapositive n° 69 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Soient une relation R (X, Y, Z) et une dépendance fonctionnelle entre X et Y. X sera appelé la sourcesource de la dépendance, Y étant la ciblecible.
Source et cible peuvent être composées de plusieurs attributs. Source et cibles peuvent être identiques.
X, Y ZX, Y Z X XX X
Alain VAILLYDiapositive n° 70 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
- il y a une dépendance fonctionnelle entre Nom-D et Nat-D.
Dans la relation PAPILLONS :
Nom-D Nat-DNom-D Nat-D
- il y a une dépendance fonctionnelle entre le groupe d’attributs {Famille, Genre, Espèce} et Mâle.
A chaque descripteur ne A chaque descripteur ne correspond qu’un seul correspond qu’un seul pays.pays.
A chaque papillon (le A chaque papillon (le groupe d’attributs groupe d’attributs constitue une clé de la constitue une clé de la relation) ne correspond relation) ne correspond qu’une image mâle.qu’une image mâle.
{Famille, Genre, Espèce} Mâle{Famille, Genre, Espèce} Mâle
Alain VAILLYDiapositive n° 71 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
- il n’y a pas de dépendance fonctionnelle entre Maxi et Genre.
Dans la relation PAPILLONS :
- il n’y a pas de dépendance fonctionnelle entre Famille et Genre.
On ne peut pas dire que tous On ne peut pas dire que tous les papillons d’un même les papillons d’un même genre ont la même envergure genre ont la même envergure maximale.maximale.
Une famille est Une famille est composée de genres composée de genres différents.différents.
Maxi GenreMaxi GenreX
Famille GenreFamille GenreX
Alain VAILLYDiapositive n° 72 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Toutes les valeurs de A sont différentes ; il n’y a pas de doublons.
On sait déjà qu’il y a 4 dépendances
fonctionnelles.A B C D E
a1
a2
a3
a4
a5
AA
AA
AA
AA
BB
CC
EE
DD
Alain VAILLYDiapositive n° 73 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
A présente des valeurs en double.
La valeur a1 de A est liée à b1 et à b2 de B ; il n’y a donc pas fonction.A B C D E
a1
a2
a1
a4
a5
AA BB
b1
b2 X
x x
xx
xx
xxx
x
x
relation
Alain VAILLYDiapositive n° 74 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
{A, B} présente des valeurs en double.
La valeur (a1, b1) de {A, B} est liée à c1 et à c2 de C ; il n’y a donc
pas fonction.
A B C D E
a1
a2
a1
a4
a5
A, BA, B CC
b1
b1 X
x x
xx
xx
xxx
x
x
relation
c1
c2
Alain VAILLYDiapositive n° 75 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Il y a une dépendance fonctionnelle entre la clé et tous les autres attributs d’une relation. Nous pouvons donc dire qu’une clé partitionne l’ensemble des attributs d’une relation en 2 sous-
ensembles, reliés entre eux par une dépendance fonctionnelle.
Retour sur la notion de cléRetour sur la notion de clé
A chaque numéro ne correspond qu’un seul
nom, qu’un seul prénom, qu’une seule adresse, qu’une seule date...
Numéro NomNuméro Nom
Numéro PrénomNuméro Prénom
Numéro DateNuméro Date
Numéro AdresseNuméro Adresse
Numéro Nom, Prénom, Adresse, DateNuméro Nom, Prénom, Adresse, Date
Alain VAILLYDiapositive n° 76 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Graphe de dépendanceGraphe de dépendance
NuméroNuméro
NuméroNuméro
NuméroNuméro
NuméroNuméro
Numéro Nom, Prénom, Adresse, Date, Endroit, Type, Nom-VerNuméro Nom, Prénom, Adresse, Date, Endroit, Type, Nom-Ver
NuméroNuméro
NuméroNuméro
NuméroNuméro
NomNom
PrénomPrénom
DateDate
AdresseAdresse
EndroitEndroit
TypeType
Nom-VerNom-Ver
NuméroNuméro
NomNom
PrénomPrénom
AdresseAdresse
DateDateEndroitEndroit
TypeType
Nom-VerNom-Ver
Alain VAILLYDiapositive n° 77 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Numéro-TNuméro-T Nom-CNom-C
NomNomNuméro-ONuméro-O
PrénomPrénom
Graphe de dépendanceGraphe de dépendance
PaysPays
AnnéeAnnée
DateDate
AdresseAdresse EndroitEndroit
TypeType
Nom-VerNom-Ver
FamilleFamille
MâleMâle
FemelleFemelle
EspèceEspèceGenreGenre
Nat-DNat-D
Nom-DNom-D
Cod-DCod-DMaxiMaxi
MiniMini
PAPILLONS
TIMBRES
OBSERVATIONS
Alain VAILLYDiapositive n° 78 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
relationrelation
OBSERVATIONS (Numéro, Nom, Prénom, Adresse, Date, Endroit, Type, Nom-Ver)
V = {df1, df2, df3, df4, df5, df6, df7}
U = {Numéro, Nom, Prénom, Adresse, Date, Endroit, Type, Nom-Ver}
OBSERVATIONS = <U, V>
schéma de relationschéma de relation
ensemble des ensemble des attributsattributs
ensemble des dépendances ensemble des dépendances fonctionnellesfonctionnelles
dépendances fonctionnellesdépendances fonctionnelles
NuméroNuméro
NuméroNuméro
Numéro
NuméroNuméro
NomPrénom
DateAdresse
Endroit
TypeNom-Ver
df1 :df2 :
df4 :df3 :
df5 :
df6 :df7 :
pas la même notation !!!pas la même notation !!!
Alain VAILLYDiapositive n° 79 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Deux propriétés des dépendances fonctionnelles nous intéressent plus particulièrement, dans le cadre du modèle relationnel et de la
normalisation.
- dépendance élémentaireélémentaire :
- dépendance directedirecte :
Attribut AAttribut A Attribut BAttribut B
Attribut CAttribut C
Attribut AAttribut A Attribut BAttribut B
Attribut CAttribut C
Alain VAILLYDiapositive n° 80 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Une dépendance fonctionnelle entre X et Y sera élémentaire s’il n’y a pas de sous-ensemble X’ de X qui soit source d’une dépendance
fonctionnelle « vers » Y.
df1 n’est pas élémentaire.
CAS PARTICULIER : Une dépendance fonctionnelle ayant une
source constituée d’un seul attribut est toujours élémentaire.
ZZ XX
YY
df1 : X, Zdf1 : X, Z YY
df2 : Zdf2 : Z YY
df1df2
Alain VAILLYDiapositive n° 81 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
2) Notions de base2.4) Notion de dépendance
Une dépendance fonctionnelle entre X et Y sera directe si on ne peut pas trouver de sous-ensemble d’attributs Z de R, tel qu’il y ait une
dépendance fonctionnelle entre X et Z et une dépendance fonctionnelle entre Z et Y.
df1 n’est pas directe.
df1 : Xdf1 : X YY
df2 : Xdf2 : X ZZ
df3 : Zdf3 : Z YY
XX ZZ
YY
df2
df1
df3
Alain VAILLYDiapositive n° 82 Université de NANTES
M.E.D.A.L.M.E.D.A.L.
A suivre :
- couverture/fermeture,
- formes normales,
- normalisation,
- intérêt de la normalisation,
- dépendance multi-valuée,
- décomposition,
- ...
entracte
Alain VAILLYDiapositive n° 83
Bibliographie (sommaire)
Université de NANTES
M.E.D.A.L.M.E.D.A.L.
Pour compléter la formation ...
la référence :-)
• P. ANDRE, A. VAILLY, « Conception des systèmes d’information ;Panorama des méthodes et des techniques », Editions Ellipses, janvier 2001,ISBN 2-7298-0479-X
• M. ADIBA, C. DELOBEL, « Bases de données et systèmes relationnels », Editions Dunod, Collection Informatique, 1982, ISBN 2-04-011628-1