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

Oracle Discussion :

Avis sur 2 solutions pour récupérer une liste de valeurs


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut Avis sur 2 solutions pour récupérer une liste de valeurs
    Bonjour la team,

    je me pose une question et j'aurai aimé avoir votre avis dessus.
    Voilà, je souhaiterais récupérer une liste de valeur dans une table.

    Voici la structure de ma table 'ma_table' :
    mon_code 1 varchar2(50)
    ma_valeur varchar2(100)

    Pour mettre en place une liste de valeurs, 2 solutions peuvent être utilisées :
    - soit définir 'mon_code' comme valeur unique de ma table et lui affecter une liste de valeur.
    Exemple : mon_code = 'toto' / ma_valeur = 'valeur1, valeur2'
    Je récupère ainsi ma liste de valeur en faisait un split sur la(es) virgule(s) par exemple.
    - Ou bien, j'enregistre autant de ligne que de valeur.
    Exemple : ligne 1 -> mon_code = 'toto' / ma_valeur = 'valeur1'.
    ligne 2 -> mon_code = 'toto' / ma_valeur = 'valeur2'.
    etc.

    Même si je n'ai pas précisé le code Oracle, j'espère que vous avez compris la problématique.
    Quelle solution choisiriez-vous ?

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    C'est sans aucun doute possible vers la deuxième solution qu'il faut se tourner.
    Idéalement, il faudrait créer une table des codes avec une clef primaire numérique, et une table contenant les valeurs, référençant la table des codes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut
    Bonsoir aieeeuuuuu,

    et merci de votre réponse.
    Pourquoi privilégieriez vous la solution 2 ?

    Berni.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    La première solution semble violer la première forme normale et son principe d'atomicité.
    elle engendrera rapidement des problèmes de performances et rendra des requêtes compliquées à écrire...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut
    Merci de votre réponse aieeeuuuuu.

    Berni

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2012, 17h13
  2. Réponses: 2
    Dernier message: 17/06/2011, 09h10
  3. [débutant]méthode pour récupérer une liste
    Par Msysteme dans le forum C#
    Réponses: 10
    Dernier message: 27/02/2009, 12h01
  4. Réponses: 5
    Dernier message: 18/12/2007, 16h17
  5. Réponses: 2
    Dernier message: 29/06/2007, 14h49

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