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 :

[MR] Une table ou deux ?


Sujet :

Schéma

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut [MR] Une table ou deux ?
    Bonjour,

    j'aurais besoin d'un conseil de modelisation d'une base de données.
    Je dois modèliser des produits. J'ai donc une table PRODUIT

    PRODUIT
    Ref (Clé primaire)
    Description
    Lors d'une campagne de fabrication qui peut durer jusqu'à une semaine, ces produits sont fabriqués et il leur est alors attribué un code identifiant le produit. On connaît aussi la date et l'heure de production.

    D'après vous dois-je définir ma table PRODUIT comme suit:

    PRODUIT
    Ref (Clé primaire)
    Code (Clé primaire)
    Description
    Date de fabrication
    Heure de fabrication
    ou alors dois-je définir une deuxième table par exemple :

    PRODUIT
    Ref (Clé primaire)
    Description
    FABRICATION
    Code (Clé primaire)
    Ref (Clé secondaire)
    Date de Fabrication
    Heure de Fabrication
    Merci d'avance pour vos commentaires.
    ++

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    (déja tu n'es pas dans le bon forum, il y a un forum modélisation tu aurai du mettre ton post la bas )

    Sinon pour te répondre, la deuxième solution est mieux à mon avis, car à ce que j'ai compris, le code change après la fabrication du coup si tu utilise ta première méthode ça n'ira pas alors qu'avec la deuxième tu gardera quand meme sous la main la référence du produit, (unique ?), et la nouvelle référence de ce produit après fabrication

    Après peut etre que je me trompasse
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    en fait, le code est propre à chaque produit fabriqué.
    Par exemple, plusieurs produits d'une même référence sont fabriqués. Chaque produit fabriqué pendant une campagne a la même référence mais un code différent. En fait ce code est attribué de façon unique pour le produit fabriqué.

    Désolé, mais comme c'était relatif au sql, je pensais être sur le bon forum.

    Merci
    ++

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 190
    Points : 112
    Points
    112
    Par défaut
    Bonjour,
    Evidemment, la deuxième proposition est la mieu adaptée à votre sujet, du fait que la première table regroupe l'ensemble des différents produits et la seconde tous les produits fabriqués.
    Si c'était moi, j'aurai appelé la première table "Modèle de produit" et la deuxième table "Produit".
    Bonne continuation.
    A+

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut 2 Tabbles mais .....
    Bonjour,
    à mon avis, tu ne devrais pas utiliser ni le premier ni le second modele.
    voici ce que je propose.

    2 tables

    PRODUIT et DETAILPRODUIT

    PRODUIT
    PR_num (autoIncrement cle primaire)
    PR_ref ( varchar unique )
    PR_description ( text )

    DETAILPRODUIT
    DTPR_num (autoIncrement cle primaire)
    DTPR_code (varchar unique)
    DTPR_datefabrication (date time) // date + heure
    PRe_num (cle etrangere index)

    PRODUIT.PR_num=DETAILPRODUIT.PRe_num

    PRe_num etant la cle etrangere à relier à produit.
    Identifie plutot tes tables avec des numero et non pas par les references. Imagine que ces references changent un jour.......

    Dans ce model un produit est relie à de 1 à une infinité des détailProduits
    Un detail_produit lui n'est relié que à un et un seul produit.

    Donc pour 1 réference tu a une infinité de code.
    Mais pour 1 code tu n'a que1 reference

    ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MAJ d'une table avec deux liens
    Par alaingui dans le forum Access
    Réponses: 3
    Dernier message: 16/01/2007, 16h19
  2. Problème avec Insert dans une table contenant deux clés
    Par pure_blue dans le forum Accès aux données
    Réponses: 5
    Dernier message: 23/10/2006, 19h32
  3. Une table ou deux - quel est le meilleur choix
    Par DG dans le forum Débuter
    Réponses: 3
    Dernier message: 09/03/2006, 18h04
  4. [SQL] couper une table en deux
    Par irenee dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/03/2006, 14h59
  5. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25

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