IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

difficulté à comprendre des corrigés [DF]


Sujet :

Schéma

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut difficulté à comprendre des corrigés
    Bonjour,

    je suis en train de travailler un des cours du CNAM sur les bases de données et j'ai beaucoup de mal à comprendre la normalisation, notamment la 3FN et les dépendances fonctionnelles. Pourriez-vous m'aider, s'il vous plait?

    Voici l'exercice et son corrigé:

    Soit le schéma
    R(ABCD)
    F={A -> B, B -> C, D -> B}
    et la décomposition
    D = (ACD, BD)
    1) Est-ce que D préserve les dépendances de F?
    2) Est-ce que les relations (ACD) et (BD) obtenues sont en 3FN?

    Solution:

    1)Une dépendance projetée de F+ sur (ACD) est A -> C. En effet, A -> B,
    B ->C appartiennent à F. Donc par transitivité A -> C appartient à F+.
    De même on peut vérifier que D -> C est aussi une dépendance projetée de F+ sur (ACD) telle
    que :
    {B -> C, D -> B} par transitivité D -> C.

    De plus, D -> B est une dépendance projetée de F sur (BD).

    Par contre A -> B et B -> D ne peuvent être des dépendances projetées de F ni sur (ACD) ni sur (BD). La décomposition D ne préserve donc pas les dépendances de F.
    Elle le ferait si l'ensemble des dépendances de (ACD) et de (BD) :
    G = {A -> C, D -> C, D -> B}
    impliquait les mêmes dépendances que F : G+ = F+.

    On peut illustrer sur cet exemple pourquoi il est souhaitable qu'une
    décomposition préserve les dépendances : lorsqu'on insère un n-uplet bd
    dans la relation (BD), on vérifie qu'il satisfasse la dépendance D -> B.
    Mais on ne peut pas vérifier la contrainte B -> C sans faire la jointure
    entre les deux relations (ACD) et (BD).


    2) La relation R1(ACD) a pour dépendances {A -> C, D -> C}. La clé unique
    est AD. Montrons que pour toute dépendance de F, A -> X, soit A est une
    superclé, soit X appartient à une clé:
    A -> C: C n'appartient pas à la clé ou A n’est pas une surclé.
    D -> C: C n'appartient pas à la clé ou D n’est pas une surclé.
    Donc R1 n'est pas en 3FN.
    La relation R2(BD) a pour dépendance {D -> B}. La clé unique de la relation
    est D. Dans cette dépendance D est la clé. Donc R2 est en 3FN.


    Mes questions:

    1) Pourquoi vérifie-t-on D->C dans ACD?
    2) Je ne comprends pas cette phrase:
    Par contre A -> B et B -> D ne peuvent être des dépendances projetées de F ni sur (ACD) ni sur (BD). Est-ce que le prof n'aurait pas fait une erreur? Je veux dire, est-ce que ce ne serait pas D-> B ne peut être une dépendance projetée sur (BD)? Si c'était bien une erreur, pourquoi peut-on affirmer cela?
    3) Je ne comprends pas du tout le corrigé de la question 2.

    Merci aux bonnes âmes qui pourront m'aider,
    John

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Hello John,

    Je vais essayer de jouer les bonnes âmes...


    Citation Envoyé par John
    Pourquoi vérifie-t-on D->C dans ACD ?
    Reprenons le schéma R(ABCD). Lui est associé un ensemble de dépendances fonctionnelles :
    DF1 : A → B
    DF2 : B → C
    DF3 : D → B
    Par transitivité (3e axiome des axiomes d’Armstrong), vous avez inféré les DF suivantes :
    DF4 : A → C
    DF5 : D → C
    Si vous projetez R(ABCD) sur A, C, D, vous obtenez un schéma de variable relationnelle R1(ACD) avec préservation des DF qui font mention de A, C, D, tandis que ne sont pas préservées les DF qui font mention de B (car absent du nouveau schéma).
    Ainsi, ne sont pas préservées DF1, DF2 et DF3, mais sont préservées DF4 et DF5.

    Citation Envoyé par John
    Par contre A -> B et B -> D ne peuvent être des dépendances projetées de F ni sur (ACD) ni sur (BD)
    Comme on vient de le voir, B ne faisant pas partie du schéma R1(ACD), il est impossible d'associer les dépendances DF1, DF2 et DF3 à ce schéma.
    De la même façon, si l’on considère la projection de R(ABCD) sur B, D, vous obtenez un schéma de variable relationnelle R2(BD) avec préservation des DF qui font mention de B et D, à savoir DF3, tandis que ne sont pas préservées les DF qui font mention de A et C (car absents du nouveau schéma), à savoir DF1, DF2, DF4, DF5.

    Concernant la dépendance B → D, c’est nouveau, ça vient de sortir, car :
    (a) Elle ne fait pas partie de F.

    (b) Elle ne fait pas partie non plus de F+. En effet, elle ne peut pas être inférée par les axiomes d’Armstrong car D ne joue jamais le rôle de dépendant (partie droite de DF) dans quelque DF que ce soit appartenant à F. (Le principe vaut du reste pour A, mutatis mutandis.)
    Dans ces conditions, il est faux de dire que B → D.

    Citation Envoyé par John
    Je ne comprends pas du tout le corrigé de la question 2
    Rappelons ce qu’est une surclé :

    Dans une variable relationnelle telle que V (X, Y, Z, T), où X, Y, Z et T désignent les attributs de V, une surclé K est un sous-ensemble (non strict) d’attributs déterminant fonctionnellement chaque attribut de V :
    K → X
    K → Y
    K → Z
    K → T
    Le sous-ensemble {X, Y, Z, T} est-il une surclé de V ? La réponse est affirmative, car par application du 1er axiome d’Armstrong (réflexivité) :
    {X, Y, Z, T} → X
    {X, Y, Z, T} → Y
    {X, Y, Z, T} → Z
    {X, Y, Z, T} → T
    En notant que ces DF sont toutes triviales ("trivial" est un raccourci pour dire que le tout détermine la partie).

    Un cas particulier de la surclé est celui de la clé candidate (expression souvent abrégée en "clé"). Une clé candidate est une surclé vérifiant la règle d’irréductibilité à gauche (on dit encore règle de minimalité) selon laquelle :
    Il n’existe pas de sous-ensemble strict K’ de K qui lui aussi détermine fonctionnellement chaque attribut de V.
    Reprenons votre exemple avec la variable relationnelle R1 (ACD). En vertu de ce qui précède, ACD est une surclé de R1.

    ACD est-il clé candidate ? Montrons d’abord que AD → C :
    A → C (donné)
    AD → AC (2e axiome d’Armstrong, dit d’augmentation)
    AD → C (règle de décomposition)
    En conséquence, R1 (ACD) comporte les DF suivantes :
    AD → A (DF triviale)
    AD → C (démontré)
    AD → D (DF triviale)
    AD détermine fonctionnellement chaque attribut de R1 et c’est donc une surclé. Ça n’est pas le cas du sous-ensemble AC de ACD, car D ne jouant jamais le rôle de dépendant, il ne peut exister de DF telle que AC → D et AC ne peut donc prétendre à être clé candidate. Même impossibilité pour CD.

    AD est une surclé, mais est-ce une clé candidate ? Pour qu’il n’en soit pas ainsi, il faudrait que A ou D soient surclés. Dans le cas de A, il faudrait s'assurer des DF suivantes :
    A → A
    A → C
    A → D
    Or si les deux premières DF sont vérifiées, la 3e ne l’est pas (comme on dit, elle ne fait pas partie de F+).

    A n’est donc pas surclé, pas plus que D pour les mêmes raisons.

    AD est donc une surclé qui ne comporte pas de sous-ensemble strict qui soit surclé : AD est clé candidate de R1. C’est aussi la seule, puisque comme on l’a vu, AC et CD ne peuvent pas être surclés.

    R1 est-elle en 3FN ?

    Pour que R1 soit en 3FN, il d’abord qu’elle soit en 2FN.
    L’énoncé de la 2FN est le suivant (celui qui fut donné par Ted Codd en 1971, père de la 2FN et de la 3FN) :
    Une relation R est en deuxième forme normale si elle est en première forme normale et si chaque attribut n’appartenant pas à une clé candidate est en dépendance totale de chaque clé candidate de R.
    Admettons que R1 soit en 1FN. Une dépendance totale est une dépendance fonctionnelle qui n’est ni triviale ni partielle. Qu’est-ce qu’une DF partielle ?
    Soit R une relvar, X un sous-ensemble quelconque d’attributs de R et C un attribut quelconque de R. Une dépendance fonctionnelle X → {C} est dite partielle si elle n’est pas triviale et s’il existe Y strictement inclus dans X tel que Y → {C}.
    Or, R1 comporte la DF partielle AD → C puisque A → C (et aussi D → C) : R1 n’est donc pas en 2FN et a fortiori en 3FN laquelle implique la 2FN.

    Concernant la variable relationnelle R2 (BD), en utilisant la même approche, on montre que R2 est en 3FN.

    J'espère ne pas avoir fait des copier/coller sources de bugs... Bon courage,

    fsmrel
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Merci beaucoup!

    je regarde cela ce soir et je te dis si c'est plus clair dans mon esprit (je débute complètement dans les bases de données, et je prendrai cette UE en septembre, mais quelqu'un m'a passé les cours en juin pour que je m'avance)

    Encore merci.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Bonsoir,

    je viens de lire votre long et très complet corrigé/explication et je vous remercie grandement. Vous m'avez éclairé sur le sujet qui était encore flou pour moi.

    Concernant B-> D, je pense que le prof s'est trompé et a voulu écrire B->C que l'on ne retrouve ni dans ACD ni dans BD. Et du coup, cela devient logique.

    Merci encore, sincèrement,
    John

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir John,

    C'est un bon point pour vous de vous êtes accroché, le sujet est assez austère et reste très théorique, loin des problèmes que l'on rencontre concrètement sur le terrain, dans la mesure où la modélisation conceptuelle (MCD Merise, diagrammes de classes) permet d'évacuer bien des problèmes.

    Si par hasard vous y prenez goût, pour une approche théorique du sujet vous pouvez explorer les écrits de Zaniolo, Ullman, Maier...

    http://www.cs.ucla.edu/~zaniolo/pape...oloPapers.html

    http://infolab.stanford.edu/~ullman/cs345-notes.html

    http://infolab.stanford.edu/~ullman/...x.html#lecture

    http://web.cecs.pdx.edu/~maier/

    http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html

    Mais n'oubliez pas de prévoir quelques cachets d'aspirine (migraine oblige...)

    Bon courage,

    fsmrel
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    merci, je regarderai ces liens.

    En fait, cette année, j'ai eu 5 UE (programmation débutant, 2 UE de maths sur les automates et les probas, hasse, fonctions booléennes, matrices, etc., architecture des machines et programmation avancée objet avec héritage, polymorphisme, etc.)

    L'année prochaine, au premier semestre, je ferai les UE d'introduction aux bases de données et système d'information (d'où le fait que je prenne un peu d'avance dès à présent) et, au second semestre, les choses deviendront sérieuses avec développement d'applications avec les bases de données et une UE de complément de cours sur les systèmes d'informations. Je verrai aussi les structures de données sur lesquelles je peine beaucoup (je les travaille par moi-même mais j'ai beaucoup de mal à comprendre tous les tris)

    Tout cela, vous vous en doutez, correspond à un cursus de débutant, puisque cela n'amène qu'au bac +2 (la troisième année, je ferai le projet en entreprise sur les bases de données et système d'information, ainsi que des UE de culture générale comme système d'exploitation)

    Ceci est une reconversion, car je travaille depuis 5 ans, mais j'ai eu le virus de l'informatique l'année dernière.

    Au CNAM, nous étudions java. Je suppose que ce n'est pas forcément pour développer plus tard dans ce langage mais pour apprendre un langage objet et ainsi en appréhender un autre.

    Je connaissais quelqu'un qui ne programmait qu'en java mais aujourd'hui, écrit en python. Est-ce que ce langage est davantage plébiscité?

    Merci encore pour l'aide apportée, j'y ai vu plus clair.

    John

  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Ave John,


    Citation Envoyé par johnny3
    Au CNAM, nous étudions java. Je suppose que ce n'est pas forcément pour développer plus tard dans ce langage mais pour apprendre un langage objet et ainsi en appréhender un autre.
    Je connaissais quelqu'un qui ne programmait qu'en java mais aujourd'hui, écrit en python. Est-ce que ce langage est davantage plébiscité?
    Personnellement, quand je programmais, c’était essentiellement en assembleur...
    Ne connaissant ni java ni python, je ne saurais donner un avis, mais je suppose que des centaines de developpez.commeurs peuvent vous éclairer.


    Citation Envoyé par johnny3
    la troisième année, je ferai le projet en entreprise sur les bases de données et système d'information
    Sujets cruciaux. La construction du système d’information (SI) est déterminante puisqu’elle conditionne tout le reste. Sa maîtrise requiert du temps, idéalement sous la conduite d’un maître sur le terrain pendant les premiers temps, car à mon sens, si la formation théorique est nécessaire, elle est insuffisante dès que vous collaborez avec une maîtrise d’ouvrage qui attend beaucoup de vous et de votre savoir-faire sur des sujets concrets. La réussite d’un projet dépend fondamentalement d’un SI que l’on a bien compris et su bâtir, après mise à plat des règles qui régissent l’entreprise et dont on a été à même d’en vérifier la complétude et la cohérence, en sorte que ce SI soit pertinent et apte à évoluer.

    Ensuite, savoir structurer une base de données, la manipuler, en garantir l’intégrité est là encore déterminant pour la suite. Mais si le SI laisse à désirer, l’expert en bases de données ne pourra pas rattraper le coup. De même, quelle que soit la qualité de vos programmes et le langage utilisé, ceux-ci ne pourront traduire et restituer que ce qu’on leur donne à consommer (garbage in, garbage out).

    En tout état de cause, étant donné que Paris ne s’est pas construite en un jour, je vous conseille l’acquisition de deux ouvrages indispensables quand on se pose des questions sur la mise en place des fondations et que l'on a besoin d'être conforté :

    Concernant le SI :
    Concernant les bases de données :
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  8. #8
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Vous êtes jeune,je vous déconseille fortement de perdre votre temps avec Merise et de vous mettre à l'UML.
    Merise une méthode "administrative" franco française complètement désuète et dont les étudiants ne retiennent plus que la partie nécessaire
    à la conception d'une base de données (MCD,MLD,MPD).
    Mais même pour concevoir une BD, point besoin de Merise qui n'a rien inventé de ce côté. Vous pouvez faire comme ce qui se fait dans le reste du monde
    et faire un design conceptuel, logique avec le formalisme Entite Relation (que merise a copié et appelé Entite-Association) ou Entite Relation Etendue, au niveau graphique , le diagramme de classe UML fera largement l'affaire.

    Cours gratuit sur la conception de BD avec UML, http://chirouble.univ-lyon2.fr/~jdar...ids-bdprog.pdf

    pour aller plus loin:

    Conception de bases de données:
    _____________________________

    UML 2 pour les bases de données : Avec 20 exercices corrigés, Christian Soutou, http://www.amazon.fr/UML-pour-bases-.../dp/2212120915

    Conception de bases de données avec UML, Gilles Roy , http://www.puq.ca/produits/D1500/D1500_TDM.pdf

    SI
    __

    UML 2 pour l'analyse d'un système d'information, Le cahier des charges pour le maître d'ouvrage,Chantal Morley

    UML 2 Analyse et Conception - Mise en Oeuvre Guidée avec Etudes de Cas,Joseph Gabay

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par parisneuilly Voir le message
    Vous êtes jeune,je vous déconseille fortement de perdre votre temps avec Merise et de vous mettre à l'UML.
    Merise une méthode "administrative" franco française complètement désuète et dont les étudiants ne retiennent plus que la partie nécessaire
    à la conception d'une base de données (MCD,MLD,MPD).
    Mais même pour concevoir une BD, point besoin de Merise qui n'a rien inventé de ce côté. Vous pouvez faire comme ce qui se fait dans le reste du monde
    et faire un design conceptuel, logique avec le formalisme Entite Relation (que merise a copié et appelé Entite-Association) ou Entite Relation Etendue, au niveau graphique , le diagramme de classe UML fera largement l'affaire.

    Cours gratuit sur la conception de BD avec UML, http://chirouble.univ-lyon2.fr/~jdar...ids-bdprog.pdf

    pour aller plus loin:

    Conception de bases de données:
    _____________________________

    UML 2 pour les bases de données : Avec 20 exercices corrigés, Christian Soutou, http://www.amazon.fr/UML-pour-bases-.../dp/2212120915

    Conception de bases de données avec UML, Gilles Roy , http://www.puq.ca/produits/D1500/D1500_TDM.pdf

    SI
    __

    UML 2 pour l'analyse d'un système d'information, Le cahier des charges pour le maître d'ouvrage,Chantal Morley

    UML 2 Analyse et Conception - Mise en Oeuvre Guidée avec Etudes de Cas,Joseph Gabay
    Merci beaucoup pour vos conseils à tous les deux. Pour Merise, je l'étudie car il s'agit du programme du CNAM, mais nous verrons aussi UML.

    Par contre, j'ai déjà acheté (mais pas eu le temps de lire) "UML2 par la pratique" et "UML2 pour les développeurs". Qu'en pensez-vous pour démarrer?

    Sinon, question âge, effectivement, je n'ai que 28 ans (j'ai fait un bac + 3 puis deux ans de formation pour devenir enseignant) et j'aurai fini mon bac + 2 dans 2 ans, soit à 31 ans. Mon but est de pratiquer beaucoup, sérieusement, de manière construite, pour apprendre de manière carrée. Car, comme toute chose, je ne pense pas que l'on puisse apprendre vite l'informatique et que cela demande énormément de pratique.

    Merci encore pour vos conseils.

    John

  10. #10
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par parisneuilly
    Vous êtes jeune, je vous déconseille fortement de perdre votre temps avec Merise et de vous mettre à l'UML.
    Qu’en termes choisis ces choses-là sont dites, de façon expéditive mais qui demande à être étayée...

    John doit bien entendu aussi étudier UML et j’aurais pu faire mention d’un ouvrage de référence concernant le langage de modélisation unifié (qui comme son nom l’indique n’est qu’un langage). Mais, est-ce une perte de temps que de voir comment aborder un schéma directeur ? Une étude préalable ? Le reproche que l’on peut faire à Merise concerne surtout la séparation entre les données et les traitements au niveau conceptuel, mais de là à jeter la Méthode...

    Cela dit, parisneuilly, votre ton montre que vous n’êtes certainement pas bien vieux non plus, aussi je vous conseille d’écouter un sage, Georges Brassens, dans "Le temps ne fait rien à l'affaire". A apprendre par coeur.


    Citation Envoyé par parisneuilly
    Merise une méthode "administrative" franco française complètement désuète et dont les étudiants ne retiennent plus que la partie nécessaire à la conception d'une base de données (MCD, MLD, MPD)
    Que de condescendance... Qu’entendez-vous par "administrative" ?

    Si elle est désuète, Merise est pratiquée dans une foultitude d’entreprises (non nécessairement franco-françaises, autrement dit franchouillardes). Que les étudiants ne retiennent que la partie MCD, MLD et MPD, c’est bien normal. Il est sûr qu’en amont de la modélisation, l’approche du schéma directeur concerne des ingénieurs ayant acquis une certaine maturité et ayant tiré certaines leçons de leur passage dans les Directions informatiques (Directions des systèmes d’information, pardon d’être désuet). Il est probable que les plus jeunes préfèrent la technique et on ne saurait leur en vouloir. Pour en revenir à la ringardise de Merise, autant demander tout de suite à Sybase Inc. de faire le ménage dans Power AMC (sans oublier dans la foulée de débarrasser l’AGL de la version E/R). Mais n’y aurait-il pas à nouveau une levée de boucliers ?


    Citation Envoyé par parisneuilly
    Mais même pour concevoir une BD, point besoin de Merise
    On peut concevoir une base de données sans utiliser au niveau conceptuel le formalisme individuel (Merise), sans utiliser le formalisme E/R de Chen, le formalisme IE, le formalisme UML, et j’en passe, et on peut préférer le formalisme IA, ou RM/T (avec lequel on ne dessine pas, ce qui peut gêner les jeunes gens, mais ce modèle est défini avec la rigueur et le souci de l'orthogonalité que l’on connaît à Ted Codd).


    Citation Envoyé par parisneuilly
    le formalisme Entite Relation (que merise a copié et appelé Entite-Association)
    Qui a copié qui ? Le formalisme Entité/Relation auquel vous faites allusion est-il celui proposé par Schmid et Swenson en 1975 ? Celui qui fut proposé par Chen en 1976 ? (et qui, selon Chris Date aurait repris une bonne partie des travaux de S. & S). Selon D. Nanci (voir la FAQ Merise), les pères de Merise ont commencé leurs travaux en 1974 et si "Merise a copié", il faudrait vérifier qu’il ne s’agit pas plutôt par exemple d’une reprise des travaux de Hainaut et Pirotte datant de la même année. Par manque de sources, je ne peux pas vous démentir, mais je vous trouve un peu expéditif et difficilement crédible.

    Quant à l’expression Entité-Association, je ne sais pas à qui on la doit, mais vous ne manquerez pas de nous l’apprendre. En tout cas, concernant les auteurs reconnus, je note que D. Nanci parle d’entités et de relations, que Tardieu parle d’individus (ou d’objets au tout début) plutôt que d’entités : les pères de Merise ne parlent pas d’associations. Cela dit, étant plus au fait du Modèle relationnel de données que des formalismes conceptuels, je préfère pour ma part ce terme d'association à celui de relation (à l’instar de Codd dans RM/T), car le terme relation est ambigu en français (relationship ? relation du modèle relationnel ?) Pour la petite histoire, je cite Chen : "A relationship is an association among entities" mais on trouve inévitablement, à la pelle, la petite soeur de cette citation : "In UML models, an association is a relationship between two classifiers"...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par johnny3 Voir le message
    Merci beaucoup pour vos conseils à tous les deux. Pour Merise, je l'étudie car il s'agit du programme du CNAM, mais nous verrons aussi UML.

    Par contre, j'ai déjà acheté (mais pas eu le temps de lire) "UML2 par la pratique" et "UML2 pour les développeurs". Qu'en pensez-vous pour démarrer?

    Sinon, question âge, effectivement, je n'ai que 28 ans (j'ai fait un bac + 3 puis deux ans de formation pour devenir enseignant) et j'aurai fini mon bac + 2 dans 2 ans, soit à 31 ans. Mon but est de pratiquer beaucoup, sérieusement, de manière construite, pour apprendre de manière carrée. Car, comme toute chose, je ne pense pas que l'on puisse apprendre vite l'informatique et que cela demande énormément de pratique.

    Merci encore pour vos conseils.

    John
    oups, à 30 ans, pas 31.

  12. #12
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    j’aurais pu faire mention d’un ouvrage de référence concernant le langage de modélisation unifié (qui comme son nom l’indique n’est qu’un langage)
    "UML n'est pas une méthode, c'est un language". C'est un faux débat sémantique. UML est bien une méthode d'analyse et de conception. UML n'est par contre pas une méthode de gestion de projet,ni même de gestion du cycle de vie du logiciel. Il y'en a pleins qui peuvent être très bien utilisées avec UML.,(RUP, XP,SCRUM, ALPHA,BETA,...).

    Je vous rappelle que UML n'est que la fusion de trois autres METHODES ou méthodologie si vous préferez:

    * La méthode BOOCH'93 de Booch
    * La méthode OOSE de Jacobson (Object Oriented Software Engineering)
    * La méthode OMT de Rumbaugh
    C'est la raison pour laquelle, le premier nom de l'UML était " La Méthode Unifiée".
    OOSE a été la première METHODE orientée objet à utiliser les Use Case.
    Pour en savoir plus, je vous invite à consulter ce bouquin écrit par un ancien Merisien: UML 2 Analyse et Conception - Mise en Oeuvre Guidée avec Etudes de Cas,Joseph Gabay
    Citation Envoyé par fsmrel Voir le message
    Que de condescendance... Qu’entendez-vous par "administrative" ?
    Merise a été fait par des fonctionnaires (je n'ai rien contre eux), il est logique que cette méthode ait trouvé écho dans les gros projets administratifs de l'époque. Aujourd'hui l'informatique a radicalement changé par rapport à cette époque mais la lourdeur de Merise est restée.

    Citation Envoyé par fsmrel Voir le message
    Si elle est désuète, Merise est pratiquée dans une foultitude d’entreprises (non nécessairement franco-françaises, autrement dit franchouillardes).
    Le jour où vous me donnerez le nom d'une entreprise allemande,suédoise , turque ou anglaise qui fait du Merise, je serais ravi. Même en France, il y en a quasiment plus (je ne parle pas de ceux qui limitent Merise au MCD) à part peut être l'administration.
    Aujourd'hui en SI, on parle d'Urbanisation, de SOA, du référentiel ITIL, de CMMI,...
    Si vous doutez encore de la mort de Merise, allez sur Amazon ou ailleurs cherchez les derniers bouquins parus dessus,les doigts d'une main sont trop nombreux pour les compter, la plupart s'appelent ... de Merise à UML (Les professeurs auteurs de ce genre de titre, ne savent certainement pas grand chose car , Merise est une méthode, UML est un language )

    Citation Envoyé par fsmrel Voir le message
    Qui a copié qui ? Le formalisme Entité/Relation auquel vous faites allusion est-il celui proposé par Schmid et Swenson en 1975 ? Celui qui fut proposé par Chen en 1976 ?
    Prenez n'importe quelle publication scientifique, la paternité du formalisme ER est attribué à Chen[76].

    Citation Envoyé par fsmrel Voir le message
    Quant à l’expression Entité-Association, je ne sais pas à qui on la doit, mais vous ne manquerez pas de nous l’apprendre. En tout cas, concernant les auteurs reconnus, je note que D. Nanci parle d’entités et de relations, que Tardieu parle d’individus (ou d’objets au tout début) plutôt que d’entités : les pères de Merise ne parlent pas d’associations. Cela dit, étant plus au fait du Modèle relationnel de données que des formalismes conceptuels, je préfère pour ma part ce terme d'association à celui de relation
    Effectivement, je vais vous dire d'où vient l'expression Entité-Association, au départ dans Merise on parlait du formalisme Entité relation comme les anglo-saxons, l'expression Entité-Association date des années 1990 au cours d'une conférence de l'AFCET en 1991.

  13. #13
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par parisneuilly
    Citation Envoyé par fsmrel
    j’aurais pu faire mention d’un ouvrage de référence concernant le langage de modélisation unifié (qui comme son nom l’indique n’est qu’un langage)
    "UML n'est pas une méthode, c'est un language"
    Seriez-vous distrait ? Pour ma part, j’ai écrit "langage de modélisation unifié". Qui plus est, je n’ai pas utilisé le terme "méthode" et par respect de la langue française, même s’il m’arrive — trop souvent malheureusement — de commettre des fautes d’orthographe, au moins je n’écris pas « language », si ce n’est entre guillemets.


    Citation Envoyé par parisneuilly
    ULM est bien une méthode d'analyse et de conception
    On est bien d’accord. Pour tout vous dire, j’ai même le Grady Booch (mais traduit en français : "Analyse et conception orientées objets", chez Addison-Wesley) et cela figure dans le titre de l’ouvrage.


    Citation Envoyé par parisneuilly
    Je vous rappelle que UML n'est que la fusion de trois autres METHODES ou méthodologie si vous préferez:

    * La méthode BOOCH'93 de Booch
    * La méthode OOSE de Jacobson (Object Oriented Software Engineering)
    * La méthode OMT de Rumbaugh
    C'est la raison pour laquelle, le premier nom de l'UML était " La Méthode Unifiée".
    OOSE a été la première METHODE orientée objet à utiliser les Use Case.
    Pour en savoir plus, je vous invite à consulter ce bouquin écrit par un ancien Merisien
    Pitié ! Je croule sous les explications de la genèse d’UML... J’ai déjà les ouvrages de Pierre-Alain Muller ("Modélisation Objet avec UML"), de Nasser Kettani ("De Merise à UML", préfacé par Hubert Tardieu...), de mon trio préféré Bouzeghoub, Gardarin, Valduriez ("Les objets"), etc.


    Citation Envoyé par parisneuilly
    Merise a été fait par des fonctionnaires (je n'ai rien contre eux), il est logique que cette méthode ait trouvé écho dans les gros projets administratifs de l'époque.
    Certes, La Mission à l’Informatique du Ministère de l’industrie a bien soutenu les pères de Merise, mais il a fallu qu’en 1981 ceux-ci se débrouillent tous seuls. Cela dit, je ne vois pas en quoi on peut qualifier de fonctionnaires les Tardieu, Vahée, Nanci, Colletti, etc.


    Citation Envoyé par parisneuilly
    Le jour où vous me donnerez le nom d'une entreprise allemande, suédoise , turque ou anglaise qui fait du Merise
    Joker...

    Citation Envoyé par parisneuilly
    Si vous doutez encore de la mort de Merise
    J’ai conservé un faire-part de décès paru dans Logiciels & Systèmes, Juin1997 - N° 19. Gros titre : "Merise est mort - Solstice, démarche méthodologique orientée objet de Sema Group se substitue à Merise. Elle privilégie UML...". A ce sujet, qu’est devenue l’entreprise de la rue Barbès à Montrouge ? Hélas ! Que sont mes amis devenus... Qu’est devenue Solstice ? Y a des trous noirs partout, qui digèrent tout...


    Citation Envoyé par parisneuilly
    Prenez n'importe quelle publication scientifique, la paternité du formalisme ER est attribué à Chen[76]
    Ça c’est sûr, mais Schmid et Swenson ont peut-être eu à l’époque des raisons de se sentir frustrés. A la manière de Roux qui vainquit la maladie du charbon, tandis que c’est à Pasteur que revinrent les honneurs avant de s’emparer des travaux du même Roux pour vaincre la rage...


    Citation Envoyé par parisneuilly
    l'expression Entité-Association date des années 1990 au cours d'une conférence de l'AFCET en 1991.
    Référence ?
    Je suppose que vous voulez parler de la journée d’étude organisée par le Groupe 135 de l’Afcet "Conception des systèmes d’information", en date du jeudi 15 novembre 1990, dont le compte-rendu a pour titre :
    "Le formalisme de données Merise : extensions du pouvoir d’expression"
    Si l’on cherche les mots clés des auteurs, on trouve Entité-relation (Brès, Rochfeld, Tabourier). Sibertin-Blanc ne propose pas de mots clés et évoque informellement l'expression Entité-Association. C’est un peu maigre...

    Mais bon, après touts ces échanges qui n’intéresseront guère John et qui n’apportent pas grand-chose à DVP, je préfère en rester là. Il y a assez à faire avec les questions d’ordre technique posées chez DVP, telle la 1re posée par John qui se frotte aux dépendances fonctionnelles et que l’on ne peut pas abandonner (il se débat maintenant avec l’algèbre relationnelle, sujet qui me convient, enfin les mains dans le cambouis ! Et si le coeur vous en dit...)
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. du mal à comprendre un corrigé sur une requête SQL
    Par johnny3 dans le forum Débuter
    Réponses: 2
    Dernier message: 21/11/2008, 20h21
  2. [POO] Difficulté avec des classes et require
    Par kitiss dans le forum Langage
    Réponses: 6
    Dernier message: 09/09/2008, 00h18
  3. aide pour comprendre des Script perl
    Par la_star160 dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2008, 20h40
  4. Difficultée à comprendre gluProject
    Par GLDavid dans le forum OpenGL
    Réponses: 1
    Dernier message: 18/03/2008, 13h10
  5. des difficultés sur des methodes
    Par bambi98 dans le forum UML
    Réponses: 4
    Dernier message: 12/12/2006, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo