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

Décisions SGBD Discussion :

1 champ de type enum à 3 valeurs ou 2 champs booléens ?


Sujet :

Décisions SGBD

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 143
    Points : 68
    Points
    68
    Par défaut 1 champ de type enum à 3 valeurs ou 2 champs booléens ?
    Bonjour

    Je stocke des informations sur un objet dans une table de base de données MySQL.
    L'objet peut avoir le caractère A ou ne pas l'avoir.
    L'objet peut avoir le caractère B ou ne pas l'avoir.
    Cependant l'objet ne peut pas avoir ni A et ni B ; il a au moins une des caractéristiques.

    Au niveau performance et pratique, que faire ?
    - un champ de type ENUM ('A','B','AB')
    ou
    - 2 champs A et B de type Vrai/Faux avec un contrôle pour que les deux ne valent pas Faux à la fois.


    Merci d'avance pour vos conseil

  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
    Je vote pour l'ENUM...

    2 champs + 1 test est selon moi moins optimisé

    Ainsi, ton "concept" reste sur 1 colonne et pas sur plusieurs. Comme ça, si demain tu as besoin d'une valeur C en +, t'auras beaucoup moins de pb
    "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 éclairé

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Points : 657
    Points
    657
    Par défaut
    ENUM bien sûr. En plus la plupart des sgbd stockent un booléen sur un octet ou un entier.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 143
    Points : 68
    Points
    68
    Par défaut
    Merci pour vos réponses qui confortent mon choix.

    Passez un bon week-end

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

Discussions similaires

  1. [MySQL] Valeurs d'un champ de type enum ?
    Par ybruant dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/11/2007, 16h13
  2. [SQLite] SQLite et champ de type ENUM
    Par Linaa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/05/2006, 13h41
  3. lister les valeurs d'un champs de type enum...
    Par korrigann dans le forum Requêtes
    Réponses: 6
    Dernier message: 27/04/2006, 15h44
  4. [VB]Passage d'une valeur NULL à un champ de type date?
    Par anikeh dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 01/02/2006, 17h04
  5. Réinitialiser les valeurs d'un champ de type identify
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2005, 13h39

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