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 :

Problème de création d'une clé étrangère qui est déjà clé primaire dans une autre table


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Par défaut Problème de création d'une clé étrangère qui est déjà clé primaire dans une autre table
    Bonjour,

    Quand je veux créer la table Inscription je reçois ce message :
    Il n'y a pas de clés primaires ou d'un candidat à la table référencée 'Projet' qui correspondent à la liste des colonnes de référencement dans la clé étrangère 'FK_Inscription_CodeProjet'
    Voila ma base de données :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    create table Employe
    (
    NumEmploye int identity,
    NomEmploye varchar(20),
    PrenomEmploye varchar(20),
    SexeEmploye char(1),
    DNaissEmploye datetime,
    FonctionEmploye varchar(30),
    constraint PK_Employe_NumEmploye primary key (NumEmploye)
    )
     
    create table Inscription
    (
    NumEmploye int,
    CodeProjet varchar(10),
    DateInscription datetime,
    constraint FK_Inscription_CodeProjet foreign key (CodeProjet) references Projet(CodeProjet),
    constraint FK_Inscription_NumEmploye foreign key (NumEmploye) references Employe(NumEmploye),
    constraint PK_Inscription_NumEmploye_CodeProjet primary key (NumEmploye, CodeProjet)
    )
     
     
    create table Projet
    (
    CodeProjet varchar(10),
    Typeproj varchar(20),
    DateDebut datetime,
    DateFin datetime,
    constraint FK_Projet_TypeProjet foreign key (TypeProj) references TypeProjet(TypeProj),
    constraint PK_Projet_CodeProjet primary key (CodeProjet, Typeproj)
    )
     
     
    create table TypeProjet
    (
    Typeproj varchar(20),
    LibelleProjet varchar(50),
    DureeProjet int,
    constraint PK_TypeProjet_TypeProj primary key (TypeProj)
    )
    Je sais vraiment pas d'où vient le problème et merci d'avance.

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Bonjour,

    C'est tout à fait normal...

    references Projet(CodeProjet),
    Vous tentez de référencer la table projet via CodeProjet mais "CodeProjet" n'est pas la clef primaire de Projet, c'est CodeProjet +TypeProj

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Par défaut
    Citation Envoyé par iberserk Voir le message
    Bonjour,

    C'est tout à fait normal...


    Vous tentez de référencer la table projet via CodeProjet mais "CodeProjet" n'est pas la clef primaire de Projet, c'est CodeProjet +TypeProj

    Oui c ca, mais comment le regler?
    Merci

  4. #4
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Soit inscription doit inclure le type de projet et faire la fk sur codeprojet/type projet.

    Soit se poser la question de la pertinence de la clef primaire de la table projet:

    Le code projet peut'il être lié à plusieurs type de projet?

    Si oui il vous manque une table listant de manière unique les projets, c'est elle qui doit être référencé par inscription.

    En clair revoir votre modèle...

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/05/2013, 20h38
  2. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  3. Réponses: 9
    Dernier message: 08/01/2009, 18h08
  4. Réponses: 2
    Dernier message: 07/12/2007, 15h20
  5. Comment compter dans une colonne ce qui est unique
    Par pilpoil dans le forum Excel
    Réponses: 5
    Dernier message: 08/08/2007, 11h33

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