que pensez-vous de mon mcd?

Petit nouveau ! | 2 Messages

02 janv. 2016, 17:24

Bonjour,

Je souhaiterai faire une base de données avec jmerise.

Il s'agit de ma première base de données. Pourriez-vous me dire ce que je devrai (selon vous) corriger?

Il faut cliquer sur l'image pour l'agrandir
Image



D'avance merci!

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7241 Messages

02 janv. 2016, 19:37

Bonjour,

A première vue, ça semble pas mal du tout, on connait pas le contexte donc difficile de corriger le fond mais ça semble bien :)
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar de l’utilisateur
Eléphant du PHP | 243 Messages

03 janv. 2016, 13:38

Bonjour et bienvenue sur le forum !
Il y a quand même 2-3 trucs qui pourraient être corrigé comme par exemple la carte de fidélité. Tu as mis en effet une cardinalité de 0-1 ; 1-1. Donc un client ne peut posséder qu'UNE et une seule carte. Pourquoi ne pas mettre directement l'attribut "point_fidelité" dans l'entité client ? Cela éviterait la création d'une entité inutile.
Après comme @rthur l'a dit, on ne sait pas vraiment ce qui est attendu par ton programme. Il y a sans doutes d'autres "petits" trucs à corriger mais c'est déjà pas mal !
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

julieen03
Invité n'ayant pas de compte PHPfrance

03 janv. 2016, 16:30

Merci pour votre réponse.

Dans la mesure où un client ne dois pas forcement avoir de carte de fidélité, l'intérêt d'avoir mis "points" dans une autre entité est de ne pas avoir le marqueur 'null' dans la table "client" et donc de ne pas polluer.

En fait il s'agit d'une base de données pour un tout petit magasin (vente de produits cosmétiques), Donc un client se présente au comptoir pour acheter toute une série de produits.


Voici les règles de gestion qui en découlent :

Un client achète un ou plusieurs produits
Un vendeur vend un ou plusieurs produits
Un produit peut être acheté par un ou plusieurs clients



Un client possède au plus une carte de fidélité.
Une carte de fidélité peut être possédée par une et une seule personne


Un client peut avoir 0 ou plusieurs factures.
Une facture correspond à un seul client.



Une facture comprend une ou plusieurs lignes.
Une ligne de facture correspond à une et une seule facture



Une facture correspond à une et une seule vente effectuée (si deux ventes effectuées  2 factures)
Une vente effectuée correspond à une et une seule facture



Une vente comprend une ou plusieurs lignes de vente
Une ligne de vente correspond à une seule vente

Une commande comprend une ou plusieurs lignes
Une ligne de commande concerne une et une seule commande.


Une livraison comprend une ou plusieurs lignes.
Une ligne de livraison correspond à une seule livraison.


Un produit vient d’un seul laboratoire.
Un laboratoire produit un ou plusieurs produits susceptibles de se trouver dans les rayons du magasin.


Un produit peut être d’une seule marque
Une marque peut comprendre un produit ou plusieurs.


Un produit peut être une fois ou plusieurs dans la catalogue.

Pour un produit, il existe 1 ou plusieurs fournisseurs (oui, deux fournisseurs peuvent vendre le même produit)
Un fournisseur possède 0 ou plusieurs fois le produit.


Un produit peut être présent fois ou plusieurs en stock
Dans le stock, il peut ne pas y avoir un certain produit ou l’avoir plusieurs fois.



Dans une ligne de facture, il ne peut y avoir qu’un seul produit.
Un produit peut ne pas être présent dans une ligne ou être présent plusieurs fois.


Un produit correspond à ou une ligne de vente.
Un produit correspond à ou une ligne de livraison
Une ligne de vente correspond à un seul produit
Une ligne de livraison correspond à un seul produit


Est-ce plus clair?

Petit nouveau ! | 2 Messages

03 janv. 2016, 16:45

Image

Jmerise
Invité n'ayant pas de compte PHPfrance

07 mars 2017, 18:08

Il te manque plusieurs entité " Type ". Une adresse mail peut être, priver, bureau, professionnel. C'est pareil pour l'adresse de la personne, il peut y avoir, l'adresse de son lieu de travail, chez lui ect...

A revoir ;)

ViPHP
ViPHP | 2566 Messages

10 mars 2017, 16:13

Dans ce modèle, il y a 2 activités, les ventes et les achats qui ne sont liés que par l'entité produit. Il me semblerai plus pratique de scinder le modèle pour une compréhension plus simple.
Eventuellement, il manque des états (payé, livré...) qui permettrai des actions de suivi.