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 :

Classification du vin [MCD]


Sujet :

Schéma

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut Classification du vin
    Bonjour à tous,

    Je poursuis un projet de gestion de restaurant (voir la précédente discussion sur ce forum ) et je suis confronté à un nouveau problème.

    Dans la conception du Back Office du site j'ai besoin de faire des listes déroulantes dynamiques liées pour gérer les nouveaux vins.

    Chaque entité doit contenir l'ID (en clé étrangère) de l'entité à laquelle elle est rattachée.J'ai donc modifié un peu le schéma de mon mcd pour relier les entités entre elles. (voir schéma ci-dessous)

    Voici la liste des entités :
    CARAC_VIN : c'est la fiche de renseignement d'un vin, un récapitulatif des informations recueillies dans les autres entités.

    TYPE_APPEL : c'est le type (la catégorie) des appellations (ex: 'AOC', 'Vin de Pays', 'Vin du monde', 'Vin de cépage', 'Vin de table')

    APPELLATION : c'est la dénomination garantissant l'origine, la qualité et la méthode de fabrication d'un vin (ex : 'Bourgogne Côte chalonnaise', 'Côtes du Roussillon Villages Tautavel', 'Savennières Roche aux Moines')

    CEPAGE : c'est la variété de vigne cultivée (ex : 'Chardonnay', 'Sémillon', 'Grenache')

    REGION : c'est la région de production (ex : 'Côtes du Rhône', 'Languedoc-Roussillon', 'Bordeaux')

    PAYS : c'est le pays de production (ex: 'France', 'Chili', 'Espagne')

    Voici la liste des associations :
    CARAC_VIN -- 1,1 -- A_POUR_MT -- 0,n -- TYPE_APPEL

    TYPE_APPEL -- 0,n -- EST_D_APPELLATION -- 1,1 -- APPELLATION

    CARAC_VIN -- 0,1 -- EST_CATALOGUE -- 0,n -- APPELLATION
    (seuls les vins français obtiennent une appellation)

    APPELLATION -- 1,n -- EST_COMPOSEE -- 0,n -- CEPAGE
    (certaines appellations sont mono-cépages, d'autres pas)

    APPELLATION -- 1,1 -- EST_ISSUE -- 0,n -- REGION

    CEPAGE -- 1,n -- EST_CULTIVE -- 0,n -- PAYS

    CEPAGE -- 1,n -- EST_PLANTE -- 0,n -- REGION

    CARAC_VIN -- 0,n -- EST_DE_CEPAGE -- 0,n -- CEPAGE

    REGION -- 1,1 -- EST_SOUS_LOCALITE -- 0,n -- PAYS

    CARAC_VIN -- 1,1 -- EST_DE_REGION -- 0,n -- REGION

    CARAC_VIN -- 1,1 -- EST_DE_PAYS -- 0,n -- PAYS

    Le schéma de la partie du MCD traitant des vins:


    Petites informations utiles à la compréhension du MCD:
    - un cépage peut être cultivé dans plusieurs pays différents, et donc dans plusieurs régions. De fait il apparait dans plusieurs appellations.

    - une appellation peut être un assemblage de plusieurs cépages, mais doit être produite dans une seule région, et donc un seul pays (qui sera d'ailleurs toujours la France). De plus une appellation ne peut avoir qu'un seul type d'appellation.

    - les vins étrangers (dont le type d'appellation est donc 'Vin du monde') ne possèdent pas d'appellation (ce qui peut paraitre bizarre d'avoir un type d'appellation mais pas d'appellation propre ).

    Voilà je voulais juste savoir si cette partie du MCD vous parait correcte, si vous y voyez des erreurs. Qu'en pensez-vous?

    Si vous avez des commentaires je vous écoute.

    Merci à vous.

    ps : sur les bouteilles de vin étrangers on indique en générale le cépage à la place de l'appellation... je me pose la question suivante "comment font-ils quand le vin en question est le fruit de plusieurs cépages ? (comme les Bordeaux chez nous) Peut être que ce cas n'existe pas dans les vins étrangers?"

    J'ajoute le schéma en pièce jointe pour ceux qui veulent le lire plus facilement.
    Images attachées Images attachées  

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je constate que tu as francisé ton MCD. L'ancienne entité-type CHARAC_WINE est donc devenue CARAC_VIN ?

    Je reste gêné par cette entité-type.

    Soit "Château Bellevue La Forêt" et "Château Devés". Ce sont deux AOC "Côtes du Frontonnais" donc des produits qui ont les mêmes caractéristiques (ID_CARAC_VIN identique). Mais c'est bien le fait de leur AOC qui fait qu'ils ont les mêmes caractéristiques.

    C'est à vérifier mais ça doit je pense être la même chose pour toutes les appellations (Sauternes, Gevrey-Chambertin, Riesling, Vouvray...).

    Pour moi, je dirais que le PRODUIT "Château Yquem" est catalogué d'APPELLATION "Sauternes" qui est située en REGION "Bordeaux" du PAYS "France" et ayant pour CEPAGE "muscadelle B", "le sauvignon B" et le "sémillon B".


    PRODUIT -0,1----Cataloguer----0,n- APPELLATION -1,1----Situer----0,n- REGION -1,1----Situer----0,n- PAYS

    APPELLATION --1,n----Composer----0,n- CEPAGE

    ----------------------------------

    Il y a de nouveau des boucles dans ton MCD !
    Un CARAC_VIN peut-être catalogué d'une APPELLATION qui est d'un TYPE_APPEL différent de celui du CARAC_VIN.
    Il faudrait faire une exclusion entre les associations EST_CATALOGUE et A_POUR_MT.
    Au fait, que signifie MT ?

    De même, un vin peut être d'un pays différent de la région de son appellation !
    Si on trouve un Château Pétrus d'Australie dans ton restaurant, il va y avoir des évanouissements parmi la clientèle !

    Idem pour les cépages qui peuvent ne pas être plantés dans la région du vin...

    - une appellation peut être un assemblage de plusieurs cépages, mais doit être produite dans une seule région, et donc un seul pays (qui sera d'ailleurs toujours la France).
    "Tokay" n'est-il pas une appellation réservée aujourd'hui à certains vins de Hongrie ?
    "Chianti" n'est-il pas une AOC ou son équivalent italien (DOP) ?

    ps : sur les bouteilles de vin étrangers on indique en générale le cépage à la place de l'appellation... je me pose la question suivante "comment font-ils quand le vin en question est le fruit de plusieurs cépages ? (comme les Bordeaux chez nous) Peut être que ce cas n'existe pas dans les vins étrangers?"
    Je pense que c'est surtout le cas des "nouveaux" vins issues de régions viticoles ayant connu une expansion récente telles que la Californie ou l'Australie.
    J'ai cité un exemple ci-dessus (Chianti) de vin à cépage multiple qui a un nom bien à lui.
    La particularité française se situe plutôt au niveau du détail des "Châteaux" à l'intérieur d'une AOC plus générale ("Bordeaux") ou même d'une AOC plus détaillée ("Sauternes"). Même dans les petites régions françaises ! Il y a par exemple la sous-appellation "Villaudric" dans l'appellation "Côtes du Frontonnais".
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Bonjour CinePhil

    En effet j'ai francisé le MCD. Je ne suis pas bon du tout en anglais et chercher les noms pour les associations était trop chronophage (en plus je ne me rappelais plus de leur signification au bout de quelques heures ).

    Pour moi, je dirais que le PRODUIT "Château Yquem" est catalogué d'APPELLATION "Sauternes" qui est située en REGION "Bordeaux" du PAYS "France" et ayant pour CEPAGE "muscadelle B", "le sauvignon B" et le "sémillon B".
    Tu sous-entend que je devrais faire disparaitre l'entité CARAC_VIN c'est bien ça? J'y ai pensé moi aussi mais comme je le disais certains vins étrangers non pas d'appellation, et dans ce cas comment faire? Je n'aurais plus rien pour relier PRODUIT aux restes des entités relatives au vin.

    Ou alors je laisse à 'APPELLATION_LIB' la possibilité d'être null? J'aurais dans ce cas un ID mais pas de nom d'appellation. Tout le reste fonctionnerait vu que même sans appellation tous les vins possèdent un type d'appellation (en vin du monde par exemple).

    "Un CARAC_VIN peut-être catalogué d'une APPELLATION qui est d'un TYPE_APPEL différent de celui du CARAC_VIN.
    Il faudrait faire une exclusion entre les associations EST_CATALOGUE et A_POUR_MT.
    Au fait, que signifie MT ?"
    A_POUR_MT -> A_POUR_MARK_TYPE (c'est l'ancien nom anglicisé de mon entité TYPE_APPEL)

    Pour ce qui est TYPE_APPEL différent pour CARAC_VIN et APPELLATION j'y ai pensé aussi. Peut-être que l'association A_POUR_MT n'est pas très utile au final, je devrais essayer de la supprimer. Etait-ce le sens de : "Il faudrait faire une exclusion entre les associations EST_CATALOGUE et A_POUR_MT" ?

    J'ai essayé les quelques modifications que tu as proposé, je pense que le résultat est meilleur que mon premier jet. Biensûr le résultat ne correspond plus exactement à ce qui est demandé pour le tuto des listes dynamiques liées, mais je crois que je peux m'en arranger.



    Cela me parait plus propre, n'est-ce pas?

    "Tokay" n'est-il pas une appellation réservée aujourd'hui à certains vins de Hongrie ?
    Après vérification, tu as raison il existe des appellations étrangères, je vais faire quelques recherches pour tirer cette histoire au clair.

    En tout cas merci pour tes éclaircissements, ils m'ont bien aidé.

    BLJC

    ps : si qquelqu'un a une remarque à faire, c'est maintenant.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Tu sous-entend que je devrais faire disparaitre l'entité CARAC_VIN c'est bien ça?
    Oui, comme déjà suggéré dans l'autre discussion.

    certains vins étrangers non pas d'appellation, et dans ce cas comment faire? Je n'aurais plus rien pour relier PRODUIT aux restes des entités relatives au vin.
    Un produit a toujours un nom.
    Je vais chercher une bouteille de ma cave pour donner un exemple français qui, je pense, doit pouvoir s'appliquer aussi aux vins étrangers.

    J'ai devant moi une bouteille de Bourgogne "Chorey-les-Beaune". Ce nom n'est pas suffisant en tant que produit parce que "Chorey-Les-Beaune" est une AOC de Bourgogne. Il s'appelle en plus "Les Muriers", est "sélectionné par Pierre Laforest, négociant à Vougeot".

    Pour moi, le nom complet du produit pourrait être "Chorey-Les-Beaune, Les Muriers". Je pense que pour les vins étrangers, tu dois pouvoir trouver de même un nom qui distinguerait un Chardonnet d'Australie d'un autre : le nom du producteur par exemple.

    Dès lors chaque vin ainsi identifié sans ambiguïté a un certain nombre de caractéristiques qui sont soit définies par son AOC, soit par des associations individuelles avec ces caractéristiques (cépages, région, pays...).

    Ce que tu peux faire, comme je l'avais compris au début dans l'autre discussion, c'est un héritage de Produit vers Vin_a_appellation et Autre_Vin par exemple. Ces derniers ne seraient en association qu'avec Appellation qui elle-même serait associée à ses différentes caractéristiques.

    Produit -0,1----Etre----(1,1)- Vin_a_appellation -1,1----Caractériser----0,n- Appellation
    |-------0,1----Etre----(1,1)- Autre_Vin

    Autre_Vin -1,1----Venir_de----0,n- Pays
    |----------1,n----Avoir----0,n- Cepage

    Appellation -1,1----Venir_de----0,n- Région -1,1----Situer----0,n- Pays
    |-----------1,n----Avoir----0,n- Cepage

    À affiner mais c'est l'idée.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Bonjour CinePhil et encore une fois merci pour tes remarques.

    Je suis désolé de ne pas avoir répondu avant mais d'une part je n'avais pas trop de temps ces derniers jours, et d'autre part j'ai du faire quelques recherches parce que je ne connais rien et n'ai jamais utilisé d'héritage. J'ai donc du me documenter un peu avant de pouvoir te répondre, et comprendre de quoi tu me parlais.

    Je ne suis pas devenu un expert en quelques jours loin de là, je me documente encore sur le sujet. Donc pas de panique si mes prochaines remarques te paraissent vides de sens, comme le vin je vais me bonifier avec le temps.

    J'ai essayé de faire un héritage en test comme tu me l'avais conseillé entre 'Produit', 'Vin_d_appellation', et 'Autre_vin'.

    Lien vers le schéma du MCD

    Dans ce cas l'héritage est exclusif, un produit est soit un vin d'appellation, soit un vin sans appellation.

    Par contre je ne comprends pas le choix de l'héritage pour:
    Autre_Vin -1,1----Venir_de----0,n- Pays
    |----------1,n----Avoir----0,n- Cepage
    Un vin sans appellation doit pouvoir être relié à un pays et un cépage.

    Ni pour l'héritage suivant:
    Appellation -1,1----Venir_de----0,n- Région -1,1----Situer----0,n- Pays
    |-----------1,n----Avoir----0,n- Cepage
    Une appellation doit pouvoir être relié à une région( et un pays) et un cépage.

    Peut-être existe t-il des héritages non-exclusifs ? Dans ce cas en effet cela pourrait être utile. Je dois me pencher sur ce problème avant de me décider.

    Par contre que penses-tu de mon idée de créer une entité 'Localisation' qui regroupe la région et le pays ? Cela me semble dans "l'esprit Merise" et en plus cela simplifie les connexions entre les différentes entités.

    Voilà, pour la suite je vais essayer d'aller plus vite, j'ai plus de temps à partir de demain, je vais pouvoir bosser dessus ce week-end.
    Je vais également poster un commentaire plus tard dans la soirée sur la première partie de ton message :
    Un produit a toujours un nom.
    Je vais chercher une bouteille de ma cave pour donner un exemple français qui, je pense, doit pouvoir s'appliquer aussi aux vins étrangers.

    J'ai devant moi une bouteille de Bourgogne "Chorey-les-Beaune". Ce nom n'est pas suffisant en tant que produit parce que "Chorey-Les-Beaune" est une AOC de Bourgogne. Il s'appelle en plus "Les Muriers", est "sélectionné par Pierre Laforest, négociant à Vougeot".

    Pour moi, le nom complet du produit pourrait être "Chorey-Les-Beaune, Les Muriers". Je pense que pour les vins étrangers, tu dois pouvoir trouver de même un nom qui distinguerait un Chardonnet d'Australie d'un autre : le nom du producteur par exemple.

    Dès lors chaque vin ainsi identifié sans ambiguïté a un certain nombre de caractéristiques qui sont soit définies par son AOC, soit par des associations individuelles avec ces caractéristiques (cépages, région, pays...).
    Mais comme je voudrais l'illustrer d'un ou deux exemples je vais faire ça après souper, c'est un peu long donc ça sera envoyer en fin de soirée.

    Merci pour ta patience.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par BLJ.CHAUVIN Voir le message
    J'ai essayé de faire un héritage en test comme tu me l'avais conseillé entre 'Produit', 'Vin_d_appellation', et 'Autre_vin'.

    Lien vers le schéma du MCD

    Dans ce cas l'héritage est exclusif, un produit est soit un vin d'appellation, soit un vin sans appellation.
    Pour ce qui est du vin, ton schéma est OK. Mais il me semble que tous tes produits ne sont pas des vins ?
    En toute logique, il te faudrait donc compléter cet héritage d'une entité sans attribut nommée par exemple Autre_produit.

    Par contre je ne comprends pas le choix de l'héritage pour:
    Autre_Vin -1,1----Venir_de----0,n- Pays
    |----------1,n----Avoir----0,n- Cepage
    Un vin sans appellation doit pouvoir être relié à un pays et un cépage.

    Ni pour l'héritage suivant:
    Appellation -1,1----Venir_de----0,n- Région -1,1----Situer----0,n- Pays
    |-----------1,n----Avoir----0,n- Cepage
    Une appellation doit pouvoir être relié à une région( et un pays) et un cépage.
    Il ne s'agit plus dans ces deux cas d'héritages !
    Je vais prendre un autre exemple...

    "Une entreprise enregistre des données sur des personnes qui sont soit des employés, soit des contacts."
    MCD :
    Employe -(1,1)----Être----0,1- Personne
    Contact -(1,1)----Être----0,1----------|

    Remarque les cardinalités (1,1) entourées de parenthèses, ce qui signifie une identification relative, c'est à dire que l'identifiant de l'employé ou du contact sera celui de la personne. Remarque également l'emploi du verbe Être.

    Et moi je remarque au passage que tu as ajouté un identifiant propre aux entités filles dans ton MCD, ce qui est inutile. Tu dois supprimer id_autre_vin et id_vin_d_appellation !

    "Parmi les employés, les cadres ont des primes sur objectif et les autres ont une prime de transport dépendant de la distance de leur domicile à leur lieu de travail."
    On fait de nouveau un héritage pour ces deux catégories d'employés.
    MCD :
    Cadre -(1,1)----Être-----------------0,1- Employe
    Autre_employe -(1,1)----Être----0,1----------|

    "Parmi les cadres, il y a des directeurs d'agence qui ont un véhicule de fonction et dirigent une agence et des chefs de service qui dirigent un service mais n'ont pas de voiture de fonction."
    Il y a donc d'abord à modéliser un nouvel héritage.
    MCD :
    Directeur_agence -(1,1)----Être--0,1- Cadre
    Chef_service -(1,1)----Être----0,1----------|

    Et ces dernières entités filles ont des associations spécifiques :
    Directeur_agence -1,1----Diriger----0,1- Agence
    |---------------------------1,1----Avoir----0,1- Vehicule

    Chef_service -1,1----Diriger----0,1- Service

    Remarque qu'il n'y a plus d'identification relative ni le verbe Être. Ce n'est plus de l'héritage et ces associations existent indépendamment les unes des autres.

    Peut-être existe t-il des héritages non-exclusifs ? Dans ce cas en effet cela pourrait être utile. Je dois me pencher sur ce problème avant de me décider.
    Ou cela existe aussi.
    "Parmi les autres employés, certains sont des ingénieurs spécialistes d'une technologie, certains sont des technico-commerciaux en charge d'un secteur et certains technico-commerciaux peuvent être des ingénieurs."
    Autre_employe -0,1----Être----(1,1)- Ingénieur -1,n----Spécialiser----0,n- Technologie
    |-----------------------0,1----Être----(1,1)- Technico-commercial -1,1----Prospecter----0,n- Secteur

    Retour de l'identification relative et du verbe être : il s'agit bien d'un héritage. Mais on ne marquera pas d'exclusivité dans le symbole de l'héritage tel que tu l'as représenté dans ton schéma.

    Par contre que penses-tu de mon idée de créer une entité 'Localisation' qui regroupe la région et le pays ? Cela me semble dans "l'esprit Merise" et en plus cela simplifie les connexions entre les différentes entités.
    Soit les pays suivants :
    1 / France
    2 / Espagne

    Soit les régions suivantes :
    1 / Bourgogne
    2 / Pays de Loire
    3 / Catalogne

    Rien n'interdit dans ton MCD les localisations suivantes :
    Id_localisation / Id_Region / Id_Pays
    1 / 1 / 1 => 1 / Bourgogne / France => OK
    2 / 2 / 1 => 2 / Pays de Loire / France => OK
    3 / 3 / 2 => 3 / Catalogne / Espagne => OK
    4 / 1 / 2 => 4 / Bourgogne / Espagne => KO !

    Une région n'est que dans un seul pays et le bon MCD est celui-ci :
    Région -1,1----Situer----0,n- Pays

    Et donc une appellation est produite dans une région qui est située dans un pays :
    Appellation -1,1----Produire----0,n- Région -1,1----Situer----0,n- Pays
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    J'ai tenté de suivre exactement la méthode que tu me proposes CinePhil et je crois qu'en effet elle est logique.

    voir le nouveau schéma du MCD

    J'ai juste ajouté trois entités pour gérer les comptes de employés qui utiliseront le site, mais il ne devrait pas avoir de problème puisque je me suis inspiré d'un autre message sur le sujet.

    Pourtant je rencontre quand même un problème pendant le passage MCD > MPD.

    En effet en suivant la méthode que tu me conseilles je me retrouve avec 3 entités vides ('vin_avec_appel', 'vin_sans_appel' et 'autre_produit'). Du coup quand je génère le Modèle Physique de Données avec PowerAMC cela fait disparaitre complètement ces 3 entités et je me retrouve plus qu'avec un seul type de produit (plus de distinction entre les vin avec appellation, les vin sans appellation, et les autres produits).

    Donc retour à la case départ, tous mes vins ont une appellation, un cépage, etc...

    Est-ce que je dois effectuer un traitement spécial à mon MCD avant de le passer en MDP du fait de mon héritage?
    Est-ce normal d'avoir des entités totalement vides?


    Par ailleurs, je suis complètement d'accord avec toi quand tu dis:
    Rien n'interdit dans ton MCD les localisations suivantes :
    Id_localisation / Id_Region / Id_Pays
    1 / 1 / 1 => 1 / Bourgogne / France => OK
    2 / 2 / 1 => 2 / Pays de Loire / France => OK
    3 / 3 / 2 => 3 / Catalogne / Espagne => OK
    4 / 1 / 2 => 4 / Bourgogne / Espagne => KO !
    Du coup je me pose des questions : "Est-ce que ce genre d'erreur de traitement ne pourrait pas avoir lieu dans d'autres cas de figure?"

    Par exemple prenons un produit dont le produit_lib est 'Gougère' (spécialité bourguignonne à base de pâte à choux et de fromage). Ce produit va donc avoir pour categorie_produit 'amuses-bouche' vu qu'il est proposé en apéritif. Rien n'empêche dans le système tel qu'il est conçu que ce produit soit classé au passage de l'héritage comme un 'vin_avec_appel' ?

    C'est bizarre mais plus j'avance sur ce projet, plus je me pose de questions et plus... je stagne.

    En tout cas chapeau pour ta patience, je comprendrais que tu jettes l'éponge depuis le temps que je t'embête avec ça.

    Moi même j'ai bien failli abandonner... Mais à la place j'ai acheter un gros bouquin sur le sujet que j'ai commencé à potasser. (Bases de données : concepts, utilisation et développement. de Jean-Luc Hainaut chez Dunod)

    ps: la pièce jointe est mon fichier de PowerAMC, si jamais tu l'utilises aussi, il t'aidera peut-être plus que mes schémas qui font mal aux yeux.
    Fichiers attachés Fichiers attachés

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par BLJ.CHAUVIN Voir le message
    J'ai tenté de suivre exactement la méthode que tu me proposes CinePhil et je crois qu'en effet elle est logique.

    voir le nouveau schéma du MCD

    J'ai juste ajouté trois entités pour gérer les compteurs de employés qui utiliseront le site, mais il ne devrait pas avoir de problème puisque je me suis inspiré d'un autre message sur le sujet.

    Pourtant je rencontre quand même un problème pendant le passage MCD > MPD.

    En effet en suivant la méthode que tu me conseilles je me retrouve avec 3 entités vides ('vin_avec_appel', 'vin_sans_appel' et 'autre_produit'). Du coup quand je génère le Modèle Physique de Données avec PowerAMC cela fait disparaitre complètement ces 3 entités et je me retrouve plus qu'avec un seul type de produit (plus de distinction entre les vin avec appellation, les vin sans appellation, et les autres produits).

    Donc retour à la case départ, tous mes vins ont une appellation, un cépage, etc...

    Est-ce que je dois effectuer un traitement spécial à mon MCD avant de le passer en MDP du fait de mon héritage?
    Est-ce normal d'avoir des entités totalement vides?
    Là il faudrait un spécialiste de PowerAMC que je n'ai pas encore commencé à utiliser, bien que, à ce qu'il parait, on l'ait acheté au boulot.

    Par exemple prenons un produit dont le produit_lib est 'Gougère' (spécialité bourguignonne à base de pâte à choux et de fromage). Ce produit va donc avoir pour categorie_produit 'amuses-bouche' vu qu'il est proposé en apéritif. Rien n'empêche dans le système tel qu'il est conçu que ce produit soit classé au passage de l'héritage comme un 'vin_avec_appel' ?
    Une solution est d'associer 'categorie_produit' à 'autre_produit' et non pas à 'produit'. Évidemment, dans ce cas, tu n'as plus de catégorie de produit 'vin', ce qui serait d'ailleurs redondant avec l'héritage.

    En tout cas chapeau pour ta patience, je comprendrais que tu jettes l'éponge depuis le temps que je t'embête avec ça.
    Tu n'auras qu'à m'inviter dans ton restaurant !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    Citation Envoyé par CinePhil Voir le message
    Citation Envoyé par BLJ.CHAUVIN Voir le message
    en suivant la méthode que tu me conseilles je me retrouve avec 3 entités vides ('vin_avec_appel', 'vin_sans_appel' et 'autre_produit'). Du coup quand je génère le Modèle Physique de Données avec PowerAMC cela fait disparaitre complètement ces 3 entités et je me retrouve plus qu'avec un seul type de produit (plus de distinction entre les vin avec appellation, les vin sans appellation, et les autres produits).
    Là il faudrait un spécialiste de PowerAMC
    Sur la base de ce bout de MCD :



    Si vous cochez les bonnes cases et les bons boutons, ça devrait aller :
    =>
    (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.

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Noël ! Noël ! Mes amis j'ai l'impression que nous avons enfin vaincu le dragon MCD. Merci aux deux interlocuteurs qui n'ont pas hésitez au péril de leur vie à prendre part au combat. Grâce à eux nous avons triomphé. Gloire à nos héros!

    Voir la dernière version du MCD

    Je pense en effet que cette fois c'est la bonne, j'ai modifié les derniers petits détails qui gênaient encore :
    1. J'ai rattaché l'entité 'Menu' à l'entité 'Produit' plutôt que 'Autre_produit' au cas où on voudrait ajouter des vins dans un menu).

    2. J'ai déplacé l'entité 'Categorie_Produit' (vers l'entité 'Autre_produit' pour éviter les incohérences relevées dans le message d'hier. ('Gougère' qui serait en 'vin_avec_appel')

    3. J'ai créer une entité 'Categorie_vin' reliée à 'Vin_avec_appel' et 'Vin_sans_appel'. Cette entité n'a pas d'association réflexive contrairement à sa consoeur 'Categorie_produit', en effet pas besoin de de super-catégorie tous les produits dans ces entités sont du vin, il suffira donc de différencier 'vin rouge de 'vin blanc', 'vin rosé' ou 'vin pétillant'.

    J'ai réussi à régler le problème d'héritage grâce aux bons conseils de fsmrel, merci à lui.

    Et biensûr un special thanks à CinePhil que j'inviterai avec joie dans le restaurant d'un ami dès qu'il passe sur Nantes (moi je ne cuisine pas, je suis technicien de maintenance informatique ).

    S'il n'y a pas de remarque d'ici lundi soir sur d'éventuelles erreurs cachées, j'aurai l'immense plaisir d'accoler le tag [résolu] à ce billet.

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par BLJ.CHAUVIN Voir le message
    Et biensûr un special thanks à CinePhil que j'inviterai avec joie dans le restaurant d'un ami dès qu'il passe sur Nantes (moi je ne cuisine pas, je suis technicien de maintenance informatique ).
    Je suis en vacances et je n'ai encore prévu aucun déplacement lointain. Nantes fait partie des endroits que j'aimerais voir en tout cas. Mais peut-être pas cette année.

    Merci pour l'invitation en tout cas.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Un défi à relever : produire un MLD tel que chaque attribut de chaque table soit NOT NULL (le bonhomme NULL, voilà l'ennemi...)

    Bonnes vacances à CinePhil qui les a bien mérité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.

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 50
    Points
    50
    Par défaut :resolu: Classification du vin
    D'après mes tests le résultat est convaincant. Je ferme donc le sujet.

    THX


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

Discussions similaires

  1. Classification automatique de documents
    Par camboui dans le forum Intelligence artificielle
    Réponses: 10
    Dernier message: 22/11/2011, 23h24
  2. Réponses: 1
    Dernier message: 06/10/2006, 16h38
  3. DARPA et classification des attaques !
    Par condor_01 dans le forum Sécurité
    Réponses: 2
    Dernier message: 23/09/2006, 15h13
  4. classification des erreurs d'intégritées
    Par tanjonaravelson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/09/2005, 09h55
  5. Réponses: 2
    Dernier message: 02/08/2005, 13h53

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