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

Accès aux données Discussion :

[SQL Server][ASP.net] clefs étrangères qui ne se propagent pas


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut [SQL Server][ASP.net] clefs étrangères qui ne se propagent pas
    Bonjour,

    J'ai une question sur la propagation des clefs étrangères.

    J'ai une table t1 avec le schéma suivant :

    cleprim (clef primaire)
    nom
    idnote(clef étrangère)

    et une table t2 :

    idnote(clef primaire)
    clefprim
    nom

    dans T1 clefprim est auto incrémenté et idnote fait référence à idnote de t2

    Voilà comment je fait pour lier mes deux tables : j'ajoute mes données à t1 puis je sauvegarde nom et clefprim que j'ajoute à t2 (idnote de t2 étant autoincrémentée)
    Mais idnote de t2 n'est pas propagé dans t1... il faudrait que je récupère cette valeur et faire un update dans t1.
    Ce n'est pas pratique, je n'ai jamais gérer de tables avec clefs étrangères, comment s'y prendre pour plus de facilité ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2002
    Messages : 77
    Points : 73
    Points
    73
    Par défaut
    salut

    je vois que tu as répété les mêmes champs dans tes deux tables
    il vaut mieux définir une clé primaire dans T1 et la mettre comme etrangere dans T2 puis les autres champs differents pour ne pas avoir de la redondance dans tes requêtes

    Si tu nous dit c koi exactement T1 et T2 (genre : Clients , Commandes ..) on pourra te donner un exemple.

    Bonne chance

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Midou
    salut

    je vois que tu as répété les mêmes champs dans tes deux tables
    il vaut mieux définir une clé primaire dans T1 et la mettre comme etrangere dans T2 puis les autres champs differents pour ne pas avoir de la redondance dans tes requêtes

    Si tu nous dit c koi exactement T1 et T2 (genre : Clients , Commandes ..) on pourra te donner un exemple.

    Bonne chance
    Ok, je refait donc le schéma



    Programmeur
    idprog (primaire)
    nom
    type
    ...
    idchef (étrangère venant de client)

    ChefProj
    idchef(primaire)
    nomchef (là en fait je réplique le nom de la table programmeur manuellement..)
    idprog (étrangère venant de programmeur)

    Voilà mes tables avec les clefs principale.


    Elles ont été faites en correlation avec mon MCD qui a été validé. En gros, un programmeur peut-être 1 à n fois chef de projet pour un client (client contient ausi des clefs étrangères, idchef et idprog).

    Edit: en fait je vous mait le schéma de ma base...


  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2002
    Messages : 77
    Points : 73
    Points
    73
    Par défaut
    salut

    Si tu veux que ça marche c mieux de ne pas utiliser les champs autoincrémentés comme des clés étrangères si j'ai bien compris comme dans T1 et T2

    pour la propagation il faut remplir manuellement les champs mais quand tu update une clé (qui est étragere dans une autre table) dans une table parent là tu verra le changement automatique de la même clé dans la table fille.


    bonne chance

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

Discussions similaires

  1. Problème connexion SQL server/ asp.net
    Par samir1985 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 15/06/2009, 15h05
  2. [SQL SERVER 2000] Problème clef étrangére
    Par Tankian dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/05/2004, 10h44

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