{MySQL} conception base de données

Fermé
yaka2010 - 1 janv. 2010 à 16:32
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 4 janv. 2010 à 14:24
Bonjour,

Je debute en php/mysql

Mon pb est le suivant :

j'ai une gamme de produit que je recois par colis dans des contenaires.
pour chaque GAMME, il y plusieurs produits avec des fournisseurs de deux pays Allemagne et Espagne.
chaque produit est envoyé dans plusieurs colis et ces colis sont sotckés dans 3 type de 20' 40' et 40'HC.

J ai pensé creer
une table produit : caractéristiques (Longueur, largeur, Hauteur, KGnet KGOS et Volume (L*h*l)
une table fournisseur par pays ?
une table contenaire (3 type de 20' 40' et 40'HC)
une table colis : Longueur, largeur, Hauteur, KGnet KGOS et Volume (L*h*l) nbre de colis
sachant que dans chacun des 3 contenaires il y a une centaines de colis contenant chaque produit.

Mais je ne suis pas sur de la structure de la base de données, ni des liens entre ces tables ?
Avez-vous une idée ?
Merci pour votre aide. Vous pouvez me poser des questions pour que je précise certains points.
Merci encore et meilleur veux

5 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
1 janv. 2010 à 19:15
Salut, bonne année
Chacune de tes tables doit contenir un identifiant.
DAns la table produit par ex, comment tu comptes identifier chaucun de tes produits différents? Pareil pour colis, comment identifier chaque colis envoyé (destination, date d'envoi, contenant (id de produits..)..)?

Autre chose, tes produits n'ont pas de nom/désignation, date d'achat...? Il y a plein d'informations que tu peux y associer.
Ensuite faut pourvoir en face de chaque produit savoir de quel fournisseur il provient. Là tu as un premier lien. Un produit peut avoir un ou plusieurs fournisseurs. ça c'est une regle de gestion qu'il t'appartient de définir dans ce cas comme dans les autres.

1
Merci Moderno31 pour ta réponse.

Pour la règle de gestion : chaque produit a un fournisseur unique (qui est le fabricant).
J'ai un problème pour définir le lien entre produit, colis et contenaire.
J'ai un produit unique disons le produit "téléphone portable samsung205".
Pour le recevoir : la quantité minimum est de 100 pièces (p et je le recois
dans 3 types de colis (colis 1 : portable, colis 2 : batterie, colis : chargeur)
Longueur Largeur Hauteur
COLIS 1 (mm) 1000 500 45 (portable)
COLIS 2 (mm) 1300 300 50 (batterie)
COLIS 3 (mm) 700 450 60 (chargeurs)

ces 3 colis concernent toujours le même produit "téléphone portable samsung205"
au total je reçois 100 colis répartis comme suit dans les contenaires :
type de contenaire : nbre de colis
20' : 10
40' : 40
40HC : 50

Comment faire le lien dans les tables ente produit colis et contenaire ?
j'ai créé la structure ci dessous mais j'ai du mal :

t_produit :
id_produit
id_gamme (clé externe)
description
origin : (pays de fabrication)
supplyer
description
price
id_supplier


t_gamme
id_gamme
nom_gamme
description_gamme
id_produit (clé externe)

t_supplier
id_supplier
nom_supplier
pays_supplier
id_produit (clé externe)

t_colis :
id_colis
colis_n°
longueur
largeur
Hauteur
Volume
kgnet
kggros
id_produit (clé externe)

t_conteneur
type_conteneur (20', 40 OU 40HC)
nbre de colis 1
nbre de colis 2
nbre de colis 3
nbre de colis 4
id_colis
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
2 janv. 2010 à 07:53
Hello
si tu as déjà un code SQL sql de création de tes tables passe le, je modéliserai plus vite.

En attendant,
tes liens sont déjà possible par jointure entre produit et colis via t_produit.id_produit = t_colis.id_produit ET t_colis.id_colis = t_conteneur.id_colis
Attention parce j'ai l'impression que tu auras un pb dans colis, à savoir :
tu auras besoin de mettre plusieurs produits dans un colis donc il te faut une clé auto-incrémentée et un code de colis unique :
id - codecolis - ...
1 - 5
2 - 5
3 - 5
4 - 5
5 - 5

Considérons que 1,2,3,4 comme code de colis étais des test : on démarre à 5. Dans le 5, tu as 5 produit de référence (comme tu veux)

On est bien d'accord que quand tu appelles dans colis "longueur, largeur, hauteur, volume" cela ne concerne que les caractéristiques du colis et pas du produit ?

T'ai-je clairement répondu ?
0
Merci Moderno pour ta réponse et pour ton suivi.

Q :
On est bien d'accord que quand tu appelles dans colis "longueur, largeur, hauteur, volume" cela ne concerne que les caractéristiques du colis et pas du produit ?

R:On est d'accord sur ce point.

Pour les colis, je n'ai pas bien compris...(mais c'est sur ce point que je bloque)
Pour moi il y a 3 gros colis dans chacun il y a des dizaines de parties d'un seul et même produit.
Pour tous mes produits j'aurais maximuM 6 gros colis comportant les pièces d'un même produit.

Je commence à créér le code sql et je l'attacherai dès que je termine.
Merci en tout cas pour ton aide. A bientot
0
Bonjour Moderno31
voici le code sql
j'ai un pb avec le volume de la table t_colis (c est un champs calcul L*l*h)
merci encore pour ton aide .

-- phpMyAdmin SQL Dump
-- version 3.0.1.1
-- https://www.phpmyadmin.net/
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
4 janv. 2010 à 05:13
Maintenant que j'ai récupéré ton code et installé tes tables.
Certaines liaisons me paraissent pas cohérentes : id_produit dans t_country
Je ne coprends pa l'utilité de la table container
Quand tu dis que tu as un problème de volume avec la table t_colis, c-à-d ? En taille de table ou bien de calcul ?

Il y aurait beaucoup de choses à discuter... Par rapport à ce que tu sembles vouloir gérer, ta structure de tables table manque de performances.

t'as une messagerie instanée ?
0
la table container (conteneur) :
Les colis sont transportés via des conteneur (comme les conteneurs maritimes sur bateau)
chaque conteneur contient les colis : ex 50 colis 1 et 20 colis 2 etc...

calcul volume :
pour le volume pb de calcul : je ne sais pas comment faire pour que le volume soit caluclé
automatiquement en multiplant les données saisies dans les champs Longueur, Largeur et Hauteur.

id_produit dans t_country

le produit est fabriqué dans une usine à l'étranger.
J'ai créér une table country(pays de fabrication et un lien avec la table produit
mais je n'ai pas s'il est nécessaire de creer la table country ou d'intéger le champs
country dans la table country.

pour le moment je ne peux pas utiliser la messagerie instantanée.
Merci encore pour tes remarques
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
4 janv. 2010 à 14:24
Tu aurais plus besoin d'une aide de fond (comme du conseil).
Tu as des champs qui n'ont pas d'utilité. Ta table container, d'apres qu'il y a, ne sert à rien, à mon sens.
Maintenant il se peut que je n'ai pas bien compris ce que tu veux faire.

Pour etre plus efficace ecrit moi aunkle@live.fr
Je n'ai pas souvent le temps de venir te répondre sur le forum.
Sinon voit avec une autre personne.


bon courage
0