840 likes | 951 Vues
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.
E N D
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 AlainVAILLY
AVERTISSEMENT 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. Diapositive n° 2 Université de NANTES AlainVAILLY
Cours magistral M.E.D.A.L. Evaluation Références Contexte Exercices MEDAL Corrigés des exercices Etudes de cas Auto-évaluation Diapositive n° 3 Université de NANTES AlainVAILLY
informations M.E.D.A.L. fonctions PLAN comportements 1) Introduction 2) Notions de base Cours magistral 3) Normalisation et décomposition 4) Utilisation de relations - le modèle E-A-P 5) Conclusion - le modèle relationnel - les réseaux de PETRI - les modèles de traitement de Merise Diapositive n° 4 Université de NANTES AlainVAILLY
M.E.D.A.L. PLAN 1) Introduction 2) Notions de base Cours magistral 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion Diapositive n° 5 Université de NANTES AlainVAILLY
Cours magistral M.E.D.A.L. PLAN 1) Introduction 2) Notions de base 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion Diapositive n° 6 Université de NANTES AlainVAILLY
Cours magistral M.E.D.A.L. 1) Introduction 2) Notions de base 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion PLAN Diapositive n° 7 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion PLAN Diapositive n° 8 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion PLAN Diapositive n° 9 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 3) Normalisation et décomposition 4) Utilisation de relations 5) Conclusion PLAN Diapositive n° 10 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 4) Utilisation de relations 3) Normalisation et décomposition 5) Conclusion PLAN Diapositive n° 11 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 4) Utilisation de relations 3) Normalisation et décomposition PLAN 5) Conclusion Diapositive n° 12 Université de NANTES AlainVAILLY
Cours magistral 1) Introduction M.E.D.A.L. 2) Notions de base 4) Utilisation de relations 2.1) Notions de domaine, d’attribut 2.2) Notion de relation 2.3) Notions de clés 2.4) Notion de dépendance 4.1) Mise en évidence 4.2) Implémentation 4.3) Algèbre relationnelle 3) Normalisation et décomposition 3.1) Normalisation 3.1.1) Intérêt de la normalisation 3.1.2) Formes normales 3.2) Décomposition 3.2.1) Notions complémentaires 3.2.2) Autres dépendances 3.2.3) Algorithmes de décomposition fonctionnelle PLAN 5) Conclusion 4FN maxi. Il y en a d’autres. Diapositive n° 13 Université de NANTES AlainVAILLY
x x x x x x x x x x x relation SGBDR 1) Introduction M.E.D.A.L. Systèmes de Gestion de Bases de Données RELATIONNELLES • Modèle de description des informations • Modèle très utilisé, quoique ancien • Fondement mathématique • Modèle associé à l’algèbre relationnelle domaine relation … qui repose sur 4 notions principalement fonction clé Diapositive n° 14 Université de NANTES AlainVAILLY
1) Introduction 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 », Contexte - volet « timbres ». Diapositive n° 15 Université de NANTES AlainVAILLY
Contexte (2) 1) Introduction M.E.D.A.L. Chaque animal doit être décrit par les informations suivantes : Début struct ANIMAL Début struct NOM-SCIENTIFIQUE famille genre espèce Fin struct nom-vernaculaire Début struct DESCRIPTEUR nom nationalité code-descripteur Fin struct Début struct TAILLE mini maxi Fin struct Début struct IMAGES mâle femelle Fin struct Fin struct Anthocharis cardamines L. ou Aurore, papillon faisant entre 35 et 45 mm, décrit par le suédois Linné. Animal mâle. Diapositive n° 16 Université de NANTES AlainVAILLY
Contexte (3) 1) Introduction 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 OBSERVATION Début struct OBSERVATEUR nom prénom adresse Fin struct date-observation Début struct LIEU endroit type Fin struct Fin struct Frontispice du plus célèbre des livres consacrés aux papillons, The Aurelian de Moses HARRIS, paru en 1766. Diapositive n° 17 Université de NANTES AlainVAILLY
Contexte (4) 1) Introduction 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. 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. Diapositive n° 18 Université de NANTES AlainVAILLY
Contexte (5) 1) Introduction 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 TIMBRE numéro-timbre nom-catalogue pays-émetteur année-émission Fin struct Timbre n° 957, catalogue YVERT et TELLIER, émis par la Finlande en 1986 Diapositive n° 19 Université de NANTES AlainVAILLY
2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. 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. Début struct OBSERVATION Débutstruct OBSERVATEUR nom prénom adresse Finstruct date-observation Débutstruct LIEU endroit type Finstruct Fin struct attributs information qui peut être un attribut si on la considère dans son entier, sans la décomposer. Diapositive n° 20 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - 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 maxi mini Diapositive n° 21 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - 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 maxi mini Diapositive n° 22 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - 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 maxi mini Diapositive n° 23 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - 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 maxi mini Diapositive n° 24 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. date-observation Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, taille-moyenne maxi mini On les mémorise. Diapositive n° 25 Université de NANTES AlainVAILLY
MEMOIRE taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, taille-moyenne maxi mini date-observation On les mémorise. Diapositive n° 26 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : Début struct LIEU endroit type Fin struct - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. taille-moyenne Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. MEMOIRE Diapositive n° 27 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : Début struct LIEU endroit type Fin struct - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. endroit taille-moyenne type Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. MEMOIRE Diapositive n° 28 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. endroit taille-moyenne type Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. MEMOIRE Diapositive n° 29 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. taille-moyenne type Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. endroit MEMOIRE Diapositive n° 30 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. taille-moyenne Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. endroit type MEMOIRE Diapositive n° 31 Université de NANTES AlainVAILLY
taille-moyenne = (mini+maxi) / 2 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. Le modèle relationnel, en soi, ne fait pas la différence entre les 3 !!! Ces attributs peuvent être : - calculés à partir d’autres attributs, - non calculables 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. + élémentaires, + structurés. taille-moyenne Dans ce cas-là, en général, ils ne sont pas mémorisés. On garde les attributs élémentaires. maxi mini date-observation On les mémorise. endroit type MEMOIRE Diapositive n° 32 Université de NANTES AlainVAILLY
2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. 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. Attribut famille Attribut mini Attribut endroit Domaine {n N n < 1000} Domaine {chaîne de 50 caractères} Attribut maxi Domaine {Acraeidae, Amathusiidae, Brassolidae, Danaidae, Heliconiidae, Hesperiidae, Ithomiidae, Libytheidae, Lycaenidae, Morphidae, Nemeobiidae, Nymphalidae, Papilionidae, Pieridae, Satyridae} Un domaine peut être partagé par plusieurs attributs. Diapositive n° 33 Université de NANTES AlainVAILLY
Attribut Couleur-aile Domaine {vert, jaune, rouge} 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. 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. Avec un domaine défini comme cela, il n’est pas possible de décrire un papillon ayant des ailes blanches !! laxisme < < rigidité Diapositive n° 34 Université de NANTES AlainVAILLY
Domaine {n N n < 7} Attribut Nb-pattes Domaine {n N n < 3} Attribut Nb-antennes 2) Notions de base 2.1) Notions de domaine, d’attribut M.E.D.A.L. 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. 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 !!). Diapositive n° 35 Université de NANTES AlainVAILLY
2) Notions de base 2.2) Notion de relation M.E.D.A.L. Il y a deux façons de « voir » les choses : - sous l’angle mathématique, Une relation est un sous-ensemble du produit cartésien des domaines. - sous l’angle pragmatique. Une relation, c’est une table dans laquelle les colonnes correspondent aux attributs et les lignes aux occurrences. Diapositive n° 36 Université de NANTES AlainVAILLY
2) Notions de base 2.2) Notion de relation M.E.D.A.L. Il y a deux façons de « voir » les choses : - sous l’angle mathématique, Une relation est un sous-ensemble du produit cartésien des domaines. - sous l’angle pragmatique. Une relation, c’est une table dans laquelle les colonnes correspondent aux attributs et les lignes aux occurrences. Notions de base Diapositive n° 37 Université de NANTES AlainVAILLY
FEMEL. FAMILLE GENRE ESPECE NOM-VER NOM-D NAT-D COD-D MINI MAXI MALE pragmatique un papillon 2) Notions de base 2.2) Notion de relation un autre papillon M.E.D.A.L. Une relation, c’est une table dans laquelle les colonnes correspondent aux attributs et les lignes aux occurrences : Relation PAPILLONS Diapositive n° 38 Université de NANTES AlainVAILLY
TYPE NOM PRENOM ADRESSE DATE ENDROIT NUMERO NOM-C PAYS ANNEE pragmatique une observation 2) Notions de base 2.2) Notion de relation M.E.D.A.L. un timbre Il manque, ici, une information qui permettra de faire le lien avec le papillon. Relation OBSERVATIONS Relation TIMBRES Diapositive n° 39 Université de NANTES AlainVAILLY
TYPE NOM PRENOM ADRESSE DATE ENDROIT D-TYP D-NOM D-ADR D-DATE D-LIEU mathématique 2) Notions de base 2.2) Notion de relation M.E.D.A.L. 1) On associe à chaque attribut un domaine (ceux-ci pouvant être partagés par plusieurs attributs). 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. OBSERVATIONS D-NOM x D-NOM x D-ADR x D-DATE x D-LIEU x D-TYP x Relation OBSERVATIONS 3) La relation est un sous-ensemble de ce produit cartésien. Diapositive n° 40 Université de NANTES AlainVAILLY
x x x x x x x x x mathématique 2) Notions de base 2.2) Notion de relation M.E.D.A.L. une autre observation (n1, p1, a1, d1, l1, t1, pap1) 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. une observation (n2, p2, a2, d2, l2, t2, pap2) Relation OBSERVATIONS Il s’agit d’un ensemble. De ce fait, il n’y a pas 2 observations identiques. Diapositive n° 41 Université de NANTES AlainVAILLY
mathématique 2) Notions de base 2.2) Notion de relation M.E.D.A.L. les domaines des noms [D-NOM, D-ADR, D-DATE, D-LIEU, D-TYP, ] des prénoms 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 la relation 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. Diapositive n° 42 Université de NANTES AlainVAILLY
mathématico-pragmatique 2) Notions de base 2.2) Notion de relation M.E.D.A.L. 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 : 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) Là encore, il manque un lien « vers » le papillon. Diapositive n° 43 Université de NANTES AlainVAILLY
2) Notions de base 2.2) Notion de relation M.E.D.A.L. La base de données entomologiques et philatéliques que nous devions créer est donc « représentée » par 3 relations : TIMBRES ( ) OBSERVATIONS ( ) NORMALISATION 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 ( ) Un des buts de la normalisation est de passer de la seconde à la première. Diapositive n° 44 Université de NANTES AlainVAILLY
prédicat 2) Notions de base 2.2) Notion de relation M.E.D.A.L. 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 : Numéro, Catalogue, Pays, Année, Papillon (A, B, C, D, E) 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. « Le timbre qui a le numéro A dans le catalogue B et qui a été émis l’année D par le pays C représente le papillon E. » sémantique Diapositive n° 45 Université de NANTES AlainVAILLY
2) Notions de base 2.2) Notion de relation M.E.D.A.L. Numéro, Catalogue, Pays, Année, Papillon (A, B, C, D, E) 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 x TIMBRES P (x) « Le timbre qui a le numéro A dans le catalogue B et qui a été émis l’année D par le pays C représente le papillon E. » prédicat P Diapositive n° 46 Université de NANTES AlainVAILLY
clé, identifiant 2) Notions de base 2.3) Notions de clé M.E.D.A.L. Qu’il s’agisse d’une relation universelle ou de « petites » relations, il est nécessaire de pouvoir distinguer les lignes les unes des autres, les occurrences les unes des autres. Il est également nécessaire de pouvoir les ré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ésigner, le nommer. Diapositive n° 47 Université de NANTES AlainVAILLY
clé, identifiant 2) Notions de base 2.3) Notions de clé M.E.D.A.L. La clé sert à distinguer, à désigner, à référencer. lequel ?? le papillon n° 4328-S 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. Diapositive n° 48 Université de NANTES AlainVAILLY
NUMERO NOM-C PAYS ANNEE OBSERVATIONS (Nom, Prénom, Adresse, Date, Endroit, Type, ) 2) Notions de base 2.3) Notions de clé M.E.D.A.L. Relation TIMBRES 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ères. Diapositive n° 49 Université de NANTES AlainVAILLY
approche objet 2) Notions de base 2.3) Notions de clé M.E.D.A.L. Pour distinguer un papillon d’un autre, on peut : Pas pratique - 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. Ce ou ces attributs particuliers sont appelés clés de la relation. expressivité compromis entre simplification identification Diapositive n° 50 Université de NANTES AlainVAILLY