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 :

jointure externe sans clé ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par défaut jointure externe sans clé ?
    bonjour,

    est il possible de faire des jointures externes (en l'occurence sous Oracle avec des (+) ) sur des tables sans clé primaires ??

    Pour l'instant mes tables n'ont pas de clé et mes tests de jointures externes ne marche pas (toujours le meme nombre de resultats...)


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 138
    Par défaut
    La clé primaire permet d'identifier les lignes de la table.
    L'absence de clé primaire (et d'index correspondant !) ne peut pas modifier les résultats de la requête.
    En revanche cela peut influer sérieusement sur les performances
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par défaut
    merci de ta reponse,


    en fait, si ma jointure externe ne marchait c'est parceque j'ai oublié de mettre le (+) sur tout les champs de la jointure (plusieurs champs sont necessaire pour identifier un enregistrement) ... donc forcement ca marchait pas

    Par contre l'autre partie de ta reponse sur les performances (absence de clé) explique peut etre que ma requete est extrement longue a s'executer.

    Je vais ajouter des clés.

    Merci.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par défaut
    encore une petite question,

    dans le precedent post je dis que je vais ajouter des clés a mes tables vu mes problèmes de performances

    Mais le nombre de tables est important, donc l'ajout de clé risque de me couter cher !!

    Alors j'aurais voulu connaitre les reels gains en performance lorsque une table contient des clés. Les enregistrements sont deja indexé en interne (ROWID) si j'ai bien compris ... donc comment les clé peuvent ajouter de la perfomance ds les jointures ??

    pour moi, les clés etaient fait pour gerer l'unicité des enregistrements et non pour des questions de performance

    pouvez vous m'elclairer ??

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 138
    Par défaut
    Il ne faut pas confondre clé et index...

    La clé est à usage fonctionnel :
    - clé primaire pour garantir l'unicité et l'identification de la ligne dans la table
    - clé étrangère pour vérifier l'intégrité référentielle

    L'index est à usage physique ; il permet d'accéder plus rapidement à une ligne dans la table.

    Par définition, un index est associé à la clé primaire.
    Des informations complémentaires ici.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. [XL-2003] requête sans passer par une jointure externe
    Par kizou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/06/2009, 11h32
  2. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 13h10
  3. [ jointure externe ] j'y pompe rien
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/12/2003, 18h57
  4. [Interbase] [Triggers] jointure externe
    Par AnestheziE dans le forum InterBase
    Réponses: 9
    Dernier message: 17/11/2003, 17h17

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