Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
20 Jan 2009, 22:05
Message
#1
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 309 Inscrit : 20-January 05 Lieu : Oyonnax Membre no 4446 |
Bonsoir tout le monde un projet pour mes etudes est j'ai quelques difficultés avec mon mcd.
Citation Règles de gestion. Un client (customers) peut avoir plusieurs adresse (adresse_book) donc nous avons une cardinalité de 1,n. Un carnet d’adresses est lié à un seul client donc nous avons 1,1. Un carnet d’adresses peut contenir plusieurs adresses professionnelles donc 1,n Une adresse professionnelle est liée à un seul carnet d’adresse. Un client peut passer une ou plusieurs commandes (orders) donc nous avons 0,n. Une commande ne concerne qu’un seul client donc nous avons 1,1. Une facture (orders_invoice) ne concerne qu’une seul commande donc 1,1. Il doit y avoir une commande pour créer une facture et il peut y avoir plusieurs commande a facturé donc 0,n. Une commande est relié à un ou plusieurs historiques de statut (orders_statuts_history) donc 1,n. L’historique de statut peut être lié à une seule commandes donc 0,1. L’historique de statut peut obtienir un seul statut (orders_statuts) à la fois donc 0,1. Un statut (en cours de livraison, etc..) peut être relié à un ou plusieurs historiques de statut donc 0,n. Une commande contient un ou plusieurs frais de commande (orders_total) donc 1,n. Les frais de commande ne concerne qu’une seul commande donc 1,1.?? Une commande contient un ou plusieurs produits (orders_products) donc 1,n. Un produit concerne une seul commande donc 1,1. ?? Un produit (product) est relié à une ou plusieurs commande de produit donc 1,1. Une commande de produit ?? j'ai quelques problèmes pour les entités orders_total______orders ,orders_product________orders et orders_product________product en effet ces tables sont déjà existantes et j'ai quelques problèmes pour les intègrées car la logique voudrais que la cadinalité de ces tables sois de 1,n ou 0,n et non 1,1 mais si je fait cela ca va provoqué la création de nouvelle table (concerne, concerne et relier) lors du mpd. or il faut que je retombe sur le meme model la tale invoice en plus. Voici mcd ![]() Merci de votre aide. Ce message a été modifié par badibad - 22 Jan 2009, 21:19. |
|
|
21 Jan 2009, 18:39
Message
#2
|
|
|
Ceinture jaune OSC Groupe : Membres Messages : 41 Inscrit : 30-January 08 Lieu : Paris Membre no 20607 |
En fait je suis pas sur de voir de problème
Orders (1,n) ------(possède)------ (1,1) orders_total Littéralement 1 commande possède 1 ou n Totals 1 total appartient à 1 et une seule commande une relation de type (1,n)(1,1) se traduira par une la clé étrangère orders_id dans la table orders_total Plus vicieux : Orders (1,n) -------(possède)------(0,n) products Une commande possède 1 ou plusieurs produits Un produit peut etre affecter à 0 ou n commandes Une relation n-n se traduit par la création d'un table (dans oscommerce c'est la table orders_products) avec deux clé étrangères orders_id et product_id La spécificité de cette relation est qu'elle va stockée des informations additionnelles on shematise ça donne ça : ![]() Ce qui donnera normalement la table order_contient_product (dans oscommerce elle s'appelle en fait orders_products) En espérant que ça t'aide -------------------- |
|
|
21 Jan 2009, 20:43
Message
#3
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 309 Inscrit : 20-January 05 Lieu : Oyonnax Membre no 4446 |
merci enormement
j'ai enfin compris grâce à vous je m'en veux !!!!! j'aurais du voir le problème pour orders_product pour orders total je ne pense pas que j'aurai pu trouver la soluce. encore mille fois merci |
|
|
21 Jan 2009, 21:40
Message
#4
|
|
![]() 2eme dan OSC Groupe : Membres VIP Messages : 3712 Inscrit : 11-April 07 Lieu : Ile de la Réunion Membre no 16487 |
Salut
Citation Un carnet d’adresses peut contenir plusieurs adresses professionnelles donc 1,n Je dirais qu'un client n'aura pas forcément une adresse professionnelle, donc la cardinalité serait de 0,n.Citation Une adresse professionnelle est liée à un seul carnet d’adresse. Ici il y a rien qui représente cette contrainte, ou du moins je ne vois pas.Je ne vois pas trop comment tu pourrais faire. Enfin, si, peut être rajouter le customers_id dans la table "address_company" avec comme contrainte "UNIQUE". (pas très propre cependant) A savoir que osC coté des adresses, ce n'est pas représenté comme ceci, tout est dans une même table (address_book), ce qui est plus simple. Maintenant, pourquoi pas séparer les choses. Mais comme ça, au feeling, je dirais qu'il manque quelque chose, ou il y a quelque chose pas clair. Il aurait fallut voir la table customers, mais j'ai idée que dans cette table il y a un "address_book_id", et un "address_company_id", non ? Si c'est ça, alors normalement (sous réserve donc) ça sous entend que la conception ne respecterait pas la norme, une histoire de 3NF (mais c'est loin maintenant). Admettons que demain tu as une autre type d'adresse (genre adresse fournisseur), tu sera obligé de rajouter une table "address_manufacturers", et rajouter un "address_manufacturer_id". C'est ceci ou je tique un peu (mais juste un peu Après, si tu as pour but de mettre à plat osCommerce (sa BDD par exemple), et bien je te soumets un avis perso la dessus, donc ça n'engage que moi Il y un point qui me parais loin d'être un détail, c'est que osC mélange totalement certaines données propre au bon fonctionnement de la BDD et des données propre au fonctionnement de l'entreprise, sans compter que ces données sont les plus importantes. Ce sont les : products_id, customers_id, manufacturers_id, orders_id (voir d'autres). Ces données sont des clés primaires, elles sont indispensables au bon fonctionnement de la BDD. On ne peut donc pas les modifier comme ça comme on veut. A mon sens il faudrait prévoir dès le début de rajouter des données du genre : Référence client, référence produit, référence manufacturer, référence commande (ou numéro de commande), voir même un numéro de livraison, numéro de facture, chose non prévu d'origine. A titre d'exemple : On a dans sa BDD le orders_id comme numéro de commande. On souhaite repartir à 0 (pour X raison) dans la numérotation des numéros de commande tout en conservant les commandes ... Pas possible !!! ... Sauf si on avait prévu de séparer ses données ... Idem pour le reste ... -------------------- Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet. Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums Prés-Requis -> Les compétences requises pour réussir avec osCommerce Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com |
|
|
22 Jan 2009, 10:04
Message
#5
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1447 Inscrit : 12-March 05 Lieu : Chuiche Membre no 5120 |
Tu diras a ton prof qu'il faut arrêter les conneries avec Merise qui n'est pas reconnu internationalement et passer à l'UML
Pour de bon, je me suis fait caguer avec ce cours il y a 15ans pour ne plus jamais m'en servir après et voir des gens étonnés avec de grands yeux quand je leur en parlais Ce message a été modifié par Phocea - 22 Jan 2009, 10:04. |
|
|
22 Jan 2009, 10:28
Message
#6
|
|
|
5eme dan OSC Groupe : Administrateur Messages : 14910 Inscrit : 22-November 02 Membre no 610 |
Tu diras a ton prof qu'il faut arrêter les conneries avec Merise J'anticipe l'évolution attendue de ce topic en le déplaçant en blabla n'est-ce pas du blabla depuis le début d'ailleurs? qu'est-ce qu'on en a à f... faire de merise... OK, pardon, je -------------------- Ni Hot-line ni Service Après Vente, ces forums sont un lieu d'échanges.
Une Question? Rechercher / FAQ / docV1.pdf / docV2.pdf / contributions |
|
|
22 Jan 2009, 10:56
Message
#7
|
|
![]() Ceinture marron OSC Groupe : Modérateurs Messages : 1819 Inscrit : 14-March 03 Lieu : Beaune (21200) Membre no 961 |
Sujet passionnant. C'est un joli graphique, mais ça sert à quelque chose ?
Enfin, moi aussi je -------------------- The hardest thing in this world is to live in it.
Force jaune devant, marron derrière J'ai touché le fond de la piscine Dans ton petit pull marine... |
|
|
22 Jan 2009, 21:17
Message
#8
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 309 Inscrit : 20-January 05 Lieu : Oyonnax Membre no 4446 |
Bonsoir tout le monde
déjà merci de l'intérêt que vous portez à mon sujet. J'ai modifié mon mcd (voir plus haut ) par contre je rencontre encore quelques problèmes. 1) Comme vous pouvez le constater mon mcd composé d'entités en anglais et de relations en français et je me demande ce qui est le plus judicieux : soit tous traduire en français et remettre en anglais lors de la création mpd. soit tous traduire en anglais dès le départ. 2) Je bloque sur les entités client ___lier____adress_book ma logique voudrais que les cardinalités soit de client 1,n________lier______0,n adress_book or ceci entraînerai la création d'une nouvelle table (lier) qui n'existe pas dans oscommerce de plus comme on peut le constater les proprietés concernant des clients normaux et professionnelles sont mélangées dans les entités client et adress_book . Je suis désolé de la longueur du message et vous remercie d'avance de votre aide. |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19th June 2013 - 20:36 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |