Keine Cache-Version

Caching deaktiviert Standardeinstellung für diese Seite:aktiviert (code LNG204)
Wenn die Anzeige zu langsam ist, können Sie den Benutzermodus deaktivieren, um die zwischengespeicherte Version anzuzeigen.

Opérateurs relationnels : Jointure

La jointure entre deux relations X et Y selon une condition est le résultat d'une restriction sur le produit cartésien.

Définition mathématique

soient R(A,B,C) et S(C,D); R*S ≡ {(a,b,c) : (a,b) ∈ R ∧ (b,c) ∈ S}

Exemple de jointure2

Nous désirons connaître l'ensemble des coefficients par matière pour chaque élève dont l'adresse correspond à Rue Khi-Osk.

X: ETUDIANTS 
N° étudiantnomadresse
7CicloneRue Khi-Osk
16CalysRue de l'observatoire
24HalambiqueRue Khi-Osk
|
Y: TESTS 
matièrecœfficient
Egyptologie1
Astronomie3
|
Z = X JOIN (adresse="Rue Khi-Osk") Y 
N° étudiantnomadressematièrecœfficient
7CicloneRue Khi-OskEgyptologie1
7CicloneRue Khi-OskAstronomie3
24HalambiqueRue Khi-OskEgyptologie1
24HalambiqueRue Khi-OskAstronomie3

Décomposition de la jointure

Nous pouvons décomposer l'opération en un produit (entre les deux relations X et Y) sur lequel porte une restriction sur l'adresse.

P = PRODUIT (X, Y) 
N° étudiantnomadressematièrecœfficient
7CicloneRue Khi-OskEgyptologie1
7CicloneRue Khi-OskAstronomie3
16CalysRue de l'observatoireEgyptologie1
16CalysRue de l'observatoireAstronomie3
24HalambiqueRue Khi-OskEgyptologie1
24HalambiqueRue Khi-OskAstronomie3
Z = SELECTION (P, adresse="Rue Khi-Osk") 
N° étudiantnomadressematièrecœfficient
7CicloneRue Khi-OskEgyptologie1
7CicloneRue Khi-OskAstronomie3
24HalambiqueRue Khi-OskEgyptologie1
24HalambiqueRue Khi-OskAstronomie3

Remarque

En décomposant le jointure en deux opérations relationnelles, nous pouvons constater que l'ordre dans lequel sont effectuées les opérations n'influe pas sur le résultat, mais peut influencer énormément les performances si le nombre de tulpes est très élevé. En effet, dans le cas de notre exemple, si la sélection est effectuée avant le produit, nous pouvons limiter le nombre d'éléments à traiter ensuite.

Theta-jointure (theta join)

Nous pouvons parler de theta-jointure lorsque la condition est une comparaison entre deux attributs.

Equi-jointure (equi join)

Nous sommes dans le cas d'une equi-jointure lorsque la condition porte sur une égalité entre deux attributs.

Jointure naturelle (natural join)

Lors d'une equi-jointure entre deux attributs qui portent le même nom, nous pouvons la qualifier de jointure naturelle.

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 19/03/2002, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/analyse-relation-jointure.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Aufzeichnungen

  1.  pk, fk, et id : Les suffixes pk, fk, et id correspondent à la même donnée, mais permettent de mieux identifier leur origine, leur rôle, et éviter des conflits dans le cas de jointures:
    - pk, pour "Primary Key" est l'identifiant unique utilisé dans la table d'origine.
    - fk, pour "Foreign Key" est l'identifiant unique utilisé dans une autre table, pour référencer la clé de la table d'origine(pk).

  2.  Nommer des tables et des colonnes : Les noms utilisés ici pour les objets relationnels sont en majuscules. Dans le cas d'une base de donnée, j'utiliserais de préférence:
    - uniquement des minuscules,
    - pas de caractères accentués,
    - uniquement des termes anglais,
    - le nom de la table préfixé par t_,
    - le nom d'une table de relation préfixé par tj_,
    - le nom d'une colonne d'une table normale préfixé par le nom de la table (pour éviter les problèmes lors de jointures),
    - et le nom de table au singulier (bien que ce dernier point soit vraiment discutable).
    Ceci n'est en tout cas qu'une manière de procéder, car il n'existe pas de standard vraiment appliqué en matière de nommage dans les bases de données au moment de la rédaction de cette page.

    Exemple:
    t_student {student_pk, student_lastname, student_firstname}
    tj_student_address{student_fk, address_fk}
    1

Inhaltsverzeichnis Haut