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

MS SQL Server Discussion :

concaténer deux clefs ..


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 22
    Par défaut concaténer deux clefs ..
    Bonjour à tous..

    c'est quoi la procedure quand il sagit d'une table avec deux clefs primères(venant de deux autres tables biensûr avec relation 1----N cahcune vers cette table là) comment avoir une clé concaténée je veux dire comment s'y prendre.

    clef1, clef2 sont dans la même table3 qui les a repris des table1 et table2

    merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Salut,

    rien compris.
    C'est quoi la question ?

  3. #3
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Quelques éléments de vocabulaire :
    - une clé primaire est une contrainte d'unicité. Il ne peut y en avoir qu'une seule par table, qui garantit l'unicité de chaque ligne.
    - La notion de clé concaténée n'existe pas, par contre on parle de clé composite.

    Ce que tu veux, c'est créer des clés étrangères, c'est-à-dire une clé qui référence la clé primaire d'une autre table.
    Il te faut donc créer des clés étrangères, avec l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable ADD CONTRAINT fk... FOREIGN KEY (macolonne) REFERENCE table (colonne_cle_primaire)

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 22
    Par défaut
    Bonjour,

    excusez moi je me suis mal exprimé là-dessus:

    bon voilà, j'ai deux tables :

    table1 (PK_clef1)
    table2 (PK_clef2)
    entre lesquelles il y a une relation N----N, ce qui implique la création d'une 3ème table (table3) qui reprendra tous les attributs des 2 première tables, là normalement on aura les deux clefs etrangères(clef1 et clef2) en même temps, et la table3 doit avoir une clef primère.

    ma question est comment configurer cette clef primère dans cette table3 ?? est-ce qu'il faut concaténer les 02 clefs étrangères (clef1 et clef2), si c'est le cas comment s'y prendre.??

    merci les amis

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Hé ben on en voit de belle sur la non maitrise des bases de données relationnelle. Ne même pas savoir ce genre de choses m'étonne ! Mais d'ou sortez vous ?

    Bon alors un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    -- une table des commandes avec une clef monocolonne
    CREATE TABLE T_COMMANDE_CMD
    (CMD_ID           INTEGER NOT NULL PRIMARY KEY,
     CMD_DATE         DATE NOT NULL DEFAULT CURRENT_TIMESTAMP)
     
    -- une table de produit avec une clef monocolonne
    CREATE TABLE T_PRODUIT_PRD
    (PRD_ID           INTEGER NOT NULL PRIMARY KEY,
     PRD_DESIGNATION  VARCHAR(32) NOT NULL,
     PRD_PRIX_HT      DECIMAL(16,2) NOT NULL CHECK (VALUE > 0),
     PRD_TAUX_TVA     DECIMAL(4,2) NOT NULL DEFAULT 19.6)
     
    -- une table de détail des commandes avec une clef multicolonne
    CREATE TABLE T_COMMANDE_PRODUIT_CDP
    (CMD_ID           INTEGER NOT NULL FOREIGN KEY REFERENCES T_COMMANDE_CMD (CMD_ID),
     PRD_ID           INTEGER NOT NULL FOREIGN KEY REFERENCES T_PRODUIT_PRD  (PRD_ID),
     CDP_QUANTITE     FLOAT NOT NULL DEFAULT 1 CHECK (VALUE > 0),
     CDP_REMISE       FLOAT NOT NULL DEFAULT 0 CHECK (VALUE > 0),
     CONSTRAINT PK_CDP PRIMARY KEY (CMD_ID, PRD_ID))
    Regardez bien la dernière ligne !

    SQL est un langage qui s'apprend. Mon site web comme mes bouquins peuvent vous y aider !
    http://sqlpro.developpez.com/cours/sqlaz/ddl/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Concaténer deux listes
    Par Dunk dans le forum Pascal
    Réponses: 15
    Dernier message: 04/06/2025, 13h39
  2. Concaténer deux fichiers binaires
    Par mickael.be dans le forum Delphi
    Réponses: 7
    Dernier message: 30/07/2006, 13h11
  3. [Hashtable] trier par l'association de deux clefs
    Par alex.nd dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 20/08/2004, 20h00
  4. Réponses: 6
    Dernier message: 27/05/2004, 10h41
  5. Concaténer deux variables ?
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 19/12/2003, 13h53

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