75
M.E.D.A. M.E.D.A. L. L. Module d’Enseignement à Module d’Enseignement à Distance pour Distance pour l’Architecture Logicielle l’Architecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 1ère année Le modèle relationnel (3)

M.E.D.A.L

Embed Size (px)

DESCRIPTION

M.E.D.A.L. IUP-MIAGE 1ère année. Module d’Enseignement à Distance pour l’Architecture Logicielle. Le modèle relationnel (3). Diapositive n° 1. IUP MIAGE - 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 IUP MIAGE - Université de NANTES

IUP-MIAGE 1ère année

Le modèle relationnel (3)

Alain VAILLYDiapositive n° 2 IUP MIAGE - 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

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Etudes de cas

comportements

Alain VAILLYDiapositive n° 4 IUP MIAGE - 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 IUP MIAGE - 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

PLAN4FN maxi.

fonctionnelle

3) Normalisation et décomposition

Il y en a d’autres.Il y en a d’autres.

multi-valuée

Alain VAILLYDiapositive n° 6

0) Rappels

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Déjà vu :

- dépendance multi-valuée,

- couverture/fermeture,

- normalisation, décomposition,

- ...

- relation, attribut, domaine,

- dépendance fonctionnelle,

Encore à découvrir :

- choix des attributs,

- algèbre relationnelle,

- SGBD vs tableur style Excel,

- introduction aux modèles conceptuels,

- définition des relations,

- mise en évidence des dépendances,

- ...

Alain VAILLYDiapositive n° 7

0) Rappels

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Tous les exemples de cette présentation sont tirés du même contexte, celui de la création d’une base

de données entomologiques et philatéliques. 3 volets sont développés :

- volet « animaux »,

- volet « observations »,

- volet « timbres ». ContexteContexte

Alain VAILLYDiapositive n° 8

0) Rappels

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Contexte (2)Contexte (2)

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.

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.

4) Utilisation de relations

Alain VAILLYDiapositive n° 9 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La représentation d’un problème, quel qu’il soit, directement sous forme de relations est possible. On distingue généralement plusieurs étapes :

- structuration en relations,

- normalisation et décomposition.

- recueil des attributs,

- recueil des dépendances entre attributs,

Si les deux premières taches se font surtout en discutant avec l’utilisateur, les deux dernières sont purement mécaniques, algorithmiques.

Il y a d’autres Il y a d’autres choses que les choses que les

attributs à récupérer.attributs à récupérer.

enquêteenquête

synthèsesynthèse

dans cette partie dans cette partie du coursdu cours

déjà vudéjà vu

4) Utilisation de relations4.1) Mise en évidence

Alain VAILLYDiapositive n° 10 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Pour définir une relation, il faut réunir des informations sur :

- les contraintes qui pèsent sur eux.

- ses attributs,

- les domaines de valeur de ceux-ci,

Il faut également définir (ie. rédiger) le prédicat associé à la relation, puis définir la clé. Il faut, enfin, normaliser cette relation et, le cas échéant, la

décomposer en relations plus petites, plus « normales » et donc plus « propres ».

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 11 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Choisir l’ensemble des attributs est LA tache difficile par excellence. Cette activité oblige à des compromis entre :

- les demandes des utilisateurs « utilisateurs »,

- le temps imparti pour la définition du logiciel,

- la place mémoire,

- ...

- les demandes des utilisateurs « prescripteurs »,

Je veux tout !Je veux tout !

Il faut saisir tout ça ?Il faut saisir tout ça ?

Vite, on est en retard !Vite, on est en retard !Y-a plus de place sur Y-a plus de place sur le disque ...le disque ...

Il faut juste le nécessaire !Il faut juste le nécessaire !

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 12 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Il y a deux techniques principales, opposées … mais que l’on a intérêt à associer. La première consiste à partir des objectifs, à

recenser les informations souhaitées et à en faire des attributs. La seconde consiste à rassembler toutes les informations disponibles sur

le sujet, à enlever celles qui sont inutiles et à en faire des attributs.

Pilotage par le but, Pilotage par le but, par la solutionpar la solution

Qu’est-ce qu’on a ?Qu’est-ce qu’on a ?

Que veut-on ?Que veut-on ?

Pilotage par l’existant, Pilotage par l’existant, par le problèmepar le problème

Il faut les deux !Il faut les deux !

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 13 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

Selon I. Novak et F. Severa, une collection de papillons n’a de valeur scientifique que si chaque exemplaire qu’elle contient est

accompagné d’une étiquette correctement rédigée. Voici deux exemples d’étiquettes correctes :

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

Suisse : GrisonsCol de l’AlbulaHaute Engadine

(2312m) 20 VII 1979Emmanuel de Bros leg.

legit : a récolté, en latin

Hypothèse : ce type de fiche Hypothèse : ce type de fiche correspond à un bon point de départ.correspond à un bon point de départ.

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 14 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

endroit

(Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 15 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

date endroit

Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 16 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

endroit

nom, prénom

Nom, Prénom,

date

Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 17 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

endroit

nom, prénom

Type,

type

date

Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 18 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

endroit

nom, prénom

adresse

Adresse,

type

date

Type, Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 19 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

nom, prénom

date endroit

adresse

Papillon)

type

Ce fameux « faux » papillon date de 1702 ! Après avoir

peint des taches sur les ailes d’un Souffré, le

collectionneur déclara avoir affaire à une nouvelle

espèce, décrite sous le nom de Papilio ecliptis.

Adresse, Type, Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 20 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

Cette liste des attributs définie, il faut passer en revue chaque élément pour vérifier s’il est

vraiment utile. Il faut aussi définir précisément chaque attribut.

Papillon) Adresse, Type, Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.1) Mise en évidence des attributs

Alain VAILLYDiapositive n° 21 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

France : VaucluseMont VentouxJas du Mourre

(1040m) 4 VI 1975Gérard Chr. Luquet leg.

Cette liste des attributs définie, il faut passer en revue chaque élément pour vérifier s’il est

vraiment utile. Il faut aussi définir précisément chaque attribut.

Cet attribut « endroit » est composé sur l’étiquette de 5 éléments. Faut-il le garder

comme un élément unique ou bien faut-il le transformer en 5 attributs élémentaires ?

En dernier ressort, c’est toujours En dernier ressort, c’est toujours l’utilisateur qui décide.l’utilisateur qui décide.

Papillon) Adresse, Type, Nom, Prénom, Date, (EndroitEndroit, OBSERVATIONS

4) Utilisation de relations4.1.2) Mise en évidence des domaines

Alain VAILLYDiapositive n° 22 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Quelles valeurs pour l’attribut ?

Quel type ?

Quel sens ?

Type : attribut présentant la nature de l’endroit où s’est

effectuée l’observation.

ExempleExemple

ça dépend !

Papillon) Adresse, Type, Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.2) Mise en évidence des domaines

Alain VAILLYDiapositive n° 23 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le type de cet attribut va dépendre de ce que l’on veut faire.

code pictogramme

libellé

choix

pas pratique ; pas pratique ; « gourmand » « gourmand » en ressourcesen ressources

pratique ; non pratique ; non significatifsignificatif

significatif ; significatif ; pas pratiquepas pratique

ExempleExemple

4) Utilisation de relations4.1.2) Mise en évidence des domaines

Alain VAILLYDiapositive n° 24 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

LIBELLE PICTOGRAMMECOD-TYP

Bois de conifères01

Bois de feuillus02

Prairies sans arbres (humides ou sèches)03

Parcs, prairies avec arbres04

Montagnes05

ExempleExemple

Cet attribut peut même transformé

en une relation !

Papillon) Adresse, Type, Nom, Prénom, Date, (Endroit, OBSERVATIONS

4) Utilisation de relations4.1.2) Mise en évidence des domaines

Alain VAILLYDiapositive n° 25 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

LIBELLE PICTOGRAMMECOD-TYP

ExempleExemple

{01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12}

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

{n N+, n < 13}

chaîne (50) de caractère

image, format jpg

intensionintension

extensionextension

4) Utilisation de relations4.1.3) Mise en évidence du prédicat

Alain VAILLYDiapositive n° 26 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Une fois cet ensemble d’attributs constitué, il va falloir le normaliser (on appliquera pour cela les techniques vues précédemment).

Auparavant, il faut vérifier sa cohérence sémantique en REDIGEANT le prédicat.

C’est un élément indispensable de la relation. Avoir des difficultés à le définir doit attirer l’attention de l’architecte sur une vraisemblable incohérence au niveau de l’ensemble (c’est

un signal d’alerte fort, à ne pas négliger).

4) Utilisation de relations4.1.3) Mise en évidence du prédicat

Alain VAILLYDiapositive n° 27 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le papillon <g> a été vu à l’endroit <a>, le <b>, par <c d>, qui réside à l’adresse <f> ; cet endroit <a> est de type <e>.

Le papillon <g> a été décrit par <c d>, habitant à <f>, le <b>. Il vit le plus souvent en <a>, habitat de type <e>.

Le papillon <g> a disparu de tout habitat de type <e> le <b>. Il a été vu pour la dernière fois à <a>, par <c d>. Celui-ci habite à <f>.

ExempleExemple

OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon)

OBSERVATIONS (A1, A2, A3, A4, A5, A6, A7)

aa bb

cc

dd

ee

ff gg

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 28 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le domaine de valeur des attributs ne sera complètement défini que lorsque l’on aura détaillé les diverses contraintes d’intégritécontraintes d’intégrité que

doivent respecter ces attributs, qu’il s’agisse de :

- contraintes inter-attributs, intra-relations,

- contraintes inter-relations.

- contraintes intra-attributs,

R1 (A1, A2, A3, A4, A5, A6, A7)

C1C1

R1 (A1, A2, A3, A4, A5, A6, A7) R1 (A1, A2, A3, A4, A5, A6, A7)

R1 (A1, A2, A3, A4, A5, A6, A7)

C3C3

C2C2

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 29 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

- Type :

- Papillon :

- Date :

R1 (A1, A2, A3, A4, A5, A6, A7)

C1C1

ExempleExemple

OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon)

constituée de 3 champs JJMMAAAA

JJ compris entre 01 et 28, 29, 30 ou 31, selon les valeurs de MM et AAAA.

MM compris entre 01 et 12.

AAAA compris entre 0001 et la date du jour (1400 et la date du jour ; 1800 et ...

{01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12}

est référencé dans la relation PAPILLONS1.

R1 (A1, A2, A3, A4, A5, A6, A7) R1 (A1, A2, A3, A4, A5, A6, A7)

R1 (A1, A2, A3, A4, A5, A6, A7)

C3C3

C2C2

C1C1

C2C2

C3C3

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 30 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

R1 (A1, A2, A3, A4, A5, A6, A7)

C2C2

PAPILLONS1 (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle)

Tous les papillons dans la base respectent la contrainte suivante : leur taille maximum est plus grande que (ou égale à) leur taille minimum.

x PAPILLONS1 x.Maxi ≥ x.Mini

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 31 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

R1 (A1, A2, A3, A4, A5, A6, A7)

R1 (A1, A2, A3, A4, A5, A6, A7)

C3C3

OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon)

PAPILLONS1 (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle)

Toutes les observations dans la base respectent la contrainte suivante : les

papillons observés sont décrits.

x OBSERVATIONS x.Papillon PAPILLONS1

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 32 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

On ne peut pas réduire un homme à son numéro d’INSEE ! On ne

réduit pas un papillon à son nom vernaculaire !

La formule précédente est fausse.

x OBSERVATIONS x.Papillon PAPILLONS1

x OBSERVATIONS ! y PAPILLONS1 x.Papillon = y.Nom-Ver

Si x est une observation, x.Papillon est la référenceréférence d’un papillon. Pas un papillon.

La formule correcte est :

4) Utilisation de relations4.1.4) Mise en évidence des contraintes

Alain VAILLYDiapositive n° 33 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Les contraintes d’intégrité sont vérifiées à chaque tentative de mise à jour de la base.

2- Les données ne respectent pas les contraintes.

1- Les données respectent les contraintes.

L’ordre n’est pas garanti.

L’ordre règne ! 22

11

DOUANE

ZOLL

4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 34 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Les dépendances sont, nous l’avons montré, un élément important de la structuration des attributs en relations normalisées. La normalisation est

basée sur un algorithme, dont la mécanique repose sur l’existence de dépendances :

Il est donc essentiel de bien constituer cet ensemble. Ceci va se faire en posant des questions à l’utilisateur.

- fonctionnelles

- multi-valuées XX YY

X YX Y

4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 35 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Pour vérifier l’existence d’une dépendance fonctionnelle entre X et Y, il faut demander :

Il n’y a pas de dépendance fonctionnelle.

« Peut-on associer à « Peut-on associer à uneune valeur de X valeur de X plusieursplusieurs valeurs de Y ? » valeurs de Y ? »

Réponse OUI :

X YX Y

Réponse NON :Il y a « suspicion » de dépendance

fonctionnelle, que l’on va confirmer.

Question Q1 :

x x

xx

xx

xxx

x

x

relation

4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 36 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La confirmation va se faire en posant une deuxième question :

Il y a dépendance fonctionnelle.

« « ToutesToutes les valeurs de X sont donc associées, les valeurs de X sont donc associées, chacune, à chacune, à une seuleune seule valeur de Y ? » valeur de Y ? »

Réponse OUI :

X YX Y

Réponse NON :

Y-a comme un défaut !

Question Q2 :

On recommence à questionner l’utilisateur en se servant du schéma précédent.

4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 37 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Il n’y a pas dépendance fonctionnelle.

« Peut-on avoir la situation illustrée par le schéma suivant, qui « Peut-on avoir la situation illustrée par le schéma suivant, qui décrit les associations existant entre les valeurs de X décrit les associations existant entre les valeurs de X

(l’ensemble de gauche) et celles de Y (l’ensemble de droite) ? (l’ensemble de gauche) et celles de Y (l’ensemble de droite) ? »»

Réponse OUI :

X YX Y

Réponse NON : (Y-en-a marre !) … On recommence ...

Question Q3 :

x x

xx

xx

xxx

x

x

relation

« Jamais ? »« Jamais ? »Question Q4 :

Il y a dépendance fonctionnelle.

Réponse OUI :

Réponse NON :

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 38 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Vérifier l’existence d’une dépendance multi-valuée est beaucoup plus délicat. Ce travail (qui concerne les attributs X et Y) va impliquer plus de

deux attributs. La première question à poser est la suivante :

En général, l’utilisateur réfléchit. Très souvent, il répond « euh … » !

« Peut-on associer, à chaque valeur de X, un « Peut-on associer, à chaque valeur de X, un ensembleensemble de valeurs de Y, et ce de valeurs de Y, et ce indépendammentindépendamment

des autres attributs ? »des autres attributs ? »

Question Q1 :

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 39 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Pour éclairer sa lanterne, on peut (on doit, souvent) recourir à une explication en forme d’exemple :

Des exemples simples et concrets sont nécessaires !

- papillons, chenilles et nourriture,

- bureaux, téléphones et employés,

- classes, livres et élèves,

- ...3 attributs au

moins à chaque fois

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 40 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

« « TousTous les papillons d’une même famille mangent-ils, les papillons d’une même famille mangent-ils, toustous, la , la même série de plantes, même série de plantes, indépendammentindépendamment de leur genre ? » de leur genre ? »

Réponse OUI : Il y a dépendance multi-valuée.

« « CertainsCertains genres de la famille mangent genres de la famille mangent donc des plantes qui ne sont donc des plantes qui ne sont paspas mangées mangées

par d’autres genres de la même famille ? »par d’autres genres de la même famille ? »

Réponse NON :

Réponse OUI : Il n ’y a pas dépendance multi-valuée.

Réponse NON : Il y a dépendance multi-valuée.

Question Q1 :

Question Q2 :

R (Famille, Genre, Plante)

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 41 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

« « TousTous les téléphones d’un même bureau sont-ils, les téléphones d’un même bureau sont-ils, toustous, utilisables , utilisables par tous les employés du bureau, ou bien y-a-t-il affectation de par tous les employés du bureau, ou bien y-a-t-il affectation de

certains téléphones à certains employés seulement ? »certains téléphones à certains employés seulement ? »

Solution 1 : Il y a dépendance multi-valuée entre le bureau et le téléphone.

Solution 2 :

Question Q1 :

R (Bureau, Téléphone, Employé)

Il n’y a pas dépendance multi-valuée entre le bureau et le téléphone.

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 42 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

« « TousTous les élèves d’une même classe utilisent-ils, les élèves d’une même classe utilisent-ils, toustous, la même , la même série de livres préconisée pour la classe, ou bien certains élèves série de livres préconisée pour la classe, ou bien certains élèves

utilisent-ils des livres que n’ont pas les autres ? »utilisent-ils des livres que n’ont pas les autres ? »

Solution 1 : Il y a dépendance multi-valuée entre la classe et le livre.

Solution 2 :

Question Q1 :

R (Classe, Livre, Elève)

Il n’y a pas dépendance multi-valuée entre la classe et le livre.

XX YY4) Utilisation de relations4.1.5) Mise en évidence des dépendances

Alain VAILLYDiapositive n° 43 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cette règle de dérivation nous fournit un « truc » pour le cas où le premier essai de mise en évidence d’une dépendance multi-valuée a échoué. Si,

avec une relation R (X, Y, Z), la dépendance multi-valuée entre X et Y n’a pu être révélée, alors il faut tenter de mettre en évidence une dépendance multi-valuée sur le complément (entre X et Z). Si la tentative réussit, par

complémentation, on aura aussi la première.

ComplémentationComplémentation

RD07 Si X Y, alors X U - (X, Y)

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 44 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le modèle relationnel est assez peu souvent utilisé directement. Proche de la machine, il est souvent produit par un outil d’aide à la spécification qui

permet à un architecte logiciel de définir la structure de données nécessaire dans un langage de plus haut niveau.

Modèle relationnel

Traduction (semi-)automatique

Architecte logiciel

Possible, mais difficile

2a

2b

3a

3b

1

Modèle E-A-P

Outil d’aide

Alain VAILLYDiapositive n° 45 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Une fois la structure de données définie, il faut mettre en place physiquement ces données. Puis, il faut écrire les fonctions de manipulation de ces données, les tester avec des jeux d’essais

pertinents et, enfin, initialiser la base de données.

Toutes ces taches accomplies, l’exploitation peut commencer.

1) création des 1) création des tables relationnellestables relationnelles

3) chargement de la 3) chargement de la basebase

2) écriture des 2) écriture des requêtesrequêtes

4) Utilisation de relations4.2) Implémentation des relations

NB : nous sommes aux limites de ce cours et ne ferons qu’esquisser le travail à faire pour implémenter la base, en renvoyant le lecteur intéressé aux cours de Bases de Données et/ou de Langage relationnel qui peuvent exister par ailleurs.

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 46 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

L’ensemble des données recueillies durant tout cet exposé, et concernant ce que l’on peut appeler notre base entomologico-philatélique, est le suivant :

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 47 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 48 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 49 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 50 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 51 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 52 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 53 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 54 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 55 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

OBSERVATIONS (Numéro, Nom, Prénom, Endroit, Type, Date, Nom-Ver)

SYMBOLES (Cod-Typ, Libellé, Pictogramme)

PAPILLONS (Famille, Genre, Espèce, Nom-Ver, Cod-D, Mini, Maxi, Mâle, Femelle, Taille-moyenne)

MANGENT (Famille, Plante)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

OBSERVATEURS (Nom, Prénom, Adresse)

ENTOMOS (Cod-D, Nom-D, Nat-D)

Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci :

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 56 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La création « directe » des tables, à partir de la description en relations, va se faire dans un langage de manipulation, très vraisemblablement issu de

SQL. Pour créer, par exemple, la table TIMBRES, il faudra exécuter le code :

CREATE TABLE Timbres (numéro NUMBER (5) NOT NULL,nom_c CHARACTER (20) NOT NULL,pays CHARACTER (40) NOT NULL,année DATE,nom_ver CHARACTER (20) NOT NULL,CONSTRAINT timbre_pk PRIMARY KEY (numéro, nom_c, pays),CONSTRAINT verif_date CHECK (année >= 1847),CONSTRAINT papillon_fk FOREIGN KEY (nom_ver) REFERENCES Papillons (nom_ver)

)

TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver)

domaines définisdomaines définis

clés étrangères définiesclés étrangères définiesclé primaire choisieclé primaire choisie

caractère (obligatoire, caractère (obligatoire, facultatif) déterminéfacultatif) déterminé

contraintes préciséescontraintes précisées

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 57 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cette écriture, toutefois, est fastidieuse. Elle requiert la connaissance approfondie du langage et impose à l’architecte une attention constante

pendant la phase de codification.Ce travail n’est pas le plus intéressant. La partie « création », en effet, est

terminée. Les plans sont faits, il ne reste plus qu’à …Pour toutes ces raisons, la tendance est de laisser « la machine » se charger

de cette tâche et de focaliser le travail de l’architecte sur la partie sur laquelle la machine n’est pas bonne, celui de l’analyse et de la création.

risque d’erreursrisque d’erreurs

intérêt faibleintérêt faible utilisation optimale des utilisation optimale des compétencescompétences

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 58 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

On a donc de plus en plus recours à l’assistance d’un outil d’aide (souvent appelé outil d’aide à la conception de logiciels ou CASE -Computer Aided

Software Engineering).

Outil CASE(partie 1)

Outil CASE(partie 2)

REL1 ( ….)REL2 (….)REL3 ...

Assistant-dessinateur

Maître-traducteur

HOMME

MACHINE

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 59 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La structure de notre base de données peut être modélisée dans le

formalisme entités-associations-propriétés comme suit :

GenreEspèceMiniMaxiMâle

FemelleTaille_moyenne

PAPILLONS

Nom_Ver

PLANTES

Plante

FAMILLES

Famille

Nom_DNat_D

ENTOMOS

Cod_D

EndroitDate

OBSERVATIONS

Numéro_O

Adresse

OBSERVATEURS

Nom_OPrénom

Année

TIMBRES

Numéro_TNom_C

PaysLibellé

Pictogramme

SYMBOLES

Cod_Typ type_lieu

mangent

appartiennent

décrivent font

illustrent

concernent

1, 1

1, n

1, n

1, n

1, n

0, n

0, n

0, n

0, n 1, 1

1, 1

1, 1

1, 1

1, 1

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 60 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

L’outil va ensuite se charger, après vérification de la correction du

modèle, de la traduction. Il produira, par exemple, l’extrait de

code suivant :

NB : ce code a été produit par le logiciel WIN-DESIGN de la société CECIMA, dans sa version 3.1.

DROP TABLE OBSERVATIONS CASCADE CONSTRAINTS;…………….

CREATE DATABASE ENTOM;

CREATE TABLE OBSERVATIONS (NUMERO_O CHAR (5),NOM_VER CHAR (20),COD_TYP NUMBER (2),NOM CHAR (20) NULL,PRENOM CHAR (20) NULL,ENDROIT CHAR (30) NULL,DATE_O DATE NULL,CONSTRAINT PK_OBSERVATIONS PRIMARY KEY (NUMERO_O)

);CREATE INDEX I_FK_PAPILLONS_CONCERNENT

ON OBSERVATIONS (NOM_VER ASC);…………….

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 61 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La traduction du schéma entités-associations-propriétés en relations, ie. en code SQL, passe souvent par

un modèle intermédiaire, appelé modèle logiquemodèle logique :PLANTES

PK_PLANTES

PLANTE

FAMILLES

PK_FAMILLES

FAMILLE

MANGENT

PK_MANGENT

PLANTEFAMILLE

TIMBRES

PK_TIMBRES

NUMERONOM_CPAYS

NOM_VERANNEE

ENTOMOS

PK_ENTOMOSCOD_D

NOM_DNAT_D

SYMBOLES

PK_SYMBOLESCOD_TYP

LIBELLEPICTOGRAMME

OBSERVATEURS

PK_OBSERVATEURSNOM_OPRENOM_O

ADRESSE

OBSERVATIONS

PK_OBSERVATIONSNUMERO_O

NOM_VERCOD_TYP

NOMPRENOMENDROITDATE_O

PAPILLONS

PK_PAPILLONSNOM_VER

FAMILLECOD_DGENREESPECE

MINIMAXIMALE

FEMELLETAILLE_MOYENNE

TYPE_LIE

DECRIVENT

ILLUSTRENT

CONCERNENT

FONT

APPARTIENNENT

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 62 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Ce modèle correspond le plus souvent à une représentation graphique des relations. Il permet d’effectuer un travail de dé-normalisation, bien utile

pour obtenir des structures de données efficaces.

Structure de données propre, respectant

des normes

Structure de données « sale », ne respectant

plus toutes les normes, mais plus

efficace

+ =Critères d’efficacité

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 63 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Dans le cas qui nous « préoccupe », cette dé-normalisation va conduire à la suppression de deux tables, PLANTES et FAMILLES, que l’on peut retrouver dans la table MANGENT (toutes les plantes sont mangées au moins une fois -cardinalités 1, n- ; toutes les familles mangent au moins une plante -cardinalité 1, n-) en utilisant un opérateur de projection de

l’algèbre relationnelle.

PROJECTION (MANGENT, Plante)

PROJECTION (MANGENT, Famille)

PLANTES

FAMILLES

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 64 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Une seconde dé-normalisation va avoir lieu, concernant le lien entre la table PAPILLONS et l’ex-table FAMILLES. La clé étrangère Famille, qui

pointait sur la table FAMILLE, va maintenant devenir un attribut « normal » de la table PAPILLONS, l’appartenance de la famille du papillon à l’ensemble des familles qui mangent étant testée à chaque

insertion d’un nouveau papillon par un trigger, un bout de code.

Alain VAILLYDiapositive n° 65 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Utilisation de relations4.2) Implémentation des relations Structure de départStructure de départ

FAMILLES

PK_FAMILLES

FAMILLE

MANGENT

PK_MANGENT

PLANTEFAMILLE

TIMBRES

PK_TIMBRES

NUMERONOM_CPAYS

NOM_VERANNEE

ENTOMOS

PK_ENTOMOSCOD_D

NOM_DNAT_D

SYMBOLES

PK_SYMBOLESCOD_TYP

LIBELLEPICTOGRAMME

OBSERVATEURS

PK_OBSERVATEURSNOM_OPRENOM_O

ADRESSE

OBSERVATIONS

PK_OBSERVATIONSNUMERO_O

NOM_VERCOD_TYP

NOMPRENOMENDROITDATE_O

PAPILLONS

PK_PAPILLONSNOM_VER

FAMILLECOD_DGENREESPECE

MINIMAXIMALE

FEMELLETAILLE_MOYENNE

TYPE_LIE

DECRIVENT

ILLUSTRENT

CONCERNENT

FONT

APPARTIENNENT

PLANTES

PK_PLANTES

PLANTE

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 66 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

FAMILLES

PK_FAMILLES

FAMILLE

MANGENT

PK_MANGENT

PLANTEFAMILLE

TIMBRES

PK_TIMBRES

NUMERONOM_CPAYS

NOM_VERANNEE

ENTOMOS

PK_ENTOMOSCOD_D

NOM_DNAT_D

SYMBOLES

PK_SYMBOLESCOD_TYP

LIBELLEPICTOGRAMME

OBSERVATEURS

PK_OBSERVATEURSNOM_OPRENOM_O

ADRESSE

OBSERVATIONS

PK_OBSERVATIONSNUMERO_O

NOM_VERCOD_TYP

NOMPRENOMENDROITDATE_O

PAPILLONS

PK_PAPILLONSNOM_VER

FAMILLECOD_DGENREESPECE

MINIMAXIMALE

FEMELLETAILLE_MOYENNE

TYPE_LIE

DECRIVENT

ILLUSTRENT

CONCERNENT

FONT

APPARTIENNENT

Etape n° 1 : disparition de la table Etape n° 1 : disparition de la table PLANTESPLANTES

4) Utilisation de relations4.2) Implémentation des relations

Alain VAILLYDiapositive n° 67 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

MANGENT

PK_MANGENT

PLANTEFAMILLE

TIMBRES

PK_TIMBRES

NUMERONOM_CPAYS

NOM_VERANNEE

ENTOMOS

PK_ENTOMOSCOD_D

NOM_DNAT_D

SYMBOLES

PK_SYMBOLESCOD_TYP

LIBELLEPICTOGRAMME

OBSERVATEURS

PK_OBSERVATEURSNOM_OPRENOM_O

ADRESSE

OBSERVATIONS

PK_OBSERVATIONSNUMERO_O

NOM_VERCOD_TYP

NOMPRENOMENDROITDATE_O

PAPILLONS

PK_PAPILLONSNOM_VER

FAMILLECOD_DGENREESPECE

MINIMAXIMALE

FEMELLETAILLE_MOYENNE

TYPE_LIE

DECRIVENT

ILLUSTRENT

CONCERNENT

FONT

Etape n° 2 : disparition de la table Etape n° 2 : disparition de la table FAMILLESFAMILLES

4) Utilisation de relations4.3) Algèbre relationnelle

Alain VAILLYDiapositive n° 68 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

La manipulation proprement dite des relations (l’ajout, la modification, la suppression de nuplets, la recherche d’éléments particuliers, leur

combinaison, …) s’effectue à l’aide d’opérateurs qui ont été formellement définis il y a près de trente années par CODD et qui constituent ce que l’on

appelle l’algèbrealgèbre relationnellerelationnelle.

vus en cours de vus en cours de bases de donnéesbases de données

union

produit

intersection

différence

projection

jointure

sélection

4) Utilisation de relations4.3) Algèbre relationnelle

Alain VAILLYDiapositive n° 69 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Ces opérateurs sont mis en œuvre dans des langages de programmation, tels SQL ou bien encore VB, sous forme de requêtes ou de formulaires.

Les requêtes seront « immergées » dans des programmes rédigés dans un langage de programmation comme COBOL ou JAVA.

Cette partie, opérationnelle, de la base de données n’a pas d’équivalent dans le modèle entités-associations-propriétés. Son homologue est à rechercher

dans la description fonctionnelle des traitements, dans les méthodes associées aux classes -monde objet-, ...

4) Utilisation de relations4.3) Algèbre relationnelle

Alain VAILLYDiapositive n° 70 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Trouver les papillons mâles ayant entre 30 et 50 mm de taille et dont la chenille mange des orties.

Analyse de la requête :

1) il faut les tables PAPILLONS et MANGENT.

2) il faut sélectionner d’abord tous les papillons mâles ayant la taille requise, puis, parmi ceux-ci, ceux correspondant à une famille qui mange des orties.

3) il faut préciser le résultat souhaité (ici, par exemple, image, nom vernaculaire, taille mini, taille maxi, genre et espèce)

ExempleExemple

4) Utilisation de relations4.3) Algèbre relationnelle

Alain VAILLYDiapositive n° 71 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

SELECT PAPILLONS.NOM_VER, PAPILLONS.MALE, PAPILLONS.MINI, PAPILLONS.MAXI, PAPILLONS.GENRE, PAPILLONS.ESPECE

FROM PAPILLONS

WHERE PAPILLONS.MINI >= 30AND PAPILLONS.MAXI <= 50AND PAPILLONS.FAMILLE IN

(SELECT MANGENT.FAMILLEFROM MANGENTWHERE MANGENT.PLANTE = ‘ Ortie ’)

Aglais urticae(Chenille)

4) Utilisation de relations4.3) Algèbre relationnelle

Alain VAILLYDiapositive n° 72 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

ExempleExemple

Petite tortue40-50 mm

Aglais urticae

Gamma44-48 mm

Polygonia c-album

Carte géographique32-38 mm

Araschnia levana

Alain VAILLYDiapositive n° 73 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

5) Conclusion

- plusieurs perceptions du modèle existent, ce qui peut contribuer à quelque peu « noyer » le message,

- modèle très proche de la machine, qui « impose » le recours à des modèles plus abstraits, plus proches de l’utilisateur,

- modèle ancien, mais encore très utilisé, qui repose sur des notions simples

- à comprendre pour mieux maîtriser les enjeux d’une structuration de données

- ...

Alain VAILLYDiapositive n° 74

Bibliographie (sommaire)

IUP MIAGE - 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

M.E.D.A.L.M.E.D.A.L.

Alain VAILLYDiapositive n° 75

Fin

IUP MIAGE - Université de NANTES