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 de pièces détachées


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut Classification de pièces détachées
    Bonjour,

    J'ai une question concernant une relation de type 0..n ou 1...n.
    Je possède une entité série (id,nom) et une entité famille(id,nom,"id_serie")
    Ma question est la suivante, il y a plusieurs familles possibles en fonction de la série (jusque là facile), cependant entre 2 séries, il peut y avoir des familles en communs.
    Donc est ce que si j'ai deux fois la famille résistances: il faut que dans ma table famille j'ai 2 uplets de Résistances avec un idSerie différents évidemment ?
    Est ce que cette méthode est bonne ?

    EDIT: Ou alors je fait une table: rle_SerieFamille et je lie les id de Famille avec les id de Serie, mais cela signifie qu'il faille déjà créer la famille avant de la lier avec une série.

    Nom : MCD_4.0.PNG
Affichages : 1870
Taille : 27,1 Ko

    Voici mon MCD:
    Avec:

    R001a: Une série peut avoir 0 ou N Lieux ( 0 est illogique mais au moment de la saisie plus simple)
    R001b: Un Lieux est concerné par 0 ou N Série.
    R002a: Un Organe appartient à 0 ou 1 Famille.
    R002b: Une Famille possède 0 à N Organes.
    R003a: Un organe est à 0 ou N Emplacement
    R003b: Un Emplacement concerne 0 ou plusieurs organes.
    R004a: Une Série possède 0 ou N Organes
    R004b: Un Organe est possédé/concerne 0 ou UNE SEULE série. (PS: il y a une faute sur le MCD entre Organe -1-1---Appartenir--0-N---Série)

  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
    Bonsoir Gaël,


    Citation Envoyé par LecGaël Voir le message
    Je possède une entité série
    Une entité est une instance (une valeur) d’une entité-type (type d’entité). SERIE est donc une entité-type.


    Citation Envoyé par LecGaël Voir le message
    entre 2 séries, il peut y avoir des familles en commun
    Il existe donc une association entre les entités-types SERIE et FAMILLE :


    [SERIE]----0,N----(AFFECTATION)----0,N----[FAMILLE]


    Selon la règle R002a, un organe appartient à 0 ou une famille. Dans ce qui suit, je ne prends en considération que les organes appartenant à au moins une famille, pour les autres on verra ça plus tard.

    Selon la règle R004b, un organe concerne 0 ou une série. Dans ce qui suit, je ne prends en considération que les organes concernant au moins une série, pour les autres on verra ça plus tard.

    On ne s’intéresse donc ici qu’aux organes référençant au moins et au plus une famille, et au moins et au plus une série.

    Cela dit, avec l’association AFFECTATION, on a défini ci-dessus les associations légales entre les séries et les familles : comme un organe fait référence à une famille et à une série, un organe fait nécessairement référence à une affectation :


    [ORGANE]----1,1----(REFERENCER)----0,N----(AFFECTATION)


    Mais dans cette représentation, survient alors un problème technique merisien : il est interdit dans un MCD d’associer une entité-type (à savoir ORGANE) à une association (à savoir AFFECTATION). Même pas grave, on va déguiser AFFECTATION en entité-type :


    [SERIE]----0,N----(R1)----1,1----[AFFECTATION]----1,1----(R2)----0,N----[FAMILLE]
    

    On prend la précaution d’identifier AFFECTATION relativement à SERIE et à FAMILLE, pour que les attributs serieId et familleId qui les identifient constituent aussi l’identifiant de l’entité-type AFFECTATION (cardinalités 1,1 mises entre parenthèses) :


    [SERIE]----0,N----(R1)----(1,1)----[AFFECTATION]----(1,1)----(R2)----0,N----[FAMILLE]
    

    Et on associe ORGANE à AFFECTATION (en supprimant les liens rendus inutiles entre ORGANE et SERIE et FAMILLE) :


    [SERIE]----0,N----(R1)----(1,1)----[AFFECTATION]----(1,1)----(R2)----0,N----[FAMILLE]
                                            |
                                            |
                                            |
                                           0,N
                                            |
                                            |
                                            |
                                       (IMPLIQUER)
                                            |
                                            |
                                            |
                                           1,1
                                            |
                                            |
                                            |
                                         [ORGANE]
    
    

    Ainsi on a la garantie que chaque organe est légitimement, validement associé à une série et à une famille.
    (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
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Outre les explications fort judicieuses de Fsmrel, j'ajoute un commentaire sur le point suivant :

    Citation Envoyé par LecGaël Voir le message
    Je possède une entité série (id,nom) et une entité famille(id,nom,"id_serie")
    Au niveau conceptuel (MCD), les entités-type ne possèdent jamais d'attributs hérités d'autres entités-type.
    Donc, l'identifiant "id_série" n'a absolument rien à faire dans l'entité-type famille.

    C'est au niveau tabulaire seulement (MLD et MPD) que, dans certains cas, l'identifiant issu d'une autre Entité-type est dupliqué. Mais ce ne sera toutefois pas le cas ici, relation n-n oblige

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Merci pour vos réponses, donc si je comprends bien au niveau logique je dois supprimer les relations inutiles entre organe, famille et série et créer une "entité type" qui regrouperait l'id de l'organe avec l'id de la famille et de la série ?
    Dans cette table il me faudra donc l'id de la série et de la famille, ce qui ressemblerait à la table que j'ai déjà fait.
    et une autre table qui associe cette table "AFFECTATION" avec les organes ?

    Merci encore

    EDIT: Je désespère un peu là, le cahier des charge à encore changé... jusqu'à maintenant on peut voir sur mon MCD qu'un Organe à un attribut symbole, qu'il est concerné par 0 ou 1 Serie.
    Et la changement de plan, un Organe peut être concerné par plusieurs séries, et le n° de symbole peut dépendre de la série.
    Ce qui change ma règle R004b : Un organe est concerné par 0 OU N Serie
    J'en déduis donc qu'il faut créer une entité type symbole, qui dépend donc de la série ET de l'organe... ce serait donc une relation ternaire ?
    Ou alors au niveau Logique, la table d'association entre l'organe et la serie pourrait avoir un champ numéro de symbole ? ce qui me titille un peu, j'ai envie d'anticiper le prochain changement de "consignes" si un organe concerné par une série possède 0 à plusieurs n° de symbole.
    Je pense donc qu'il faut quand même songé à faire une entité type Symbole.

    Voici le "nouveau" MCD.
    Nom : MCD5.0.PNG
Affichages : 1467
Taille : 44,2 Ko
    et donc le MLD:
    Nom : MLD_5.0.PNG
Affichages : 1508
Taille : 77,6 Ko

    D'ailleurs je n'ai pas trouvé comment bouger mon topic dans la rubrique "Schéma"

  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 Gaël,


    Je réponds d’abord à la partie de votre message posté avant votre [EDIT] du post #4.


    Citation Envoyé par LecGaël Voir le message
    Ou alors je fait une table: rle_SerieFamille et je lie les id de Famille avec les id de Serie, mais cela signifie qu'il faille déjà créer la famille avant de la lier avec une série.
    Il faut évidemment créer l’entité-type rle_SerieFamille (que j’ai renommée en AFFECTATION) après avoir préalablement créé les entités-types SERIE et FAMILLE.


    Citation Envoyé par LecGaël Voir le message
    si je comprends bien au niveau logique je dois supprimer les relations inutiles entre organe, famille et série et créer une "entité type" qui regrouperait l'id de l'organe avec l'id de la famille et de la série ?
    Le MCD que je vous ai proposé (post #2) établit les liens entre SERIE et FAMILLE, au moyen de l’entité-type AFFECTATION évoquée ci-dessus, qui est donc une entité-type associative et, au moyen du procédé d’identification relative, l’identifiant d’AFFECTATION est alors la paire {serieId, familleId}.

    A son tour, ORGANE fait référence à AFFECTATION et surtout pas aux autres entités-types, sinon il y aurait une redondance plus que redoutable et fâcheuse.


    MLD correspondant :

    Nom : lecgael_serie_famille_mld.png
Affichages : 1361
Taille : 9,3 Ko

    SQL :

    CREATE TABLE SERIE 
    (
            serieId                  INT                      NOT NULL
          , SerieNom                 VARCHAR(48)              NOT NULL
        , CONSTRAINT SERIE_PK PRIMARY KEY (serieId)
    ) 
    ;
    CREATE TABLE FAMILLE 
    (
            familleId               INT                      NOT NULL
          , familleNom              VARCHAR(48)              NOT NULL
        , CONSTRAINT FAMILLE_PK PRIMARY KEY (familleId)
    ) 
    ;
    CREATE TABLE AFFECTATION 
    (
            serieId                INT                      NOT NULL
          , familleId              INT                      NOT NULL
        , CONSTRAINT AFFECTATION_PK PRIMARY KEY (serieId, familleId)
        , CONSTRAINT AFFECTATION_SERIE_FK FOREIGN KEY (serieId)
              REFERENCES SERIE (serieId)
        , CONSTRAINT AFFECTATION_FAMILLE_FK FOREIGN KEY (familleId)
          REFERENCES FAMILLE (familleId)
    ) 
    ;
    CREATE TABLE ORGANE 
    (
            organeId               INT                      NOT NULL
          , serieId                INT                      NOT NULL
          , familleId              INT                      NOT NULL
          , organeNom              VARCHAR(48)              NOT NULL
          , organeSymbole          VARCHAR(8)               NOT NULL
        , CONSTRAINT ORGANE_PK PRIMARY KEY (organeId)
        , CONSTRAINT ORGANE_AFFECTATION_FK FOREIGN KEY (serieId, familleId)
              REFERENCES AFFECTATION (serieId, familleId)
        , CONSTRAINT SYMBOLE_AK UNIQUE (organeNom)
    ) 
    ;
    

    Mais bien sûr, tout ceci est remis en cause, rendu caduc avec votre post #4 : pas de problème pour autant, vingt fois sur le métier remettons notre ouvrage et les compteurs à zéro, on efface tout et on recommence.


    Passons donc à la partie [EDIT] du post #4.

    Dans votre 1er message, vous aviez écrit :

    « il y a plusieurs familles possibles en fonction de la série (jusque là facile), cependant entre 2 séries, il peut y avoir des familles en commun ».

    Dans votre dernier MCD, les relations entre familles et les séries sont absentes. Ces relations n’existent donc plus ? Tenez en permanence l’intégrale des règles de gestion à jour, sinon on ne sait plus distinguer le vrai du faux (lequel a toujours le dernier mot...) Le moindre MCD doit être le reflet exact de ces règles. Ici, on est loin du compte ! Ainsi, avant chaque MCD, en cas de changement fournissez la liste complète des règles dont il est la conséquence.


    Concernant les symboles :

    Qu’est-ce qu’un symbole ? celui du tableau de Mendeleïev ? du tableau des symboles mathématiques ? électriques ? d’entretien des textiles ? Il est des situations où il ne faut pas hésiter à bien expliquer ce qu’on a dans le crâne pour que l’interlocuteur ait une vision claire des choses (voyez par exemple les taux de consommation dans le billet « Modélisation des données, nécessité d’une présentation suffisante du sujet à traiter »).

    Vous faites participer une entité-type SYMBOLE à une ternaire. Pour mettre en oeuvre des ternaires, il faut être sûr de son coup. Quelles sont les relations entre les séries et les symboles ? Si l’on en croit votre MCD précédent, un symbole peut être associé à plusieurs séries et une série peut être associée à plusieurs symboles. : merci de fournir la règle de gestion à appliquer correspondante. En attendant, même si ça a l’air abscons, sous sa forme présente votre ternaire signifie ceci :

    — (a) L’association de 0 à N pièces et de 0 à N séries ne prend son sens que si à cette association participent nécessairement aussi de 0 à N symboles ;

    — (b) L’association de 0 à N pièces et de 0 à N symboles ne prend son sens que si à cette association participent nécessairement aussi de 0 à N séries ;

    — (c) L’association de 0 à N symboles et de 0 à N séries ne prend son sens que si à cette association participent nécessairement aussi de 0 à N pièces.

    Maintenant, quand vous écrivez :

    « Ou alors au niveau logique, la table d'association entre l'organe et la série pourrait avoir un champ numéro de symbole ? »

    Là encore, tout dépend des règles de gestion. Si vous êtes en mesure d’affirmer la validité de la règle :

    « Pour un organe et une série il y a au moins et au plus un symbole »

    alors oubliez la ternaire et faites porter un attribut Symbole par une binaire associant ORGANE et SERIE (en supposant qu’un organe (devenu pièce ?) est associable à plus d’une série, car avec vos modifications on ne sait plus très bien où on en est à ce sujet, d’où la nécessité que vous refournissiez la liste exacte et complète des règles de gestion). N’oubliez pas qu’une association peut être porteuse d’attribut, voyez la référence Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001) (D. Nanci (RIP) et B. Espinasse), page 101, « Propriétés d’une relation type ».


    D’une façon générale

    Il n’est pas facile de vous suivre, car au fil des posts et sans explication, des entités-types naissent, meurent ou se transforment spontanément... Dans votre dernier MCD, à quoi correspond l’entité-type EQUIPEMENT ? Expliquez ce qu’est un équipement, donnez des exemples, quelle relation entre les équipements et les pièces, entre les équipements et les séries ? (sans parler de boucle redoutable entre PIECE, EQUIPEMENT et SERIE...) Quand j’ai fait mon service militaire, on m’avait fourni un équipement, mais je doute qu’il s’agisse de ce qui vous intéresse... A quoi correspond l’entité-type PIECE dont vous ne fournissez aucune définition ? Une pièce de théâtre ? de tissu ? Pourquoi deux fois cette entité-type (PIECE, _PIECE) ? On peut supposer que vous voulez mettre en oeuvre une nomenclature de pièces, mais alors ça n’est pas comme vous l’avez fait qu’on procède habituellement, on utilise une association réflexive :

                   [PIECE]
                    |   |               
                    |   |               
                  0,N   0,N
                    |   |               
                    |   |               
                (COMPOSITION)
    
    Sous la forme MLD, voyez les ailes d’avion, leurs ailerons et boulons :


    Mais peut-être vous êtes-vous laissé influencer par ACCESS ? (qui est à côté de la plaque, délinquant quant à la façon de dessiner les nomenclatures).

    A ce sujet : exemple de ce que nous impose ACCESS quant à la nomenclature des produits :


    Si c’est à cause d’ACCESS que vous avez modélisé ainsi, fournissez d’abord une version normale et seulement après cela la version fautive imposée par ACCESS.


    Divers

    Selon votre dernier MCD, une famille est associée à au plus une pièce. Est-ce bien raisonnable ?

    Comme je l’ai dit plus haut, avant de fournir le moindre MCD, il faut le faire précéder de la liste des règles de gestion (dont il n’est que la conséquence sous forme graphique) dès que ces règles changent.

    Etant donné que les entités-types FAMILLE et PIECE sont associées, l’attribut « Famille » n’a pas à figurer dans l’entité-type PIECE.

    Pourquoi l’entité-type _PIECE jumelle de PIECE comporte-t-elle un attribut « Symbole » ?

    A propos des règles de gestion. Vous écrivez dans votre 1er post :

    « R001a: Une série peut avoir 0 ou N Lieux (0 est illogique mais au moment de la saisie plus simple) »

    On ne modélise pas la facilité de saisie (le « quand / comment »), mais on modélise la finalité (en l’occurrence, une série est associée à au moins un lieu).

    Etc.

    Inutile de préciser que votre dernier MCD est à reprendre complètement... Désolé. Présentez à nouveau les règles de gestion des données. Courage...
    (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
    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 LecGaël
    Je n'ai pas trouvé comment bouger mon topic dans la rubrique "Schéma"
    Il semble que pour tout déplacement de discussion il faille solliciter un modérateur :

    « Comment faire pour déplacer mon message ou ma discussion ? Contactez un modérateur du forum en question. »
    (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.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Tout d'abord merci pour toutes ces explications
    Je vais essayer de reprendre, le plus clairement possible.

    Mes règles de gestions actuelles:
    R001a: Une série peut avoir au minimum 1 Lieux
    R001b: Un Lieux est concerné par 1 ou N Série.
    R002a: Un Organe appartient à 0 ou 1 Famille.
    R002b: Une Famille possède 0 à N Organes.
    R004a: Une Série possède 0 ou N Organes
    R004b: Un Organe est possédé/concerne 1 ou N serie (ça a changé)
    R006a: Un Organe compose 0 ou N Organe(Composition)
    R006b: Un Organe est composé de 0 ou N Organe
    Nouvelle règles
    R005a: Un organe possède 0 ou n Symbole
    R005b: Un symbole concerne au minimum 1 Organe.

    Pour ce qui est de la nouvelle règle, ce que je veux réellement modéliser: Le numéro de symbole de l'organe peut être différent d'une série à une autre.
    Exemple: un interrupteur qui appartient à série 1 et série 2 à un numéro de symbole pour série1 et un numéro de symbole pour série2 OU alors le numéro de symbole est le même pour les deux séries.
    La relation ternaire ne semble pas appropriée ^^"
    Nouveau MCD: Nom : MCD_6.0.PNG
Affichages : 1558
Taille : 48,1 Ko
    La règle R005a et R005b, est représenté par l'association Organe------(0,n)---Avoir-----(0,n)----Symbole.
    Je me doute quelle est bancale elle ne prend pas en compte la série.... mais justement c'est là dessus que je bloque....


    Pour ce qui est de Lieux et Série, j'ai mis
    Une série peut avoir au minimum 1 Lieux
    mais lors de la creation d'une nouvelle série on peut ne pas renseigner de Lieux....
    En ce qui concerne vos explications concernant l'entité type Affectation, elle reprend l'id de la Serie et l'id du Lieux mais comment un Organe est lié à affectation hormis l'idFamille et l'idLieux présent Organe.
    J'ai corrigé l'association réflexive pour la composition (je pense :/), en tout cas au niveau MLD, je pense avoir saisie que la composition est une table avec 2 champs, idCompose, idComposant, qui font référence à des id d'Organe, après avec JMerise et mon MCD je ne sais pas si c'est correctement représenté. :/
    Voilà où j'en suis, je vous jure que j'y mets de la bonne volonté mais j'avoue ramer un peu, moins qu'au début mais quand même.

    EDIT:
    J'ai refais la relation réfléxive avec JMerise, après avoir trouvé comment distinguer les liens. Nom : reflexive.PNG
Affichages : 1358
Taille : 10,7 Ko
    Après lecture de la page 101 du livre que vous m'avez indiqué, je pense avoir trouvé une piste (enfin j'espère )
    Si je veux un numéro de symbole propre à l'association Organe Série, il me faut rajouter le numéro de symbole (un attribut donc) à l'association appartenir.
    comme ci dessous:
    Nom : MCD_7.0.PNG
Affichages : 1356
Taille : 46,5 Ko
    OR cela fonctionne si il n'y a qu'un numéro de symbole à chaque association, si j'en veux plusieurs comment faire ?
    Je pense mettre un attribut qui ferait référence à une table qui regrouperait N Symbole pour 1 attribut...

  8. #8
    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 Gaël,


    Pour le moment concentrons-nous sur les symboles...


    Citation Envoyé par LecGaël Voir le message
    cela fonctionne si il n'y a qu'un numéro de symbole à chaque association, si j'en veux plusieurs comment faire ?
    Ainsi, vous souhaitez faire apparaître la règle :

    Pour une série et un organe donnés il y a au moins un symbole et au plus plusieurs.

    Par exemple

    série    organe    symbole
    -----    ------    -------
    s1       o1        y1
    s1       o1        y2
    s1       o1        y3
    
    c’est-à-dire que pour la paire (s1, o1) on a les symboles y1, y2, y3.

    C’est bien cela ?


    A ce stade, des précisions complémentaires sont nécessaires. Questions :

    Pour un organe et un symbole donnés :

    (a) peut-on ne pas avoir de série ?
    (b) a-t-on au moins une série ?
    (c) a-t-on au plus une série ?
    (d) peut-on avoir plusieurs séries ?

    Pour une série et un symbole donnés :

    (e) peut-on ne pas avoir d’organe ?
    (f) a-t-on au moins un organe ?
    (g) a-t-on au plus un organe ?
    (h) peut-on avoir plusieurs organes ?

    N’hésitez pas à illustrer votre réponse par des exemples.
    (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.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonsoir ,

    c’est-à-dire que pour la paire (s1, o1) on a les symboles y1, y2, y3.

    C’est bien cela ?
    Oui c'est bien cela, sauf qu'un organe peut ne pas avoir de numéro de symbole, si on ne l'a pas lors de la saisie par exemple, ou si on a encore jamais commandé cette organe au service des achats...

    A ce stade, des précisions complémentaires sont nécessaires. Questions :

    Pour un organe et un symbole donnés :

    (a) peut-on ne pas avoir de série ?
    (b) a-t-on au moins une série ?
    (c) a-t-on au plus une série ?
    (d) peut-on avoir plusieurs séries ?
    (a) non
    (b) je ne sais pas et avec les boss je me méfie...
    (c) idem que précédemment

    Pour une série et un symbole donnés :

    (e) peut-on ne pas avoir d’organe ?
    (f) a-t-on au moins un organe ?
    (g) a-t-on au plus un organe ?
    (h) peut-on avoir plusieurs organes ?
    (a)oui
    (b)non
    (c) oui, pourquoi ?, car on travail en terme de fonctions, F1,L1,L2 tous des contacteurs, qui peuvent être en réalité la même pièce électrique derrière ?
    pourquoi ne pas réfléchir en terme de pièce électrique ? car on ne peut pas, on a pas toutes les données,...

    EDIT:
    Après réflexion, ce qui me chagrine un peu dans mon MCD actuel serait l'association Organe----etre-----Lieux.
    Car finalement, la nouvelle modélisation implique qu'un organe soit au minimum sur une série (j'avais mis 0,n pour la facilité lors de la saisie, mais vous aviez dit que l'on ne modélise pas la facilité(on verra ce point plus tard ?) En tout cas la meilleure des logique Une Série à forcement des organes. Un organe à forcement une serie.
    Organe---1,n----Être---1,n-----Serie
    Serie ----1,n----possède----1,n---Lieux
    Et finalement, en fonction de la serie l'organe peut avoir 0,n Symbole.
    Donc on pourrait supprimer la relation Organe---être-----Lieux (en jaune) qui fait une boucle bizarre dans le MCD ?

    Voilà voila
    Merci d'avance ! Bonne soirée

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    J'ai modifié mon schéma sur Access pour essayer de réponde au besoin.
    Une organe peut être sur une ou plusieurs série donc au niveau du MLD j'ai:
    Une table série(id_serie,Nom)
    Une table Organe(id_organe,Libelle,...)
    Une table pour représenter l'association(id,id_serie,id_organe,symbole)
    J'ai rajouté un attribut symbole dans cette table et j'ai fait une "triple clef composite", je ne sais pas si c'est la meilleure manière de répondre a ce problème:
    Un organe peut être sur une ou plusieurs série, en fonction de la série sur laquelle il est son OU SES symbole(S) peut(vent) changer.
    Hâte d'avoir votre avis

  11. #11
    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 Gaël,


    Citation Envoyé par LecGaël Voir le message
    un organe peut ne pas avoir de numéro de symbole, si on ne l'a pas lors de la saisie
    Je suppose que vous voulez dire qu’à sa création un organe n’a pas encore nécessairement de symbole. C’est ça ?


    Citation Envoyé par LecGaël Voir le message
    ou si on n’a encore jamais commandé cet organe au service des achats
    Voulez-vous dire que cet organe sera quand même présent dans votre propre base de données ? Avec évidemment au moins un numéro de série, voire plusieurs (post #7, règle R004b).


    Dans mon message précédent, j’ai posé la question suivante :

    Pour un organe et un symbole donnés :

    (a) peut-on ne pas avoir de série ?
    (b) a-t-on au moins une série ?
    (c) a-t-on au plus une série ?
    (d) peut-on avoir plusieurs séries ?

    Et vous avez répondu :

    (a) non
    (b) je ne sais pas et avec les boss je me méfie
    (c) idem

    Pour le point (a) vous avez répondu « non » : d’accord. Cela dit, (a) et (b) sont intentionnellement contradictoires, donc pour le point (b) la réponse doit être « oui », peu importe votre méfiance à l’égard de votre chef.

    Pour le point (c), vous vous en remettez au chef. Dans ces conditions, il faut que celui-ci prenne position et y réfléchisse à deux fois, il s’agit en effet d’un point important influant sur la modélisation.

    Vous n’avez pas répondu pour le point (d), mais d’accord, puisque ça n’est que la contradictoire du point (c).


    J’ai ensuite posé la question suivante :

    Pour une série et un symbole donnés :

    (e) peut-on ne pas avoir d’organe ?
    (f) a-t-on au moins un organe ?
    (g) a-t-on au plus un organe ?
    (h) peut-on avoir plusieurs organes ?

    Faites attention, vous avez remplacé (e), (f), (g) par (a), (b), (c).

    Je vais quand même retenir de votre réponse qu’à une série et un symbole on n’associe pas nécessairement un organe, et quand association il y a, c’est au plus un organe, point important.


    Citation Envoyé par LecGaël Voir le message
    on travaille en terme de fonctions, F1,L1,L2 tous des contacteurs, qui peuvent être en réalité la même pièce électrique derrière ?
    Je n’ai rien compris. Je ne suis pas électricien. En plus vous faites manifestement une salade d’organes, de symboles, de pièces, tandis que le « ? » qui clôt votre phrase détruit définitivement le sens ce celle-ci.


    Citation Envoyé par LecGaël Voir le message
    Une table pour représenter l'association(id,id_serie,id_organe,symbole)
    Vous allez trop vite en besogne, car vous ne prenez pas bien correctement en compte les organes sans symbole, donc les paires (série, organe) correspondantes : l’attribut symbole de votre table prendrait alors la valeur « vide », ce qui le révélateur d’une faiblesse dans la modélisation.

    Vous dites par ailleurs que vous avez fait une "triple clef composite" : quels en sont les éléments parmi les quatre qui composent l’en-tête de la table ?


    Considérons maintenant le tableau suivant, conforme à votre modélisation :

    id    idSerie    idOrgane    symbole
    i1    s1         o1          y1 
    i2    s1         o1          y2
    i3    s1         o2          y1
    i4    s2         o1          y1
    
    La paire <s1, y1> fait référence aux organes o1 et o2 : ceci est illégal ! En cela je me réfère à votre réponse au point (g) (post #9), où vous confirmez que pour une série et un symbole il y a au plus un organe.

    Comme je l’ai écrit plus haut, pour le point (c), vous vous en remettez au chef. Supposons que celui-ci réponde positivement : pour un organe et un symbole, il y a au plus une série ; Comme dans le tableau la paire <o1, y1> fait référence aux séries s1 et s2, alors on tomberait là aussi dans l’illégalité...

    Faisons évoluer la modélisation. Puisqu’un organe n’a pas forcément de symbole associé, (a) on met en oeuvre une entité-type associative COMPOSITION entre SERIE et ORGANE, c’est quand même plus propre que de gérer le vide ; (b) on met en oeuvre une entité-type AFFECTATION permettant l’affectation de symboles aux paires (série, organe) quand les organes ont des symboles :

    [SERIE]----0,N----(R1)----(1,1)----[COMPOSITION]----(1,1)----(R2)----0,N----[ORGANE]
                                            |
                                            |
                                            |
                                           0,N
                                            |
                                            |
                                            |
                                       (IMPLIQUER)
                                            |
                                            |
                                            |
                                          (1,1)
                                            |
                                            |
                                            |
                                        [AFFECTATION]----1,1----(R3)----0,N----[SYMBOLE]
    

    MLD correspondant, où AFFECTATION ne concerne donc que les paires (série, organe) auxquelles sont affectés des symboles.


    Nom : lecgael_symbole_serie_famille_mld.png
Affichages : 1358
Taille : 10,8 Ko


    A propos de la table SYMBOLE

    La table SYMBOLE est ici dotée d’une clé primaire {symboleId} dépourvue de signification, puisque les propriétés naturelles des objets (nom des symboles) étant instables, elles n’ont pas vocation à participer aux clés primaires, sauf chez les inconscients n’ayant pas idée des catastrophes que cela peut provoquer (je vous renvoie à la méditation d’Yves Tabourier). Pour garantir l’unicité du nom des symboles, l’attribut symboleNom donne lieu à une clé alternative (alternate key en anglais), ce que j’ai représenté dans le MLD au moyen de l’abréviation « ak ». Clé primaire et clé alternative sont ce qu’on appelle plus généralement des clés candidates.

    A propos de la table AFFECTATION

    La table AFFECTATION est dotée des attributs serieId, organeId et symboleId. La paire {serieId, organeId} y est clé étrangère par rapport à la clé primaire {serieId, organeId} de la table COMPOSITION. Le singleton {symboleId} y est clé étrangère par rapport à la clé primaire {symboleId} de la table SYMBOLE.

    Observez que le triplet {serieId, organeId, symboleId} n’est pas clé primaire de la table AFFECTATION. En effet une telle clé (qui est en fait ce qu’on appelle plus généralement une clé candidate, comme je viens de le préciser) doit respecter non seulement la règle d’unicité des clés candidates, mais aussi la règle d’irréductibilité de ces clés ; or la paire {serieId, symboleId} respecte déjà les règles d’unicité et d’irréductibilité, elle est donc clé de son plein droit, ce qui fait que l’attribut organeId ne peut pas faire partie de la clé.

    Si en plus le chef tranche et dit que pour un organe et un symbole donnés il y a au plus une série (point (c) précédemment évoqué), alors la paire {organeId, symboleId} est aussi clé candidate, alternative en l’occurrence, ce que j’ai fait figurer dans le MLD au moyen de l’abréviation « ak ». Si le chef dit au contraire que pour un symbole et un organe donnés il peut y avoir plus d’une série, alors on supprimera cette clé alternative.

    Code SQL

    CREATE TABLE SERIE 
    (
            serieId                  INT                      NOT NULL
          , SerieNom                 VARCHAR(48)              NOT NULL
        , CONSTRAINT SERIE_PK PRIMARY KEY (serieId)
    ) 
    ;
    CREATE TABLE SYMBOLE 
    (
            symboleId               INT                      NOT NULL
          , symboleNom              VARCHAR(4)               NOT NULL
        , CONSTRAINT SYMBOLE_PK PRIMARY KEY (symboleId)
        , CONSTRAINT SYMBOLE_AK UNIQUE (symboleNom)
    ) 
    ;
    CREATE TABLE ORGANE 
    (
            organeId               INT                      NOT NULL
          , organeNom              VARCHAR(48)              NOT NULL
        , CONSTRAINT ORGANE_PK PRIMARY KEY (organeId)
    ) 
    ;
    CREATE TABLE COMPOSITION 
    (
            serieId                INT                      NOT NULL
          , organeId               INT                      NOT NULL
        , CONSTRAINT COMPOSITION_PK PRIMARY KEY (serieId, organeId)
        , CONSTRAINT COMPOSITION_SERIE_FK FOREIGN KEY (serieId)
              REFERENCES SERIE (serieId)
        , CONSTRAINT COMPOSITION_ORGANE_FK FOREIGN KEY (organeId)
          REFERENCES ORGANE (organeId)
    ) 
    ;
    CREATE TABLE AFFECTATION 
    (
            serieId                INT                      NOT NULL
          , organeId               INT                      NOT NULL
          , symboleId              INT                      NOT NULL
        , CONSTRAINT AFFECTATION_PK PRIMARY KEY (serieId, symboleId)
        , CONSTRAINT AFFECTATION_AK UNIQUE (organeId, symboleId)
        , CONSTRAINT AFFECTATION_COMPOSITION_FK FOREIGN KEY (serieId, organeId)
              REFERENCES COMPOSITION (serieId, organeId)
        , CONSTRAINT AFFECTATION_SYMBOLE_FK FOREIGN KEY (symboleId)
          REFERENCES SYMBOLE (symboleId)
    ) 
    ;
    

    Diagramme ACCESS (avec sa notation incomplète (où sont les clés alternatives ?), avec ses ficelles stupides, à la ACCESS...)


    Nom : lecgael_symbole_serie_famille_access_''mld''.png
Affichages : 1340
Taille : 29,1 Ko


    Notez les clés candidates dans le contexte ACCESS (ACCESS utilise à tort le terme « INDEX »...) :


    Nom : lecgael_symbole_serie_famille_access_index.png
Affichages : 1322
Taille : 18,9 Ko



    Citation Envoyé par LecGaël Voir le message
    on pourrait supprimer la relation Organe---être-----Lieux (en jaune) qui fait une boucle bizarre dans le MCD ?
    On parlera plus tard de l’étrange bouclage. Pour le moment on en est toujours aux symboles.
    (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.

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Merci pour votre réponse une fois du plus très bien détaillée, merci de votre investissement à mon égard !
    Je vais répondre à vos questions au mieux en essayant d'être le plus clair possible.


    Je suppose que vous voulez dire qu’à sa création un organe n’a pas encore nécessairement de symbole. C’est ça ?
    Oui c'est bien ça.



    Voulez-vous dire que cet organe sera quand même présent dans votre propre base de données ? Avec évidemment au moins un numéro de série, voire plusieurs (post #7, règle R004b).
    Oui également, car il faut imaginer que derrière il y a une IHM qui permet d'ajouter des éléments dans la BDD.


    Dans mon message précédent, j’ai posé la question suivante :

    Pour un organe et un symbole donnés :

    (a) peut-on ne pas avoir de série ?
    (b) a-t-on au moins une série ?
    (c) a-t-on au plus une série ?
    (d) peut-on avoir plusieurs séries ?

    Et vous avez répondu :

    (a) non
    (b) je ne sais pas et avec les boss je me méfie
    (c) idem

    Pour le point (a) vous avez répondu « non » : d’accord. Cela dit, (a) et (b) sont intentionnellement contradictoires, donc pour le point (b) la réponse doit être « oui », peu importe votre méfiance à l’égard de votre chef.

    Pour le point (c), vous vous en remettez au chef. Dans ces conditions, il faut que celui-ci prenne position et y réfléchisse à deux fois, il s’agit en effet d’un point important influant sur la modélisation.
    Vous n’avez pas répondu pour le point (d), mais d’accord, puisque ça n’est que la contradictoire du point (c).
    Je suis en train de faire revoir ces points par mon chef,
    pour le point a je suis sûr à 99% que non.
    pour le point b je suis sûr à 99% que oui.
    pour le point c je pense que non... car si un organe est sur deux séries, il peut très bien avoir le même numéro de symbole. Donc si on cherche o1 s1 cela peut retourner s1 et s2 (je ne parle plus des Lieux mais je pense qu'ils ont une importance dans la modélisation actuelle)
    pour le point d je penses que la réponse c indique qu'il peut y avoir plusieurs séries ^^".


    J’ai ensuite posé la question suivante :

    Pour une série et un symbole donnés :

    (e) peut-on ne pas avoir d’organe ?
    (f) a-t-on au moins un organe ?
    (g) a-t-on au plus un organe ?
    (h) peut-on avoir plusieurs organes ?

    Faites attention, vous avez remplacé (e), (f), (g) par (a), (b), (c).

    Je vais quand même retenir de votre réponse qu’à une série et un symbole on n’associe pas nécessairement un organe, et quand association il y a, c’est au plus un organe, point important.
    Une fois encore j'ai demandé confirmation au chef en lui soulignant que c'était important.
    Pour le point f: pour une série et un symbole on a au moins un organe, (un symbole étant lié à un ou plusieurs organes), on ne peut rentrer de symbole sans rentrer d'organe ça parait abérrant, comme si on rentrait un code barre sans le produit, sauf que dans mon cas il peut y avoir plusieurs codes barres.
    Pour le point g et h j'attends la confirmation je ne peux me prononcer...




    Je n’ai rien compris. Je ne suis pas électricien. En plus vous faites manifestement une salade d’organes, de symboles, de pièces, tandis que le « ? » qui clôt votre phrase détruit définitivement le sens ce celle-ci.
    Un organe est sur 1 ou plusieurs séries différentes.
    Une série a 1 ou plusieurs lieux différents.
    Un organe est sur un ou plusieurs lieux ASSOCIE à sa série :
    Série 1 : Lieux : Bloc 1, Bloc 2, bloc 3,…
    Série 2 : Lieux : Bloc 1, Bloc 5, Bloc 6…
    (Organe1, Série 1) => Lieux : Bloc1
    (Organe1, Série 2) => Lieux : Bloc 1, Bloc 5
    (Organe 1, Série 1) ne peut pas être sur le Bloc 5 ou le Bloc 6.
    Par contre (O1,S2,L1)=>symbole 1 et (O1,S2,L2) => symbole 1

    Si un organe F1, est sur la série 1 il peut avoir un ou plusieurs numéros de symbole ET être à certains Lieux propre à sa série.
    Si ce même organe est sur la série 2, il peut avoir le ou les mêmes numéro de symbole ou des différents ET être à certains Lieux associé à sa série.

    Considérons maintenant le tableau suivant, conforme à votre modélisation :

    id    idSerie    idOrgane    symbole
    i1    s1         o1          y1 
    i2    s1         o1          y2
    i3    s1         o2          y1
    i4    s2         o1          y1
    
    La paire <s1, y1> fait référence aux organes o1 et o2 : ceci est illégal ! En cela je me réfère à votre réponse au point (g) (post #9), où vous confirmez que pour une série et un symbole il y a au plus un organe.
    Je pense que l'on ne s'est pas compris, <s1,y1> peut faire référence à plusieurs organes.
    Comme je l’ai écrit plus haut, pour le point (c), vous vous en remettez au chef. Supposons que celui-ci réponde positivement : pour un organe et un symbole, il y a au plus une série ; Comme dans le tableau la paire <o1, y1> fait référence aux séries s1 et s2, alors on tomberait là aussi dans l’illégalité...
    J'attends une réponse.

    Faisons évoluer la modélisation. Puisqu’un organe n’a pas forcément de symbole associé, (a) on met en oeuvre une entité-type associative COMPOSITION entre SERIE et ORGANE, c’est quand même plus propre que de gérer le vide ; (b) on met en oeuvre une entité-type AFFECTATION permettant l’affectation de symboles aux paires (série, organe) quand les organes ont des symboles :
    [SERIE]----0,N----(R1)----(1,1)----[COMPOSITION]----(1,1)----(R2)----0,N----[ORGANE]
                                            |
                                            |
                                            |
                                           0,N
                                            |
                                            |
                                            |
                                       (IMPLIQUER)
                                            |
                                            |
                                            |
                                          (1,1)
                                            |
                                            |
                                            |
                                        [AFFECTATION]----1,1----(R3)----0,N----[SYMBOLE]
    
    Je comprends le schéma ainsi que le diagramme Access associé, dans la mesure où dans la table composition, on peut rentrer plusieurs série pour un organe donné cela semble remplir le cahier des charges.



    A propos de la table SYMBOLE

    La table SYMBOLE est ici dotée d’une clé primaire {symboleId} dépourvue de signification, puisque les propriétés naturelles des objets (nom des symboles) étant instables, elles n’ont pas vocation à participer aux clés primaires, sauf chez les inconscients n’ayant pas idée des catastrophes que cela peut provoquer
    Je suis d'accord avec vous ^^"

    A propos de la table AFFECTATION

    La table AFFECTATION est dotée des attributs serieId, organeId et symboleId. La paire {serieId, organeId} y est clé étrangère par rapport à la clé primaire {serieId, organeId} de la table COMPOSITION. Le singleton {symboleId} y est clé étrangère par rapport à la clé primaire {symboleId} de la table SYMBOLE.

    Observez que le triplet {serieId, organeId, symboleId} n’est pas clé primaire de la table AFFECTATION. En effet une telle clé (qui est en fait ce qu’on appelle plus généralement une clé candidate, comme je viens de le préciser) doit respecter non seulement la règle d’unicité des clés candidates, mais aussi la règle d’irréductibilité de ces clés ; or la paire {serieId, symboleId} respecte déjà les règles d’unicité et d’irréductibilité, elle est donc clé de son plein droit, ce qui fait que l’attribut organeId ne peut pas faire partie de la clé.
    De plus si organeID était une clef on ne pourrait pas avoir plusieurs symbole pour un organe ? je pose la question car je ne suis pas sur d'avoir compris ce point.

    Si en plus le chef tranche et dit que pour un organe et un symbole donnés il y a au plus une série (point (c) précédemment évoqué), alors la paire {organeId, symboleId} est aussi clé candidate, alternative en l’occurrence, ce que j’ai fait figurer dans le MLD au moyen de l’abréviation « ak ». Si le chef dit au contraire que pour un symbole et un organe donnés il peut y avoir plus d’une série, alors on supprimera cette clé alternative.
    Je ne pense pas car comme dit précédemment, si un organe est sur la série 1 et la série 2 et qu'ils ont le même numéro de symbole sur la série 1 et la série 2, alors la paire {organeId,SymboleI} peut renvoyer plusieurs séries.


    Pour ce qui est de l'association entre composition et Affectation il faut procéder comme suis ? Nom : affectationComposition.PNG
Affichages : 1346
Taille : 51,1 Ko, Access m'envoie boulé, j'ai essayé de lié les deux clef de composition d'un coup avec serieId et organeId puis j'ai essayé de faire une clef après l'autre mais il ne veut rien savoir...







    Je me suis inspiré de vos instructions pour réfléchir à mon problème d'affection avec les Lieux.

    
                            [SERIE]----0,N----(R1)----(1,1)----[COMPOSITION]----(1,1)----(R2)----0,N----[Lieux]
                                  |                                                |
                                0,N                                               |
                                  |                                                |
                               (1,1)                                           0,N
                                  |                                                |
                                  |                                                |
                        [COMPOSITION]                                    |
                                  |                                     (IMPLIQUER)
                                  |                                                |
                                  |                                                |
                                  |                                            (1,1)
                                  |                                                |
                                  |                                                |
                                  |                                                |
                           [Organe]----0,N--------1,1---- [AFFECTATION2]
    
    
    
    Cela donnerait quelque chose de ce type, je n'ai pas représenter (impliquer) et [Affectation] pour les symboles mais ils sont encore là.

    Ce qui donnerait dans Access: Nom : lieuxETsymbole.PNG
Affichages : 1367
Taille : 65,3 Ko

    Avec ce modèle j'ai essayé de faire une requête de cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT [table_organe].[Libelle], [table_organe].[Description], [table_serie].[Serie], [table_symbole].[symboleNumero],[table_lieux].[Lieux]
    FROM (((((table_organe 
    INNER JOIN rle_orgserie ON [table_organe].[id] = [rle_orgserie].[idOrgane]) 
    INNER JOIN table_serie ON [rle_orgserie].[idSerie] = [table_serie].[id]) 
    INNER JOIN rle_affectationsymbole ON ([rle_orgserie].[idOrgane] = [rle_affectationsymbole].[organeId]) AND ([rle_orgserie].[idSerie] = [rle_affectationsymbole].[serieId]))
     INNER JOIN table_symbole ON [rle_affectationsymbole].[symboleId] = [table_symbole].[symboleId])
    INNER JOIN  [rle_affectationlieuxorgane] ON [rle_orgserie].[idSerie] =  [rle_affectationlieuxorgane].[serieId])
    INNER JOIN [table_lieux] ON [rle_affectationlieuxorgane].[lieuxID] = [table_lieux].[id]
    qui me renvoit ceci:

    Nom : resultat.PNG
Affichages : 1318
Taille : 13,4 Ko
    Il semblerait que j'arrive à distinguer, différents symbole en fonction de la série, sur lesquelles se trouve l'organe "test", ainsi que les différents Lieux où se trouve "test" en fonctionde la Série.
    J'ai du supprimer les clef alternative AFFECTATION_AK, dans les tables affectations pour pouvoir renseigner des symboles différents pour une série, et des lieux différents pour une série.
    Il ne reste plus qu'a savoir si le modèle n'est pas illégal ? je suis ouvert à votre jugement

    EDIT:
    Finalement, il y avait une erreur dans mes tables affectationsymbole et affectationlieuxorgane:
    Pour affectationsymbole il faut que je mette les 3 champs en clefs primaire, si je veux avoir plusieurs numéros de symbole pour une série, mettre organeid en 3ème éléments de la clef composite me permet d'éviter les doublons.
    Idem pour affectationlieuxorgane.
    Même principe pour affectation.
    Cela vient du fait que pour une série et un symbole il peut y avoir plusieurs organes.

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Super nouvelle, le cahier des charges à encore changé...

    Les règles de gestions aussi.
    Maintenant :

    R001a:Une Série est composé d'au moins un Lieux.
    R001b: Un Lieux compose au moins une série.

    R002a: Une Série comporte au moins un organe.
    R002b: Un organe concerne au moins une série.

    R003a: Un Organe est sur au moins un Lieux.
    R003b: Un Lieux comporte au moins un organe.

    R004a: A savoir que un Organe est au moins sur une Série, et sur un Lieux (il faut que le Lieux soit associé sur cette série,évidemment).
    Si la Série 1 comporte: un bloc 1 et un bloc 2
    Si l'Organe 1 est sur la Série 1, alors l'Organe 1 ne peut être que sur le bloc1 ou le bloc2 ou les deux.

    Un Organe comporte au moins un Symbole(c'est un numéro ça n'a pas changé).
    Un Symbole concerne au moins un organe.
    La nouveauté :
    Prenons l'organe 1 qui est sur la série 1 et dans les lieux 1 et lieux 2 de cette Série.
    Jusqu'à maintenant le Symbole de l'Organe ne dépendait que de la Série sur laquelle il était.
    R005a: Maintenant l'Organe 1 qui est sur la Série 1 dans les Lieux 1 et 2 peut avoir un n° de Symbole différent en fonction du Lieux.
    Ces numéros peuvent être identiques.
    Prenons le cas de cette organe qui subit un ordre de modification uniquement sur le Lieux 1, son symbole change, il faut pouvoir le modifier afin de distinguer la nuance.

    <série 1 , organe 1,Lieux 1 > => symbole 1.
    <série 1 ,organe1,Lieux 2> => symbole 2.

    Aujourd'hui j'ai ce modèle si:

    Nom : nouveau_modèle_1.0.PNG
Affichages : 1342
Taille : 51,3 Ko

    ma table rle_orgserie (idSerie,idOrgane,idLieux), me permet de respecter R004a.
    Pour respecter R005a je pensais rajouter dans ma table rle_affectationsymbole(serieId,organeId,symboleId)
    un quatrieme champ, lieuxId, ou idLieux. Pour garantir un symbole à un lieux spécifique à une série spécifique.

    Dans ce cas là je garantie qu'un Organe, est sur une ou plusieurs Série (j'omets le s plurielle pour respecter le nom de mon entité-type), sur un ou plusieurs Lieux propre à cette ou ces Série et un Symbole propre à cette Série et ce Lieux pour un Organe donnée bien sûr.
    Je suis prêt à connaitre votre avis concernant le modèle est ce qu'il comporte des limites ?

    Encore une fois désolé pour ce changement de consigne, d'organisation de données , etc , j'ai essayé d'être le plus clair possible

    Merci d'avance !

  14. #14
    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 Gaël,


    Citation Envoyé par LecGaël Voir le message
    R004a : A savoir que un Organe est au moins sur une Série, et sur un Lieux (il faut que le Lieux soit associé sur cette série, évidemment).
    Cette règle décrit une contrainte, appelons-la K, et elle mérite beaucoup de rigueur dans son énoncé. Je vous suggère une formulation du genre (en ce qui concerne les verbes, je n’utilise ici que celui d’« associer ») :

    (a) Si l’organe o est associé au lieu l1
    (b) Si cet organe o est associé à la série s
    (c) Si cette série s est associée au lieu l2
    (d) Alors l1 = l2.

    Ou :

    (a) Si l’organe o est associé à la série s
    (b) Si la série s n’est pas associée au lieu l
    (c) Alors l’organe o ne peut pas être associé au lieu l.


    Dans ces énoncés exprimant la contrainte K, Le trio d’entités-types LIEU, SERIE, ORGANE constitue une boucle à redouter : il faut impérativement garantir K (de façon déclarative, automatique, et non pas par du code applicatif).

    Avant de poursuivre sur ce point, deux questions :

    (Q1) Pour une série et un lieu donnés, peut-on avoir plus d’un organe ?
    (Q2) Pour un lieu et un organe donnés, peut-on avoir plus d’une série ?
    (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.

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    (d) Alors l1 = l2
    Je n'ai pas saisie désolé


    (a) Si l’organe o est associé à la série s
    (b) Si la série s n’est pas associée au lieu l
    (c) Alors l’organe o ne peut pas être associé au lieu l.
    C'est tout à fait ce que je cherche à faire


    Dans ces énoncés exprimant la contrainte K, Le trio d’entités-types LIEU, SERIE, ORGANE constitue une boucle à redouter : il faut impérativement garantir K (de façon déclarative, automatique, et non pas par du code applicatif).
    J'ai ne sais pas de quoi vous parlez ^^"

    (Q1) Pour une série et un lieu donnés, peut-on avoir plus d’un organe ?
    Oui, absolument.
    (Q2) Pour un lieu et un organe donnés, peut-on avoir plus d’une série ?
    Oui également.

    Est ce que le fait de pouvoir trouver plusieurs organe en fonction d'une série et un lieu donnés et plusieurs série en fonction d'un lieu et d'un organe donnés rend la modélisation impossible ?

  16. #16
    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 Gaël,


    Citation Envoyé par LecGaël Voir le message
    (d) Alors l1 = l2
    Je n'ai pas saisi, désolé
    Cela veut dire que l’organe o et la série s sont dans le même lieu.

    De toute façon, vous êtes d’accord avec la formulation négative de la question, donc pas de problème de ce côté-là.

    Illustrons quand même. Partons du MCD comportant la boucle ORGANE → LIEU → SERIE → ORGANE :

    Nom : lecgael_serie_organe_lieu_symbole_mcd.png
Affichages : 1296
Taille : 10,6 Ko


    MLD correspondant

    Nom : lecgael_serie_organe_lieu_symbole_mld.png
Affichages : 1281
Taille : 11,3 Ko

    Conséquence du MLD : rien ne s’oppose à ce que l’on ait les valeurs suivantes :

    ORGANE_LIEU {organe    lieu}
                 o1        l1 
    
    ORGANE_SERIE {organe    serie}
                  o1        s1
    
    SERIE_LIEU {serie    lieu}
                s1       l2
    
    Ainsi l’organe o1 est dans un lieu qui n’est pas celui de sa série, mais ceci est illégal du point de vue de vos règles de gestion ! D’où la nécessité de la mise en oeuvre de la contrainte imposant que l1 et l2 ne soient qu’un, disons l2 :

    ORGANE_LIEU {organe    lieu}
                 o1        l2
    
    ORGANE_LIEU {organe    serie}
                 o1        s1
    
    SERIE_LIEU {serie    lieu}
                s1       l2
    

    Citation Envoyé par LecGaël Voir le message
    Je ne sais pas de quoi vous parlez.
    Est-ce que ce qui précède vous éclaire ?


    Citation Envoyé par LecGaël Voir le message
    Est ce que le fait de pouvoir trouver plusieurs organes en fonction d'une série et un lieu donnés et plusieurs séries en fonction d'un lieu et d'un organe donnés rend la modélisation impossible ?
    Certes non ! Tout est possible, mais il ne faut pas faire n’importe quoi... Parmi les différents scénarios il faut en retenir un qui colle aux règles de gestion, lesquelles doivent au préalable être complètes, d’où les questions que je vous pose.

    Par exemple, si je pose la question suivante (je parle du point de vue fonctionnel, c’est-à-dire du QUOI et surtout pas du COMMENT et du QUAND !) :

    Si la série s est sur le lieu l, et si l’organe o est associé à la série s, alors l’organe o doit-il nécessairement être lui aussi sur le lieu l ?

    Si vous répondiez affirmativement, alors on saurait où localiser l’organe, il serait dans chaque lieu où se trouve la série, en conséquence de quoi la boucle fatale pourrait être éliminée :

    Nom : lecgael_serie_organe_lieu_symbole_sans_boucle_mcd.png
Affichages : 1286
Taille : 9,6 Ko

    Mais cette façon de procéder de ma part est un peu trop expéditive et ne convient pas. En effet, dans le post #12, vous avez écrit :

    « Série 1 : Lieux : Bloc 1, Bloc 2, Bloc 3...
    (Organe1, Série 1) => Lieux : Bloc1
    (Organe1, Série 2) => Lieux : Bloc 1, Bloc 5 »

    Il faut donc limiter la localisation de l’organe par rapport à la localisation de ses séries, en ajoutant un filtre, appelons-le SERIE_LIEU_ORGANE, d’où le scénario possible :

    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mcd.png
Affichages : 1287
Taille : 13,1 Ko

    MLD

    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mld_bilocation.png
Affichages : 1304
Taille : 17,5 Ko

    On a toujours une boucle, mais il faut surtout observer que le passage automatique du MCD à ce MLD a provoqué la mise en oeuvre de deux colonnes jumelles serieId et serieId2 dans la table SERIE_LIEU_ORGANE, l’une référençant la colonne serieId de la table SERIE_LIEU, l’autre référençant la colonne serieId de la table ORGANE_SERIE. C’est là où le bât blesse, et c’est la conséquence de la boucle désespérément fatale. Pour parvenir à une modélisation correcte, c’est-à-dire éliminer la fatalité, il faut ne conserver qu’une des deux colonnes, référençant à la fois la colonne serieId de la table SERIE_LIEU et la colonne serieId de la table ORGANE_SERIE. Utilisons donc la gomme qui va bien, le MLD devient alors :

    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mld_sans_bilocation.png
Affichages : 1266
Taille : 13,6 Ko

    On a toujours une boucle, mais cette fois-ci elle a été rendue parfaitement inoffensive quant aux opérations. Les organes ne peuvent qu’être installés légalement dans les lieux, c’est-à-dire dans le respect de la règle « (a) Si l’organe o est associé à la série s, (b) si la série s n’est pas associée au lieu l, (c) alors l’organe o ne peut pas être associé au lieu l ». Ainsi, dans l’exemple ci-dessous, le lieu l5 n’est pas associé à la série s1, en conséquence de quoi il n’y a pas moyen d’associer l’organe o1 au lieu l5 (contrainte de clé étrangère oblige au stade SQL), il ne peut l’être qu’aux lieux l1, l2, l3.

    Exemple :

    SERIE {serie}
           s1
           s2
           s3
    
    LIEU {lieu}
          l1
          l2
          l3
          l4
          l5
          l6
    
    ORGANE {organe}
            o1
            o2
            o3
    
    SERIE_LIEU {serie    lieu}
                s1       l1
                s1       l2
                s1       l3
                s2       l1
                s2       l5
                s2       l6
    
    ORGANE_SERIE {organe    serie}
                  o1       s1
                  o1       s2
                  o1       s3
    
    SERIE_LIEU_ORGANE {serie    lieu    organe}
                       s1       l1      o1
                       s2       l1      o1
                       s2       l5      o1
    
    Vous pourriez m’objecter :

    « Mais ma table rle_orgserie est la même que la table SERIE_LIEU_ORGANE ! »

    Ce à quoi je répondrais :

    Structurellement, certes ! mais quant au contenu, que nenni ! Pour associer des lieux à des séries (par exemple les lieux l1, l2, l3 à la série s1), selon votre dernier MLD vous serez dans l’obligation d’associer dans rle_orgserie des organes aux paires (s1, l1), (s1, l2), (s1, l3), ce qui est illégitime si l’on fait référence aux exemples que vous donnez dans le post #12.

    A suivre...

    N.B. Je suppose que ce que vous appelez un organe est en fait un type d’organe, sinon il y aurait bilocation (le même organe en deux lieux à la fois)...
    (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.

  17. #17
    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
    En passant, l’équivalent ACCESS du MLD que j’ai proposé (plus SYMBOLE et AFFECTATION) :


    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mld_sans_bilocation_access.png
Affichages : 1301
Taille : 40,8 Ko
    (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.

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Tout d'abord désolé pour cette réponse tardive, j'étais en congé dans la pampa
    Merci pour cette réponse une fois de plus très complète je pense avoir compris la subtilité au niveau de la clef serieID pour ce qui est des affectations SERIE_LIEUX_ORGANE.
    Cela m'assure donc bien ma règle de gestion.

    J'aurais peut être une autre question, en fait une petite modification au niveau de l'affectation du symbole.
    Si j'ai (s1,o1,l1,symbole1) et (s1,o1,l2,symbole2) ,(s1,o1,l2,symbole1), (s2,o1,l1,symbole1),....
    Je voudrais avoir la possibilité d'affecter un numéro de symbole différent en fonction du lieux ou bien le même. Ici l'affectation ne prend en compte que la série qui peut être différente, quand est il quand je veux prendre en compte les lieux.
    Ma démarche serait que AFFECTATION serait comme suit (serieId<pk,fk1>,organeId<pk,fk2>,lieuxId<pk,fk3>,symboleId<pk>).
    serieId,organeId et lieuxId serait des clef étrangères à SERIE_LIEU_ORGANE.
    Ainsi je m'assure que le symbole est spécifique à ces trois paramètres.


    N.B. Je suppose que ce que vous appelez un organe est en fait un type d’organe, sinon il y aurait bilocation (le même organe en deux lieux à la fois)...
    C'est en fait un nom de fonction, que l'on peut retrouver d'une série à l'autre, cette fonction est assuré par une pièce électrique,electronique,pneumatique,...
    cette pièce possède un ou plusieurs n° de symbole...
    D'où la nécessité de pouvoir faire des recherches d'organe en fonction de la série, du lieu, ou bien par nom ou par n° de symbole.
    Là ou ça se gâte c'est au niveau de l'IHM faire la recherche est ma foi assez simple avec des requêtes SQL.
    Mais ajouter ou modifier des éléments est assez compliqué...

  19. #19
    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 Gaël,

    La Pampa, c’est pas la porte à côté


    Citation Envoyé par LecGaël Voir le message
    Ici l'affectation ne prend en compte que la série qui peut être différente, quand est il quand je veux prendre en compte les lieux.
    Exact. Les symboles sont les oubliés de l’histoire, on va donc mettre les diagrammes à niveau pour les reprendre en considération.


    Citation Envoyé par LecGaël Voir le message
    Si j'ai (s1,o1,l1,symbole1) et (s1,o1,l2,symbole2) ,(s1,o1,l2,symbole1), (s2,o1,l1,symbole1),....
    Je voudrais avoir la possibilité d'affecter un numéro de symbole différent en fonction du lieux ou bien le même.
    Dans ces conditions, la table AFFECTATION peut être absorbée par la table SERIE_LIEU_ORGANE.

    Si pour un triplet {série, organe, lieu} on est limité à un seul symbole, le diagramme suivant devrait convenir :

    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mld(v2).png
Affichages : 1302
Taille : 15,9 Ko


    Vision ACCESS :

    Nom : lecgael_serie_organe_lieu_symbole_ternaire_mld_access_v2.png
Affichages : 1291
Taille : 34,3 Ko


    Par contre, si pour un triplet {série, organe, lieu} on peut avoir plusieurs symboles, l’attribut symboleId doit lui aussi faire partie de la clé primaire de la table SERIE_LIEU_ORGANE. Qu’en est-il (sous forme de règle de gestion) ?


    A propos des contraintes

    — L’utilisateur doit-il tenir compte d’un « catalogue » des paires légales {ORGANE, SYMBOLE} ?

    — L’utilisateur doit-il tenir compte d’un « catalogue » des paires légales {SERIE, SYMBOLE} ?
    (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.

  20. #20
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    La Pampa, c’est pas la porte à côté
    En réalité j'étais à Porto

    Dans ces conditions, la table AFFECTATION peut être absorbée par la table SERIE_LIEU_ORGANE.
    C'est ce que j'ai fait ça commence à rentrer

    Par contre, si pour un triplet {série, organe, lieu} on peut avoir plusieurs symboles, l’attribut symboleId doit lui aussi faire partie de la clé primaire de la table SERIE_LIEU_ORGANE. Qu’en est-il (sous forme de règle de gestion) ?
    Il y a belle et bien plusieurs symboles possibles j'ai donc une clef "quadruple" ^^""

    Ensuite j'ai une règle concernant un positionnement, ce sont des cas particuliers.
    R007a: Un organe en fonction de la série sur laquelle il est a une position:
    R007b: Une position concerne un organe


    Exemple: si on a deux organes côte à côte, deux cartes éléctroniques identiques, elles peuvent être commutables pour effectuer des tests.
    Donc la carte CA peut avoir position 1 ou 2 sur la série1
    cette carte peut être présente en 3 exemplaires sur une autre série.
    Donc les positions dépendent de la série.
    Je pensais faire une table rle_organe_position(idSerie<fk,pk>,idOrgane<fk,pk>,position<pk>) avec une RIF sur rle_organe_serie.'



    A propos des contraintes

    — L’utilisateur doit-il tenir compte d’un « catalogue » des paires légales {ORGANE, SYMBOLE} ?

    — L’utilisateur doit-il tenir compte d’un « catalogue » des paires légales {SERIE, SYMBOLE} ?
    Je n'ai pas compris les questions ^^" désolé...

    EDIT: Je n'avais pas encore complété les idSymbole dans la table : serie_lieu_organe (idSerie<fk,pk>,idOrgane<fk,pk>,idLieux<fk,pk>,idSymbole<fk,pk>, il se trouve que certains organes n'ont pas encore de symboles mais il est interdit d'avoir une clef null...., j'ai donc créer un index avec NUll autorisé, et unique sur ces 4 paramètres, qu'en pensez vous ?

Discussions similaires

  1. Pièces détachées Pc portable
    Par tanaka59 dans le forum Composants
    Réponses: 3
    Dernier message: 27/06/2015, 13h54
  2. [MCD] Distribution de pièces détachées
    Par frm013 dans le forum Schéma
    Réponses: 107
    Dernier message: 24/02/2014, 18h10
  3. Piéce détachées pour vidéo projecteur
    Par Pelote2012 dans le forum Périphériques
    Réponses: 3
    Dernier message: 12/09/2013, 10h07
  4. HP inaugure un stock de pièces détachées à Wissous (91)
    Par Mejdi20 dans le forum Communiqués
    Réponses: 0
    Dernier message: 15/10/2010, 10h09

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