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

Administration MySQL Discussion :

Quelle est la grosseur d'un pointeur (FK)?


Sujet :

Administration MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 73
    Points
    73
    Par défaut Quelle est la grosseur d'un pointeur (FK)?
    SGBD: MySQL 4

    Bonjours à tous,

    À l'endroit où je travail, nous sommes en train de développer une base de données relationnelles et nous nous posions la question à savoir qu'est-ce qui est plus lourd (en frais d'espace) entre une donnée de type INT(3) ou une une clée étrangère qui pointe vers un ID?

    Il y aura environ 10 données différentes contenu dans ces INT(3)... donc beaucoup de redondance si on met directement la donnée à l'intérieur.

    Alors que si je mets ces données dans une autre table et que je pointe dessus avec une clé étrangère, j'évites cette redondance mais c'est là qu'émerge la question : "Qu'est-ce qui est plus lourds entre INT(3) et une FK?"

    Bien sûr, ici on parle d'une table qui contiendra plus de 80 000 entrées...

    Qu'est-ce que vous en pensez?

    Sébastien

    Merci

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut Re: Quelle est la grosseur d'un pointeur (FK)?
    Citation Envoyé par sekiryou
    Alors que si je mets ces données dans une autre table et que je pointe dessus avec une clé étrangère, j'évites cette redondance...

    Qu'est-ce que vous en pensez?
    Que tu dois te perfectionner sur la notion de FK....

    En effet, déclarer une FK, c'est uniquement mettre en place un mécanisme de contrôle.

    Cela ne te dispense absolument pas de déclarer une colonne à l'identique de la FK, dans ta table "pointeuse" :


    Citation Envoyé par Aide MySQL
    Les colonnes correspondantes de la contrainte dans la table et la table de référence doivent avoir le même type, pour éviter les conversions lors des comparaisons.
    Un petit tour ici s'impose
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    Dans mon cours de Oracle mon prof m'avais expliqué que les données de FK ne sont pas vraiment stocké dans la table qui pointe, mais seulement une adresse d'où se situe cette donnée... Peut-être ai-je mal compris ?

    En tout cas, peut-importe... je vais m'expliquer mieux (enfin, j'espères):

    Qu'est-ce qui est moins gourmand en espace ? (Pensez toujours que normalement la table tbl_code devrait contenir environ 80 000 enregistrement!)

    Ceci :

    Ou ceci :


    Le premier a une redondance évidente (qui se répercutera sur 80 000 enregistrements...) tandis que le deuxième utilise une FK.

    Merci.

    Sébastien

    ──────────────────
    What we see now is like a dim image in a mirror, than we shall see face to face.

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Bien évidemment, le 1er est - gourmand en espace, puisque tu fais l'économie de 2 INTEGERs, ainsi que de l'index sur la colonne de FK.

    Cependant, même avec 80.000 lignes, ça représente peu de chose par rapport aux services rendus par la mise en oeuvre des FK :le contrôle est sous la coupe du serveur (c'est le moteur SGBD qui bosse) et cela assure un maximum de cohérence.

    Alors que si tu implémentes la 1 ère solution, la cohérence sera à ta charge.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    Ça ça répond à ma question, merci beaucoup.

    a+

    Sébastien
    ────────────────────
    What we see now is like a dim image in a mirror, than we shall see face to face.

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

Discussions similaires

  1. Quelle est la valeur du pointeur si new échoue ?
    Par Stobbyo dans le forum Débuter
    Réponses: 2
    Dernier message: 24/06/2011, 23h30
  2. Réponses: 8
    Dernier message: 04/08/2004, 14h17
  3. execute/perform quelle est la différence?
    Par stago dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/06/2004, 10h51
  4. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31

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