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

Langage SQL Discussion :

Créer une colonne qui peut contenir plusieurs données


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Créer une colonne qui peut contenir plusieurs données
    Bonjour à tous,

    J'ai créé une table qui est enregistre les informations sur des clients. Mon problème est qu'en fait je veux que l'une de ces colonnes puisse contenir plusieurs données un peu comme une wishlist composée de plusieurs produits, mais je ne sais pas comment faire pour retourner un produit en particulier de la wishlist.

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    C'est une très mauvaise idée. Une colonne => une donnée.
    Tu devrais donc plutôt ajouter une table qui fait le lien entre le client et le produit.

    Tatayo.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 767
    Points : 10 764
    Points
    10 764
    Par défaut
    Bonjour, il s'agit en effet d'une mauvaise idée (pour le cas que tu cites). Cela pourrait être utilisable si la colonne était pensée comme un champ libre.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    C'est une très mauvaise idée. Une colonne => une donnée.
    Tu devrais donc plutôt ajouter une table qui fait le lien entre le client et le produit.

    Tatayo.
    merci beaucoup mais comment suis je censé faire le lien?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Darkzinus Voir le message
    Bonjour, il s'agit en effet d'une mauvaise idée (pour le cas que tu cites). Cela pourrait être utilisable si la colonne était pensée comme un champ libre.
    Ah d'accord, je comprends. Merci

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Citation Envoyé par jean jojo Voir le message
    merci beaucoup mais comment suis je censé faire le lien?
    Comme avec n'importe quelle table: tu y mets (entre autre) deux colonnes, l'une qui contient l'id du client, l'autre l'id du produit, chacune avec une contrainte d'intégrité.
    Tu y ajoutes une colonne auto-incrémentée qui est l'identifiant de la ligne, et ensuite les données annexes: quantité, date d'ajout… bref ce dont tu as besoin.

    Tatayo.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    c'est compris je vais le faire .Merci beaucoup pour votre aide

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Comme avec n'importe quelle table: tu y mets (entre autre) deux colonnes, l'une qui contient l'id du client, l'autre l'id du produit, chacune avec une contrainte d'intégrité.
    Tu y ajoutes une colonne auto-incrémentée qui est l'identifiant de la ligne, et ensuite les données annexes: quantité, date d'ajout… bref ce dont tu as besoin.

    Tatayo.
    Si la table en question est issue de la relation entre CLIENT et PRODUIT, alors il ne faut pas lui ajouter d'identifiant primaire, son identifiant primaire sera la concaténation de l'identifiant client et de l'identifiant produit, chacun de ces identifiants faisant en effet référence à la table issue de l'entité-type CLIENT et PRODUIT du MCD.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    En fait ça dépend, est-ce qu'un lien entre un client et un produit est unique ou pas ?

    Tatayo.

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Non, ça ne dépend pas : vu que le besoin est de pouvoir enregistrer tous les produits souhaités pour un client, sauf à considérer qu'un produit est mono-client (ce serait un cas très très particulier qui mériterait d'expliquer le contexte...) on a bien un modèle conceptuel

    CLIENT 1,n --- souhaiter --- 0,n PRODUIT

    Donc des cardinalités max "n" de part et d'autre, ce qui implique la génération d'une table issue de l'association "souhaiter"

    Cette table aura pour PK ID_client + ID_produit dans cet ordre ou pas

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Je suis tout à fait d'accord sur le modèle, il faut bien une table d'association entre Produit et Client.
    Ce que je voulais dire, c'est qu'on n'a pas tous les détails concernant le besoin initial, donc on ne sait pas si le couple Produit/Client est unique (même si tout semble l'indiquer, je l'admets).
    Si oui, alors je te rejoins, le couple idClient/idProduit sera la clé.
    Sinon, il faut bien ajouter un id dans cette table.

    Tatayo.

Discussions similaires

  1. MAJ d'une colonne qui peut varier
    Par Marc_27 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/08/2012, 16h07
  2. Réponses: 2
    Dernier message: 26/10/2011, 11h47
  3. Réponses: 5
    Dernier message: 21/01/2010, 15h35
  4. INDEX sur une colonne qui peut être NULL
    Par dorian53 dans le forum Requêtes
    Réponses: 15
    Dernier message: 29/11/2007, 17h13
  5. Réponses: 1
    Dernier message: 05/02/2007, 10h11

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