La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Module d’Enseignement à Distance pour l’Architecture Logicielle

Présentations similaires


Présentation au sujet: "Module d’Enseignement à Distance pour l’Architecture Logicielle"— Transcription de la présentation:

1 Module d’Enseignement à Distance pour l’Architecture Logicielle
M.E.D.A.L. Les paradigmes Le modèle relationnel (3) Module d’Enseignement à Distance pour l’Architecture Logicielle Diapositive n° 1 Université de NANTES Alain VAILLY

2 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 Alain VAILLY

3 Projet ENRC DVD MIAGE Projet soutenu par le
Conseil Régional des Pays de La Loire dans le cadre des projets ENRC Thématique : Passerelles vers et dans l’enseignement supérieur Diapositive n° 3 Université de NANTES Alain VAILLY

4 Corrigés des exercices
M.E.D.A.L. Cours magistral Evaluation Références MEDAL Contexte Exercices Corrigés des exercices Etudes de cas Auto-évaluation Diapositive n° 4 Université de NANTES Alain VAILLY

5 - le modèle relationnel
M.E.D.A.L. informations 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° 5 Université de NANTES Alain VAILLY

6 Cours magistral PLAN M.E.D.A.L. 1) Introduction 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 4FN maxi. 5) Conclusion multi-valuée Il y en a d’autres. Diapositive n° 6 Université de NANTES Alain VAILLY

7 0) Rappels Déjà vu : Encore à découvrir : M.E.D.A.L.
- définition des relations, - mise en évidence des dépendances, - relation, attribut, domaine, - choix des attributs, - dépendance fonctionnelle, - algèbre relationnelle, - dépendance multi-valuée, - SGBD vs tableur style Excel, - couverture/fermeture, - introduction aux modèles conceptuels, - normalisation, décomposition, - ... - ... Encore à découvrir : Diapositive n° 7 Université de NANTES Alain VAILLY

8 M.E.D.A.L. 0) Rappels 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 », Contexte - volet « timbres ». Diapositive n° 8 Université de NANTES Alain VAILLY

9 L’entomologie n’est, ici, qu’un moyen, aucunement un but.
M.E.D.A.L. Contexte (2) 0) Rappels 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° 9 Université de NANTES Alain VAILLY

10 4) Utilisation de relations
M.E.D.A.L. dans cette partie du cours Il y a d’autres choses que les attributs à récupérer. 4) Utilisation de relations 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 : - recueil des attributs, enquête - recueil des dépendances entre attributs, - structuration en relations, - normalisation et décomposition. Si les deux premières taches se font surtout en discutant avec l’utilisateur, les deux dernières sont purement mécaniques, algorithmiques. déjà vu synthèse Diapositive n° 10 Université de NANTES Alain VAILLY

11 Pour définir une relation, il faut réunir des informations sur :
M.E.D.A.L. 4) Utilisation de relations 4.1) Mise en évidence Pour définir une relation, il faut réunir des informations sur : - ses attributs, - les domaines de valeur de ceux-ci, - les contraintes qui pèsent sur eux. 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 ». Diapositive n° 11 Université de NANTES Alain VAILLY

12 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Je veux tout ! Choisir l’ensemble des attributs est LA tache difficile par excellence. Cette activité oblige à des compromis entre : Il faut saisir tout ça ? - les demandes des utilisateurs « prescripteurs », - les demandes des utilisateurs « utilisateurs », - le temps imparti pour la définition du logiciel, - la place mémoire, - ... Y-a plus de place sur le disque ... Vite, on est en retard ! Il faut juste le nécessaire ! Diapositive n° 12 Université de NANTES Alain VAILLY

13 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Que veut-on ? Pilotage par le but, par la solution 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 l’existant, par le problème Qu’est-ce qu’on a ? Il faut les deux ! Diapositive n° 13 Université de NANTES Alain VAILLY

14 Hypothèse : ce type de fiche correspond à un bon point de départ.
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple 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 : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. Suisse : Grisons Col de l’Albula Haute Engadine (2312m) 20 VII 1979 Emmanuel de Bros leg. Hypothèse : ce type de fiche correspond à un bon point de départ. legit : a récolté, en latin Diapositive n° 14 Université de NANTES Alain VAILLY

15 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, endroit France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. Diapositive n° 15 Université de NANTES Alain VAILLY

16 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, date endroit France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. Diapositive n° 16 Université de NANTES Alain VAILLY

17 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, date endroit France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. nom, prénom Diapositive n° 17 Université de NANTES Alain VAILLY

18 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, date endroit France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. nom, prénom type Diapositive n° 18 Université de NANTES Alain VAILLY

19 4) Utilisation de relations
M.E.D.A.L. adresse 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, date endroit France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. nom, prénom type Diapositive n° 19 Université de NANTES Alain VAILLY

20 4) Utilisation de relations
M.E.D.A.L. adresse 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) date endroit 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. France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. nom, prénom type Diapositive n° 20 Université de NANTES Alain VAILLY

21 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) 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. France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. Diapositive n° 21 Université de NANTES Alain VAILLY

22 En dernier ressort, c’est toujours l’utilisateur qui décide.
M.E.D.A.L. 4) Utilisation de relations 4.1.1) Mise en évidence des attributs Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) 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. France : Vaucluse Mont Ventoux Jas du Mourre (1040m) 4 VI 1975 Gérard Chr. Luquet leg. 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 l’utilisateur qui décide. Diapositive n° 22 Université de NANTES Alain VAILLY

23 4) Utilisation de relations
M.E.D.A.L. Type : attribut présentant la nature de l’endroit où s’est effectuée l’observation. 4) Utilisation de relations 4.1.2) Mise en évidence des domaines Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) Quelles valeurs pour l’attribut ? Quel sens ? Quel type ? ça dépend ! Diapositive n° 23 Université de NANTES Alain VAILLY

24 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.2) Mise en évidence des domaines Exemple Le type de cet attribut va dépendre de ce que l’on veut faire. pas pratique ; « gourmand » en ressources pictogramme code libellé choix significatif ; pas pratique pratique ; non significatif Diapositive n° 24 Université de NANTES Alain VAILLY

25 Cet attribut peut même transformé en une relation !
M.E.D.A.L. 4) Utilisation de relations 4.1.2) Mise en évidence des domaines Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) SYMBOLES (Cod-Typ, Libellé, Pictogramme) LIBELLE PICTOGRAMME COD-TYP Bois de conifères 01 Bois de feuillus 02 Cet attribut peut même transformé en une relation ! Prairies sans arbres (humides ou sèches) 03 Parcs, prairies avec arbres 04 Montagnes 05 Diapositive n° 25 Université de NANTES Alain VAILLY

26 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.2) Mise en évidence des domaines Exemple SYMBOLES (Cod-Typ, Libellé, Pictogramme) LIBELLE PICTOGRAMME COD-TYP image, format jpg chaîne (50) de caractère {n  N+, n < 13} intension {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12} extension Diapositive n° 26 Université de NANTES Alain VAILLY

27 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.3) Mise en évidence du prédicat 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). Diapositive n° 27 Université de NANTES Alain VAILLY

28 4) Utilisation de relations
M.E.D.A.L. e 4) Utilisation de relations 4.1.3) Mise en évidence du prédicat c Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) OBSERVATIONS (A1, A2, A3, A4, A5, A6, A7) f d g a b 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>. Diapositive n° 28 Université de NANTES Alain VAILLY

29 4) Utilisation de relations
M.E.D.A.L. C1 R1 (A1, A2, A3, A4, A5, A6, A7) 4) Utilisation de relations 4.1.4) Mise en évidence des contraintes 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é que doivent respecter ces attributs, qu’il s’agisse de : - contraintes intra-attributs, - contraintes inter-attributs, intra-relations, - contraintes inter-relations. C3 R1 (A1, A2, A3, A4, A5, A6, A7) R1 (A1, A2, A3, A4, A5, A6, A7) R1 (A1, A2, A3, A4, A5, A6, A7) C2 Diapositive n° 29 Université de NANTES Alain VAILLY

30 4) Utilisation de relations
M.E.D.A.L. C1 R1 (A1, A2, A3, A4, A5, A6, A7) 4) Utilisation de relations 4.1.4) Mise en évidence des contraintes Exemple OBSERVATIONS (Endroit, Date, Nom, Prénom, Type, Adresse, Papillon) C2 - Date : 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 ... C3 C1 - Type :  {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12} C3 - Papillon : 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) C2 Diapositive n° 30 Université de NANTES Alain VAILLY

31  x  PAPILLONS1 x.Maxi ≥ x.Mini
M.E.D.A.L. 4) Utilisation de relations 4.1.4) Mise en évidence des contraintes Exemple 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 R1 (A1, A2, A3, A4, A5, A6, A7) C2 Diapositive n° 31 Université de NANTES Alain VAILLY

32  x.Papillon  PAPILLONS1
M.E.D.A.L. 4) Utilisation de relations 4.1.4) Mise en évidence des contraintes Exemple 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. C3  x  OBSERVATIONS  x.Papillon  PAPILLONS1 R1 (A1, A2, A3, A4, A5, A6, A7) R1 (A1, A2, A3, A4, A5, A6, A7) Diapositive n° 32 Université de NANTES Alain VAILLY

33 formule fausse 4) Utilisation de relations M.E.D.A.L.
4.1.4) Mise en évidence des contraintes Exemple La formule précédente est fausse. Si x est une observation, x.Papillon est la référence d’un papillon. Pas un papillon. La formule correcte est :  x  OBSERVATIONS  ! y  PAPILLONS1  x.Papillon = y.Nom-Ver formule fausse On ne peut pas réduire un homme à son numéro d’INSEE ! On ne réduit pas un papillon à son nom vernaculaire !  x  OBSERVATIONS  x.Papillon  PAPILLONS1 Diapositive n° 33 Université de NANTES Alain VAILLY

34 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.4) Mise en évidence des contraintes Les contraintes d’intégrité sont vérifiées à chaque tentative de mise à jour de la base. L’ordre n’est pas garanti. DOUANE ZOLL 2 L’ordre règne ! 1 1- Les données respectent les contraintes. 2- Les données ne respectent pas les contraintes. Diapositive n° 34 Université de NANTES Alain VAILLY

35 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances 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 : - fonctionnelles X Y - multi-valuées X Y Il est donc essentiel de bien constituer cet ensemble. Ceci va se faire en posant des questions à l’utilisateur. Diapositive n° 35 Université de NANTES Alain VAILLY

36 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Pour vérifier l’existence d’une dépendance fonctionnelle entre X et Y, il faut demander : Question Q1 : « Peut-on associer à une valeur de X plusieurs valeurs de Y ? » x relation Réponse OUI : Il n’y a pas de dépendance fonctionnelle. Il y a « suspicion » de dépendance fonctionnelle, que l’on va confirmer. Réponse NON : Diapositive n° 36 Université de NANTES Alain VAILLY

37 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y La confirmation va se faire en posant une deuxième question : Question Q2 : « Toutes les valeurs de X sont donc associées, chacune, à une seule valeur de Y ? » Réponse OUI : Il y a dépendance fonctionnelle. Réponse NON : Y-a comme un défaut ! On recommence à questionner l’utilisateur en se servant du schéma précédent. Diapositive n° 37 Université de NANTES Alain VAILLY

38 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Question Q3 : « Peut-on avoir la situation illustrée par le schéma suivant, qui décrit les associations existant entre les valeurs de X (l’ensemble de gauche) et celles de Y (l’ensemble de droite) ? » x relation Réponse OUI : Il n’y a pas dépendance fonctionnelle. Réponse NON : « Jamais ? » Question Q4 : Réponse OUI : Il y a dépendance fonctionnelle. Réponse NON : (Y-en-a marre !) … On recommence ... Diapositive n° 38 Université de NANTES Alain VAILLY

39 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y 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 : Question Q1 : « Peut-on associer, à chaque valeur de X, un ensemble de valeurs de Y, et ce indépendamment des autres attributs ? » En général, l’utilisateur réfléchit. Très souvent, il répond « euh … » ! Diapositive n° 39 Université de NANTES Alain VAILLY

40 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Pour éclairer sa lanterne, on peut (on doit, souvent) recourir à une explication en forme d’exemple : - papillons, chenilles et nourriture, - bureaux, téléphones et employés, - classes, livres et élèves, 3 attributs au moins à chaque fois - ... Des exemples simples et concrets sont nécessaires ! Diapositive n° 40 Université de NANTES Alain VAILLY

41 4) Utilisation de relations
M.E.D.A.L. R (Famille, Genre, Plante) 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Question Q1 : « Tous les papillons d’une même famille mangent-ils, tous, la même série de plantes, indépendamment de leur genre ? » Réponse OUI : Il y a dépendance multi-valuée. Réponse NON : Question Q2 : « Certains genres de la famille mangent donc des plantes qui ne sont pas mangées par d’autres genres de la même famille ? » Réponse OUI : Il n ’y a pas dépendance multi-valuée. Réponse NON : Il y a dépendance multi-valuée. Diapositive n° 41 Université de NANTES Alain VAILLY

42 4) Utilisation de relations
M.E.D.A.L. R (Bureau, Téléphone, Employé) 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Question Q1 : « Tous les téléphones d’un même bureau sont-ils, tous, utilisables par tous les employés du bureau, ou bien y-a-t-il affectation de 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 : Il n’y a pas dépendance multi-valuée entre le bureau et le téléphone. Diapositive n° 42 Université de NANTES Alain VAILLY

43 4) Utilisation de relations
M.E.D.A.L. R (Classe, Livre, Elève) 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Question Q1 : « Tous les élèves d’une même classe utilisent-ils, tous, la même 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 ? » Solution 1 : Il y a dépendance multi-valuée entre la classe et le livre. Solution 2 : Il n’y a pas dépendance multi-valuée entre la classe et le livre. Diapositive n° 43 Université de NANTES Alain VAILLY

44 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.1.5) Mise en évidence des dépendances X Y Complémentation RD07 Si X Y, alors X U - (X, Y) 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. Diapositive n° 44 Université de NANTES Alain VAILLY

45 objectif 4) Utilisation de relations M.E.D.A.L.
4.2) Implémentation des relations 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 E-A-P 2b Traduction (semi-)automatique Outil d’aide Modèle relationnel Architecte logiciel objectif 2a 3b 3a 1 Possible, mais difficile Diapositive n° 45 Université de NANTES Alain VAILLY

46 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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. 1) création des tables relationnelles 2) écriture des requêtes 3) chargement de la base Toutes ces taches accomplies, l’exploitation peut commencer. 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. Diapositive n° 46 Université de NANTES Alain VAILLY

47 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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 : TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 47 Université de NANTES Alain VAILLY

48 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 48 Université de NANTES Alain VAILLY

49 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 49 Université de NANTES Alain VAILLY

50 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 50 Université de NANTES Alain VAILLY

51 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 51 Université de NANTES Alain VAILLY

52 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 52 Université de NANTES Alain VAILLY

53 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 53 Université de NANTES Alain VAILLY

54 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 54 Université de NANTES Alain VAILLY

55 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 55 Université de NANTES Alain VAILLY

56 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations Si l’on y ajoute les contraintes d’intégrité référentielle, cela donne ceci : OBSERVATEURS (Nom, Prénom, Adresse) 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) ENTOMOS (Cod-D, Nom-D, Nat-D) Diapositive n° 56 Université de NANTES Alain VAILLY

57 4) Utilisation de relations
M.E.D.A.L. TIMBRES (Numéro, Nom-C, Pays, Année, Nom-Ver) 4) Utilisation de relations 4.2) Implémentation des relations domaines définis 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 : caractère (obligatoire, facultatif) déterminé 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) ) contraintes précisées clé primaire choisie clés étrangères définies Diapositive n° 57 Université de NANTES Alain VAILLY

58 utilisation optimale des compétences
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations risque d’erreurs 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. utilisation optimale des compétences intérêt faible Diapositive n° 58 Université de NANTES Alain VAILLY

59 Assistant-dessinateur
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations MACHINE 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) Maître-traducteur Outil CASE (partie 2) Assistant-dessinateur REL1 ( ….) REL2 (….) REL3 ... HOMME Diapositive n° 59 Université de NANTES Alain VAILLY

60 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations La structure de notre base de données peut être modélisée dans le formalisme entités-associations-propriétés comme suit : PLANTES Plante Année TIMBRES Numéro_T Nom_C Pays Libellé Pictogramme SYMBOLES Cod_Typ illustrent 1, n 1, n 1, 1 type_lieu mangent 0, n 1, 1 Genre Espèce Mini Maxi Mâle Femelle Taille_moyenne PAPILLONS Nom_Ver Endroit Date OBSERVATIONS Numéro_O 1, n concernent FAMILLES Famille appartiennent 0, n 1, 1 0, n 1, 1 1, 1 Adresse OBSERVATEURS Nom_O Prénom Nom_D Nat_D ENTOMOS Cod_D décrivent font 0, n 1, 1 1, n Diapositive n° 60 Université de NANTES Alain VAILLY

61 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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 : 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); NB : ce code a été produit par le logiciel WIN-DESIGN de la société CECIMA, dans sa version 3.1. Diapositive n° 61 Université de NANTES Alain VAILLY

62 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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 logique : PLANTES PK_PLANTES PLANTE FAMILLES PK_FAMILLES FAMILLE MANGENT PK_MANGENT TIMBRES PK_TIMBRES NUMERO NOM_C PAYS NOM_VER ANNEE ENTOMOS PK_ENTOMOS COD_D NOM_D NAT_D SYMBOLES PK_SYMBOLES COD_TYP LIBELLE PICTOGRAMME OBSERVATEURS PK_OBSERVATEURS NOM_O PRENOM_O ADRESSE OBSERVATIONS PK_OBSERVATIONS NUMERO_O NOM PRENOM ENDROIT DATE_O PAPILLONS PK_PAPILLONS GENRE ESPECE MINI MAXI MALE FEMELLE TAILLE_MOYENNE TYPE_LIE DECRIVENT ILLUSTRENT CONCERNENT FONT APPARTIENNENT Diapositive n° 62 Université de NANTES Alain VAILLY

63 + = 4) Utilisation de relations M.E.D.A.L.
4.2) Implémentation des relations 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 « sale », ne respectant plus toutes les normes, mais plus efficace Structure de données propre, respectant des normes Critères d’efficacité + = Diapositive n° 63 Université de NANTES Alain VAILLY

64 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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) PLANTES PROJECTION (MANGENT, Famille) FAMILLES Diapositive n° 64 Université de NANTES Alain VAILLY

65 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations 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. Diapositive n° 65 Université de NANTES Alain VAILLY

66 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations Structure de départ FAMILLES PK_FAMILLES FAMILLE MANGENT PK_MANGENT PLANTE TIMBRES PK_TIMBRES NUMERO NOM_C PAYS NOM_VER ANNEE ENTOMOS PK_ENTOMOS COD_D NOM_D NAT_D SYMBOLES PK_SYMBOLES COD_TYP LIBELLE PICTOGRAMME OBSERVATEURS PK_OBSERVATEURS NOM_O PRENOM_O ADRESSE OBSERVATIONS PK_OBSERVATIONS NUMERO_O NOM PRENOM ENDROIT DATE_O PAPILLONS PK_PAPILLONS GENRE ESPECE MINI MAXI MALE FEMELLE TAILLE_MOYENNE TYPE_LIE DECRIVENT ILLUSTRENT CONCERNENT FONT APPARTIENNENT PLANTES PK_PLANTES Diapositive n° 66 Université de NANTES Alain VAILLY

67 Etape n° 1 : disparition de la table PLANTES
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations Etape n° 1 : disparition de la table PLANTES TIMBRES PK_TIMBRES NUMERO NOM_C PAYS NOM_VER ANNEE ILLUSTRENT SYMBOLES PK_SYMBOLES COD_TYP LIBELLE PICTOGRAMME PAPILLONS PK_PAPILLONS NOM_VER FAMILLE COD_D GENRE ESPECE MINI MAXI MALE FEMELLE TAILLE_MOYENNE OBSERVATIONS PK_OBSERVATIONS NUMERO_O NOM_VER COD_TYP NOM PRENOM ENDROIT DATE_O MANGENT PK_MANGENT PLANTE FAMILLE APPARTIENNENT TYPE_LIE DECRIVENT CONCERNENT FAMILLES PK_FAMILLES FAMILLE OBSERVATEURS PK_OBSERVATEURS NOM_O PRENOM_O ADRESSE ENTOMOS PK_ENTOMOS COD_D NOM_D NAT_D FONT Diapositive n° 67 Université de NANTES Alain VAILLY

68 Etape n° 2 : disparition de la table FAMILLES
M.E.D.A.L. 4) Utilisation de relations 4.2) Implémentation des relations Etape n° 2 : disparition de la table FAMILLES TIMBRES PK_TIMBRES NUMERO NOM_C PAYS NOM_VER ANNEE ILLUSTRENT SYMBOLES PK_SYMBOLES COD_TYP LIBELLE PICTOGRAMME PAPILLONS PK_PAPILLONS NOM_VER FAMILLE COD_D GENRE ESPECE MINI MAXI MALE FEMELLE TAILLE_MOYENNE OBSERVATIONS PK_OBSERVATIONS NUMERO_O NOM_VER COD_TYP NOM PRENOM ENDROIT DATE_O MANGENT PK_MANGENT PLANTE FAMILLE TYPE_LIE DECRIVENT CONCERNENT OBSERVATEURS PK_OBSERVATEURS NOM_O PRENOM_O ADRESSE ENTOMOS PK_ENTOMOS COD_D NOM_D NAT_D FONT Diapositive n° 68 Université de NANTES Alain VAILLY

69 vus en cours de bases de données
M.E.D.A.L. 4) Utilisation de relations 4.3) Algèbre relationnelle 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èbre relationnelle. union jointure produit vus en cours de bases de données différence sélection intersection projection Diapositive n° 69 Université de NANTES Alain VAILLY

70 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.3) Algèbre relationnelle 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-, ... Diapositive n° 70 Université de NANTES Alain VAILLY

71 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.3) Algèbre relationnelle Exemple 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) Diapositive n° 71 Université de NANTES Alain VAILLY

72 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.3) Algèbre relationnelle Exemple SELECT PAPILLONS.NOM_VER, PAPILLONS.MALE, PAPILLONS.MINI, PAPILLONS.MAXI, PAPILLONS.GENRE, PAPILLONS.ESPECE FROM PAPILLONS WHERE PAPILLONS.MINI >= 30 AND PAPILLONS.MAXI <= 50 AND PAPILLONS.FAMILLE IN (SELECT MANGENT.FAMILLE FROM MANGENT WHERE MANGENT.PLANTE = ‘ Ortie ’) Aglais urticae (Chenille) Diapositive n° 72 Université de NANTES Alain VAILLY

73 4) Utilisation de relations
M.E.D.A.L. 4) Utilisation de relations 4.3) Algèbre relationnelle Exemple Gamma 44-48 mm Polygonia c-album Petite tortue 40-50 mm Aglais urticae Carte géographique 32-38 mm Araschnia levana Diapositive n° 73 Université de NANTES Alain VAILLY

74 M.E.D.A.L. 5) Conclusion - modèle ancien, mais encore très utilisé, qui repose sur des notions simples - 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, - à comprendre pour mieux maîtriser les enjeux d’une structuration de données - ... Diapositive n° 74 Université de NANTES Alain VAILLY

75 Pour compléter la formation ...
M.E.D.A.L. Bibliographie (sommaire) 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 X M. ADIBA, C. DELOBEL, « Bases de données et systèmes relationnels », Editions Dunod, Collection Informatique, 1982, ISBN Pour compléter la formation ... Diapositive n° 75 Université de NANTES Alain VAILLY

76 M.E.D.A.L. Fin Diapositive n° 76 Université de NANTES Alain VAILLY


Télécharger ppt "Module d’Enseignement à Distance pour l’Architecture Logicielle"

Présentations similaires


Annonces Google