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éveloppement SQL Server Discussion :

Cle etrangère sur une partie du cle


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut Cle etrangère sur une partie du cle
    Bonjour,
    Est il possible de créer une clé étrangère sur une partie de clé?

    Table A(a1,a2,b)
    Table C(c1,d,a1) --a1 est une clé étrangère qui fait référence à A.

    Ctd,
    A+

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonojur,

    C'est possible, à condition que la colonne a1 contienne des valeurs uniques :

    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
    CREATE TABLE C
    (
    	c1 [TYPE] NOT NULL PRIMARY KEY,
    	d [TYPE],
    	a1 [TYPE] NOT NULL CONSTRAINT UQ_C_a1 UNIQUE
    )
    GO
     
    CREATE TABLE A
    (
    	a1 [TYPE] NOT NULL CONSTRAINT FK_A_a1 FOREIGN KEY(a1) REFERENCES dbo.C(a1),
    	a2 [TYPE] NOT NULL,
    	b [TYPE]
    )
    GO
     
    ALTER TABLE dbo.A
    ADD CONSTRAINT PK_A PRIMARY KEY(a1, a2)
    Vérifiez que votre conception est bonne

    @++

  3. #3
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    Merci pour la réponse,
    j'ai vérifié la conception et j'ai trouve que j'ai du me tromper, en fait il manque un champ dans la table C : le champ a2

    merci encore pour votre réponse

    A+

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

Discussions similaires

  1. filtre sur une partie d'encodage
    Par cuci dans le forum Access
    Réponses: 2
    Dernier message: 03/11/2005, 18h29
  2. Réponses: 8
    Dernier message: 26/09/2005, 22h06
  3. tri sur une partie d'un champ
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 19/09/2005, 11h25
  4. Réponses: 5
    Dernier message: 06/09/2005, 16h01
  5. Changement de couleur de police sur une partie d'un caption
    Par kobe dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/07/2005, 10h18

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