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

SQL Oracle Discussion :

Jointure sans clé etrangere


Sujet :

SQL Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut Jointure sans clé etrangere
    bonjour tt le monde,

    j'ai une question bête mais comme même je veux la poser.
    est ce qu'on peut faire des jointures entre des tables sans avoir la contrainte des clés étranères.?

    merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Oui, fort heureusement !

  3. #3
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    La cle etrangere permet juste de lier des tables. Elle indique juste au systeme que le contenu d'une colonne ''provient'' en fait d'une autre table.
    Tu peux meme faire des jointures entre deux colonnes de nom differents. Si je ne m'abuse, la seule condition pour les jointures c'est que le type de donnees des deux colonnes doit etre identique.

  4. #4
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 943
    Par défaut
    Une jointure entre 2 tables implique de préférence un index sur la clef de jointure, autrement on a droit à un full table scan dans tous les cas.
    .

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Par défaut
    les clés étrangères décrivent une relation de dépendance entre deux tables (jointure naturelle), mais on peut trouver des relations "logique" entre deux tables à l'aide d'autres champs : le client et le commercial qui habitent la même région ou (euh) avec des noms qui commencent par la même lettre, on appellera cela des theta-jointures
    on pourra joindre selon un critère d'égalité (équi-jointure) comme avec n'importe quelle opération logique (<,>,<= ... Non équi-jointure )
    on pourra même imaginer faire des calculs, conversions sur le (ou les) champs d'une table puis comparer au champs d'une deuxième table pour construire cette jointure

    Citation Envoyé par rvfranck Voir le message
    Tu peux même faire des jointures entre deux colonnes de nom differents. Si je ne m'abuse, la seule condition pour les jointures c'est que le type de donnees des deux colonnes doit etre identique.
    oui les colonne peuvent avoir des noms différents mais peuvent également NE pas avoir le même type si on fait des conversions dans la comparaison ou bien des calculs.

    par contre je soutien star: "sans exploitation des index on a droit à un full table scan dans tous les cas"

Discussions similaires

  1. [MySQL] [Doctrine] Jointure sans relation
    Par Cladjidane dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/09/2009, 07h41
  2. Réponses: 7
    Dernier message: 29/07/2009, 10h44
  3. Innodb Jointure sans LEFT JOIN
    Par mokadjo dans le forum Requêtes
    Réponses: 6
    Dernier message: 15/04/2009, 17h50
  4. Jointure sans tenir compte de la casse
    Par Elise49 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 05/03/2009, 12h33
  5. Jointure sans le produit
    Par defcon_suny dans le forum Langage SQL
    Réponses: 9
    Dernier message: 11/07/2008, 09h55

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