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

 MySQL Discussion :

[Nombre de champs] Simple question d'ergonomie


Sujet :

MySQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut [Nombre de champs] Simple question d'ergonomie
    Bonjour,

    J'ai une table qui fait 16 champs.

    Certains éléments pourraient être isolés dans deux autres tables, la première ne faisant alors plus que 9 champs.

    Au delà de la logique théorique, voyez-vous un inconvénient pratique à cette table de 16 champs (temps d'exécution des requêtes par exemple) ?

  2. #2
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    en théorie les liens 1-1 entre deux tables sont a proscrires... mais en pratique si le schema impose des select avec plus de 4 - 5 tables on peut y perdre en perf... mais faut des grosses tables....

  3. #3
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Rien à voir avec l'ergonomie et le php là ???

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Je ne comprend pas ce que tu appelles un lien 1-1.

    En gros tu veux dire que les requêtes avec jointures naturelles sur plusieurs tables peuvent être lourdes, donc mieux vaut placer des champs dans une table même si ceux-ci n'y ont pas vraiment leur place et ce car cela peut faire économiser du temps au niveau de l'exécution des requêtes ? Même si c'est contraire à la théorie ?

    Ou tu veux dire autre chose ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Rien à voir avec l'ergonomie et le php là ???
    Euh , c'est vrai c'est parce qu'à la base je me prenais la tête sur un script php et j'hésitais à refaire les tables mais je me suis dit que les requetes sql qui s'ensuivraient seraient peut-être un peu trop compliquées.

    Et toc je me suis retrouvé ici !

    **edit** bon on peut reprendre dans le bon forum maintenant

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par psychoBob
    **edit** bon on peut reprendre dans le bon forum maintenant
    Je veux bien vous rediriger mais il faudrait pour cela veiller à nous éclairer sur votre besoin veritable.
    Precisez svp et je vous aiderai de mon mieux soyez en convaincu

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Precisez svp et je vous aiderai de mon mieux soyez en convaincu
    Merci bien

    Je disais cela parce que j'avais initialement posté par erreur et ce post a ensuite atterri ici. Et ma foi, c'est assez confortable, on peut pas se plaindre.
    Bon soyons sérieux.

    En fait mon problème, sans être grave, s'est encore agravé :

    Suite à de nouveaux développements, il y a maintenant deux tables dans ma base de données qui font respectivement 20 et 21 champs.

    Certains champs pourraient être isolés dans des tables à part, mais quand j'ai codé je devais être fatigué, et cela m'a paru plus simple comme cela.
    Maintenant je suis pris de remords et je me demande si je n'aurais pas dû avoir plus de scrupules.

    D'où ces quelques questions, pour y voir plus clair :

    1) Au delà de la simple théorie, y a t'il un problème technique particulier à avoir des tables ayant un nombre de champs élevés (ralentissement par exemple) ?

    2) Est-ce plus rapide de faire une requête sur deux tables plutot qu'une requête sur plusieurs champs d'une même table?

    3) Vous lavez vous les dents le matin, avant de vous coucher, ou après tous les repas ?


    merci pour vos lumières.

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par psychoBob
    1) Au delà de la simple théorie, y a t'il un problème technique particulier à avoir des tables ayant un nombre de champs élevés (ralentissement par exemple) ?
    D'un point de vue technique cela dépend de votre SGBDR quel est-il :
    Citation Envoyé par psychoBob
    2) Est-ce plus rapide de faire une requête sur deux tables plutot qu'une requête sur plusieurs champs d'une même table?
    Encore une fois les soucis de performances sont directement liés aux performance de votre SGBD, cependant sur 2 tables cela ne doit pas être réellement significatif.

    Les spécialistes pourront tout de même ajuster mes propos, cette fois sur le plan théorique, notamment en terme de modelisation.
    Si cela ne vous importe pas alors precisez les contraintes techniques de votre matériel, il se peut qu'il existe un forum plus judicieux pour votre question (MySql, SqlServer, Oracle, Access, DB2 ....)

    Comme je viens de manger, je cours me laver les dents

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Merci pour votre réponse !

    Effectivement, j'aurais dû préciser que le SGBDR qu'OVH m'a attribué, sans vergogne ni compromis aucun, est "MySQL 3.23.58-log sur le serveur sql6" (je lis cela sur phpMyAdmin).

    Voilà, et donc lorsque je regarde ma base de donnée, je trouve que j'ai vraiment fait un travail de cochon, même pour un débutant qui commence à faire des bidouilles pas trop mal (c'est la BD d'un forum).

    Côté client tout s'affiche bien et assez vite, j'ai tout fait pour que cela tire le moins possible sur la base de donnée (compteur incrémenté au lieu de requête COUNT par exemple).

    Mais alors je vais me faire agresser si quelqu'un met son nez dans mon schéma relationnel, inexistant au demeurant.


    Cela étant pour l'instant mon souci est surtout que tout soit nickel pour le visiteur, je bosse seul.

    Bref, je radote.
    Votre avis sur le sujet donc ?


    Comme je viens de manger, je cours me laver les dents
    Bon alors j'ai confiance en la réponse.

  10. #10
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Je vous bascule donc chez les pros du MySql, et excusez les pérégrinations de votre sujet, je crois que cette fois sera la bonne

  11. #11
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par XtofRoland
    en théorie les liens 1-1 entre deux tables sont a proscrires...
    On à tous eu le même prof de modélisation ou quoi?

    Plus sérieusement, on avait abordé du problème d'éclatement des tables (dans quels cas est-ce justifié) dans ce sujet:
    http://www.developpez.net/forums/viewtopic.php?t=450782

    Citation Envoyé par neguib
    Je vous bascule donc chez les pros du MySql...
    Merci pour le terme "les pros du MySql"

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Oui j'ai ingurgité le lien, ça ne répond pas plus que ça à ma question mais c'était tout de même très utile.

    D'ailleurs ma question ne me parait pas pertinente à vrai dire.

    Je ne marque pas résolu tout de suite, dès fois que j'ai une nouvelle question à poser en jetant un oeil effrayé sur mes tables .

  13. #13
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Il existe des règles établies pour normaliser des relations :

    http://sqlpro.developpez.com/cours/standards/#L2.2
    http://www.openwin.org/mike/presentations/normalization/normalization.html

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ces liens m'ont l'air utile.

    Je les approfondis ce soir, si j'ai des questions je reviens, sinon je marque résolu.

    Merci

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

Discussions similaires

  1. Simple question sur le champ de type varchar
    Par argon dans le forum Débuter
    Réponses: 5
    Dernier message: 14/05/2009, 08h34
  2. Réponses: 5
    Dernier message: 13/10/2005, 12h46
  3. [langage] simple question ...
    Par perlgirl dans le forum Langage
    Réponses: 13
    Dernier message: 16/07/2004, 13h22
  4. PageControl -> Une simple question
    Par Invité dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/05/2004, 09h19
  5. Traitement d'un grand nombre de champ
    Par k-lendos dans le forum Langage SQL
    Réponses: 8
    Dernier message: 17/03/2004, 15h13

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