|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Développeur informatique Inscription : septembre 2011 Messages : 4 ![]() |
Bonjour,
Je suis en train de réaliser un mcd et je me demande si la silution suivante est adaptée et ce qu'elle va entrainer pour la création de mes futures tables Je fais une modélisation sur un projet de livraison, chaque livraison a un code par service exemple: 99k01k01. Si le produit est correctement livré on passe à 99k02k01. Si il y a un problème et que le produit est relivré on passe à 99k01k02. Il faut donc que je trouve un système pour auto incrementer soit la partie 2 du code de livraison soit la partie 3. (partie 1: 99k(partie fixe), partie 2: 01, partie 3: k02. J'ai pensé à plusieurs solutions: 1) entité livraison: pk: 99k, pk: 01, pk: k02 = clef primaire composée de plusieurs champs. Avantages: ? Inconvénients: ? Impact sur les futures tables de la base Faisabilité 2) entité livraison: pk: un identifiant que je créais (ex: livr1) seulement en faisant celà pas d'incrémentation auto par la suite! Ensuite 3 champs: champ:99k, champ:01, champ:k02 Je m'excuse si ce n'est pas très clair, c'est ma première apparition sur ce forum |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Berserk50,
Juste une remarque clef primaire multi composée comporte un pléonasme : clef primaire composée suffit amplement. Sinon, sur le fond: Citation:
le bon de livraison n° xxx passe du statut 99k01k01 au statut 99k02k01, si tout est OK, sinon il passe au statut 99k01k02. Citation:
Citation:
livraison(id_livraison, statut_1, statut_2, statut_3, ...) ou, mieux : livraison(id_livraison, #code_service, statut, ...) #code_service étant la clé primaire de l'entité "service".
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||
|
|
00
|
|
|
#3 | ||||
![]() ![]() |
Citation:
Citation:
Citation:
Citation:
livraison (liv_id_service, liv_numero, partie_2_du_code_service, partie_3_du_code_service) Partie 2 et partie 3 semblent en effet être des statuts. à Berserk50 de nous le dire.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#4 |
|
Invité de passage
![]() Développeur informatique Inscription : septembre 2011 Messages : 4 ![]() |
Bonjour,
En fait, c'est bien celà: Au début, pour restituer un code de livraison composé de plusieurs caractéristiques et m'en servir comme clef primaire je voulais savoir s'il était possible de réaliser la chose suivante: livraison(id_livraison, code_service, numero_commande ,status de la commande, d'autres attributs... ne rentrant pas dans la composition d'une clef primaire ) ou la clef primaire de livraison serait constituée de ces 4 attributs. Soit id_livraison = 1,2 etc... code_service = 99k numero_commande = 01, 02 ect... status de la commande = k01, k02 etc...(exemple si k02 cela signifie relivraison pour correction de la livraison. Je m'étais bien éloigné du sentier de la vérité de notre bon Merise. ![]() J'ai compris que cela n'était pas possible grâce à vos interventions, j'ai corrigé par: livraison(id_livraison, #code_service soit 99k ou autre code d'un autre service, #code_commande soit commande du produit 01 ect.., #status_livraison soit k02 signifie correction de la livraison, attributs de livraison). J'ai donc 3 autres entités reliées à livraison ce qui simplifie grandement les choses. ![]() Je vous remercie Richard_35 et CinePhil de m'avoir accordé du temps.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com