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

Modélisation Discussion :

Interrogation sur la conception d'une table


Sujet :

Modélisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Par défaut Interrogation sur la conception d'une table
    Bonjour,

    Je dois en ce moment m'occuper d'ordres de production: on rentre une reference a produire, une quantite, et ca sort une belle feuille avec un tableau a remplir par les operatrices: pour chaque equipe du matin/apres-midi/nuit et du lundi au dimanche: quantite produite, chef d'equipe, problemes rencontres, nombre de pieces defectueuses.

    Du coup ca me fait un grand tableau avec 21 lignes et 4 colonnes a remplir... dont beaucoup vides (notamment pour les problemes, ou aussi parce que pour l'instant il n'y a pas d'equipe de nuit...) Apres il faut rentrer toutes ces donnees dans la base donc pour l'instant j'ai fait a la barbare: dans ma table ordre de production, j'ai des champs TeamLeader1 jusque TeamLeader21, Quantity1 jusque Quantity21, Problem1 jusque Problem21...

    J'ai reduit la taille des champs autant que possible (20 caracteres pour le nom du team leader, Integer pour quantite produite...) mais je ne trouve pas cette solution tres elegante!! Ca me fait vraiment beaucoup de champs vides pour chaque ordre de production et j'ai peur que ca prenne beaucoup de place a terme dans la base (a moins que ces champs vides soient compactes lors du compactage journalier?)

    Que me conseilleriez-vous de faire?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    Salut
    faut surtout pas faire ca.
    Si pour des raisons x ou y, tu ajoutes une Team, un problème, un quantity.

    Sans parler que c'est pas propre.
    Tu vas galérer et tu vas tout droit vers un truc bancal.

    Décomposes en tables, et utilises des clés externes.
    Tu auras des cardinalités 1,n.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    En plus détaillé :

    http://mhubiche.developpez.com/Access/cours/bases/

    Il y a tout ce dont tu as besoin pour modéliser correctement ta base en fonction de ton besoin. Bonne lecture.

  4. #4
    Membre expérimenté
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Par défaut
    Oui je sais bien la theorie qu'il vaut mieux lier des tables plutot que laisser plein de champs vides... mais dans ce cas la ca m'arrange pas du tout

    En fait si je me trompe pas, la solution propre, est de faire: si une quantite, un teamleader ou un probleme est rentre, il ne l'ajoute pas dans la table Ordre de production mais dans une table Quantites, TeamLeader ou Probleme respectivement avec un champ qui possede la cle de l'ordre de production correspondant pour lier les tables.

    Or au bout d'un an par exemple, avec 52 semaines, 3 ordres de production par semaine, 10 champs quantites remplis par semaine, cela fait une table Quantite de 52 x 3 x 10 = 1560 records.

    Avec la solution pas propre ca fait: 52 semaines x 3 ordres de production par semaine = 156 tables Ordres de production comportant 28 champs quantites et dont seulement 10 sont remplis.

    Et la je ne sais pas trop ce qui est mieux parce qu'avec la solution propre, on obtient 1 table avec plein plein plein d'enregistrement, contre plein de tables a plein d'enregistrements dont la moitie vide.
    J'ai fait des tests, et pour la taille de la base de donnees ca revient exactement au meme si on compacte. Par contre je me dis que question manipulation, la table de 1560 records (pour un an seulement) sera peut-etre plus lente a gerer que 156 tables differentes? (ou alors je me plante?)

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Tu te plantes

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/05/2006, 19h45
  2. Réponses: 2
    Dernier message: 16/02/2006, 09h24
  3. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11
  4. Question sur la création d'une table
    Par air dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2005, 12h46
  5. contrainte sur deux champs d'une table
    Par bdkiller dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/09/2004, 18h26

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