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 :

La table article


Sujet :

Modélisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 187
    Par défaut La table article
    Hi,

    Je dois créer une table pour stocker des références d'article. Or, en fonction de la famille d'article, les attributs peuvent être différents (les caractéristiques d'une poudre sont forcément différentes d'une mousse ou d'une colle)

    Il existe donc plusieurs manières de concevoir l(a)(es) tables(s) : créer une table reprenant les attributs communs à chaque famille d'article et créer ensuite différentes tables secondaires pour y stocker les caractéristiques propres à chaque famille d'article. Cela implique qu'il faudra gérer autant de tables qu'il existe de familles d'article.

    Autre possibilité, créer une seule table reprenant les attributs de toutes les familles d'article. Dans ce cas, la plupart des champs de la table qui ont été créés pour entrer les caractéristiques de la mousse ne serviront que pour la mousse. Ces champs resteront vides pour la poudre, par contre il faudra créer des champs spécifiques aux caractéristiques de la poudre. Idem pour la colle, etc.

    Voilà, l'une et l'autre méthode ont leurs avantages et inconvénients. Peut-être avez-vous solutionné le problème par une autre méthode, j'aimerais avoir un retour d'expérience sur la manière dont vous avez structuré votre table article ou d'éventuelles suggestions si de bonnes idées vous traversent l'esprit.

    Merci.

    JJ

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 071
    Par défaut
    C'est une bonne question.
    De mon côté j'ai toujours fait une seule table (reste à voir le nb de chps au total) et je personnalise le formulaire selon la famille d'articles ...

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Jean-Jacques Engels Voir le message
    créer une table reprenant les attributs communs à chaque famille d'article et créer ensuite différentes tables secondaires pour y stocker les caractéristiques propres à chaque famille d'article. Cela implique qu'il faudra gérer autant de tables qu'il existe de familles d'article.
    C'est la bonne méthode et cela s'appelle l'héritage.
    Cherche dans les tuto.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 126
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Citation Envoyé par CinePhil Voir le message
    C'est la bonne méthode et cela s'appelle l'héritage.
    Cherche dans les tuto.
    Héritage de table? Je n'en ai jamais entendu parler... Pourrais-tu développer ton idée?

    Pour moi, la méthode de créer plusieurs tables (avec ou sans héritage) n'est pas la meilleure, car elle va compliquer les extractions de données. Si l'on veut rechercher par exemple les articles fournis par le même fournisseur ou vendues au même client, on va devoir utiliser des requêtes UNION sur les champs communs des différentes tables, et lorsque l'on va ajouter un nouveau type de produits, on va devoir créer un nouvelle table et modifier les requêtes UNION en conséquence...

    Je trouverais pour ma part plus judicieux de ne créer qu'une table. S'il existe beaucoup de champs propres à chaque catégorie d'article, on pourrait concevoir des "sous-tables" reprenant les propriétés spécifiques d'une catégorie et pointant vers la clé primaire de la table des articles. Par programmation, il serait alors possible d'afficher tel ou tel sous-formulaire en fonction de la catégorie de l'article affiché dans le formulaire principal...

    Cela étant, je suis ouvert à toute autre idée...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Tu n'y es pas du tout !
    En plus j'ai déjà expliqué ça tout ce matin même dans ce message

    Encore une fois cherche des infos et des tuto sur le concept d'héritage et tu y arriveras.

    Pour répondre plus spécifiquement à ça :
    Si l'on veut rechercher par exemple les articles fournis par le même fournisseur ou vendues au même client, on va devoir utiliser des requêtes UNION sur les champs communs des différentes tables, et lorsque l'on va ajouter un nouveau type de produits, on va devoir créer un nouvelle table et modifier les requêtes UNION en conséquence...
    Les articles sont TOUS dans la table articles qui pourrait avoir la structure suivante :
    Articles(ArtId, ArtNom, ArtIdFournisseur, ...)
    Il est donc très facile d'avoir tous les articles vendus par un fournisseur ou vendus au même client.

    Si un article est une poudre, il figurera en plus dans la table des poudres :
    Poudres(P_IdArticle, PConditionnement, PDangerosité, PGranulometrie...)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 126
    Billets dans le blog
    131
    Par défaut
    Salut Cinéphil,

    Dans ce message, tu expliques, me semble-t-il, exactement la même chose que moi... Je ne suis donc pas sûr de "n'y être pas du tout"...

    Ce qui me "perturbait", c'est le mot "héritage" dont je n'ai jamais entendu parler au sujet des tables dans le cas présenté ici (et à mon avis, en absence de recherches plus approfondies de ma part, inapproprié dans ce contexte, car aucune table n'hérite de la structure d'une autre, ni en suivant tes explications, ni en suivant les miennes)... L'héritage de tables, tel que le concept est décrit généralement, n'est pas géré par Access. La recherche de tutos sur le sujet mènera donc à une impasse!

    Mais je pense que nous développons exactement la même idée tous les deux, car si tu lis bien mon message, tu verras que j'y aborde la même démarche que la tienne, à savoir une table commune pour les propriétés communes, et une table pour chaque catégorie liée à cette table commune par un champ FK => PK ...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut tout le monde
    cinephil pouvez-vous de temps en temps indiquer des exemples de liens quand vous suggérer des solutions de recherche. (excusez ma paresse).

    Pour la solution multitable, les tables sont créées par le programmeur ou leur création est programmée puis exécuté par l'utilisateur?
    Je voie déjà le problème de requête sur ces tables: une recherche sur ces tables deviens quasiment impossible.

    J'ai eue le même problème pour la création d'un appli de gestion de matériels informatique. Ma solution était de créer une table proprietes(Idpropriete, idproduit, nompropriete, valeurpropriete). Quelles sont vos remarques?

Discussions similaires

  1. Can't update table 'article' in stored function/trigger
    Par gentel_man dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 20/03/2012, 13h51
  2. Créer tables articles pour un site marchand
    Par redah75 dans le forum Schéma
    Réponses: 4
    Dernier message: 06/06/2010, 17h46
  3. Requete compliquée sur table article
    Par ManCéRien dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/05/2010, 11h48
  4. Combiner des tables articles et vides dans les enregistrements
    Par tomZH dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/03/2009, 13h04

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