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

Modélisation Discussion :

problème de MCD [Toutes versions]


Sujet :

Modélisation

  1. #1
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut problème de MCD
    Bonjour à tous,

    Je fais appelle à vous pour nous départager mon collègue et moi.

    Lors de la création de la bibliothèque du CE de l'entreprise, nous avons un différend sur une relation.

    Dans la relation Employé et livre nous avons une cardinalité 0,n du côté des livres et 0,10 du côté des employés.

    Pour moi les emprunts sont dans une table séparées et pour lui c'est dans employés (livre1, date1, livre2 date2 ...livre 10, date 10)

    surtout qu'il faut penser à ceux qui ont empruntés et qui tarde à rendre (tarde veux dire plus d'un an)
    De plus on veut savoir quel livre a été emprunté combien de fois


    merci de me dire qui as raison et qui à tord et surtout pourquoi


    A bientôt
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    7 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 7 865
    Points : 13 267
    Points
    13 267
    Par défaut
    bonjour,
    Pour moi les emprunts sont dans une table séparées et pour lui c'est dans employés (livre1, date1, livre2 date2 ...livre 10, date 10)
    demande à ton collègue combien de colonnes il a prévu pour un employé qui lit beaucoup (sauf si le nombre d'emprunts est limité par employé) ...
    le MCD je m'en suis assez souvent passé dans le passé (sic!) je me basais plutôt dans ce qui se passe dans le monde réel avant le numérique:
    Un employé est unique de par son matricule: c'est la table Employes et il n'y a aucune raison pour qu'on lui interdise de lire autant de livres qu'il veut

    un livre est unique (ou éventuellement exister en plusieurs exemplaires mais dans ce cas ils se trouvent rangés dans les rayonnages et chacun est quand même distinguable ): c'est donc la table Livres.

    On peut se représenter l'emprunt de livres par des fiches dans un boite où sont stockés tous les emprunts, chaque fiche contenant la référence du livre: titre, auteur, genre, numéro (pour le cas évoqué plus haut: livres en plusieurs exemplaires), la date de l'emprunt, la date de restitution et le matricule de l'emprunteur. C'est donc la table Emprunts_Livres.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    12 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 12 250
    Points : 54 890
    Points
    54 890
    Billets dans le blog
    25
    Par défaut
    Salut tous,

    Citation Envoyé par Igloobel Voir le message
    [...]et pour lui c'est dans employés (livre1, date1, livre2 date2 ...livre 10, date 10)
    'tendez, je me sens pas bien

    Quels sont les employés qui ont emprunté au moins une fois le livre "Le Vieil Homme et la Mer" :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT idEmploye, nomEploye FROM tblEmploye
    WHERE livre1 = "Le Vieil Homme et la Mer" OR livre2 = "Le Vieil Homme et la Mer" OR livre3 = "Le Vieil Homme et la Mer" OR ...

    Combien d'emprunts en 2022 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT -Sum( year(date1)=2022 +
                 year(date2)=2022 +
                 year(date3)=2022 +
                 ...
                 year(date10)=2022 ) 
    FROM tblEmploye
    beurk, ce serait quand même plus simple avec un :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM TblEmprunt WHERE year(dateEmprunt)=2022
    non ?

    Et pour faire certaines de regroupements avec comptage, somme, etc., il est plus simple de passer par une sous-requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT idEmploye, Date1 as dateEmprunt, livre1 as livre FROM tblEmploye
    UNION ALL
    SELECT idEmploye, Date2, livre2 FROM tblEmploye
    UNION ALL
    SELECT idEmploye, Date3, livre3 FROM tblEmploye
    UNION ALL
    ...
    UNION ALL
    SELECT idEmploye, Date10, livre10 FROM tblEmploye
    Sous-requête qui remet les colonnes en lignes, que je vais nommer Emprunt (au hasard) et qui ressemble furieusement à la table Emprunt qu'on a voulu s'épargner au départ. Avec tout un tas de champs dateX ou livreX à Null et qu'il faut gérer.

    Il sent pas bon ce modèle (et faut tout reprendre le jour où on peut passer à 11 livres)

  4. #4
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    MERCI d'ajouter de l'eau à mon moulin

    Je vais pouvoir insister pour rajouter cette table emprunt que je voulais ajouter

    Je plussoie vos réponses.


    Bonne continuation
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

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

Discussions similaires

  1. Problème passage MCD > Access
    Par c_bou98 dans le forum Modélisation
    Réponses: 1
    Dernier message: 30/11/2013, 14h44
  2. [MCD] Problème de MCD ou simplement de requête ?
    Par tavarlindar dans le forum Schéma
    Réponses: 8
    Dernier message: 05/06/2013, 19h30
  3. problème en MCD
    Par khaoulamr dans le forum Merise
    Réponses: 1
    Dernier message: 22/02/2013, 16h59
  4. probléme avec mcd et schéma relationnel
    Par ranell dans le forum Schéma
    Réponses: 3
    Dernier message: 19/03/2008, 14h25
  5. problème avec mcd héritage
    Par minooo dans le forum Schéma
    Réponses: 4
    Dernier message: 16/01/2008, 10h57

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