Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Bonjour François,

J'ai un peu hésité entre "non equi-jointure" et "théta-jointure" me demandant ce qui était le plus compréhensible pour les anglo-saxons :-) Mais si l'on veut être rigoureux il faut plutôt dire "théta-jointure" qui est le terme utilisé en algèbre relationnelle (et non pas non-equi jointure qui est présenté comme simplement une caractéristique de la théta-jointure). Ça me fait un peu bizarre de dire "equi-join" ou "théta-join" (c'est vraiment du franglais : moitié français, moitié anglais :-)) mais bon, si c'est compréhensible...

Je ne suis pas tout à fait d'accord sur ta 2ème remarque. Pour moi il y a 2 catégories de jointures : - la jointure interne (inner) ou "classique" (equi-jointure) ne renvoie des lignes que si la colonne de jointure d'une table est égal à la colonne de jointure de l'autre table. - la jointure externe (outer) affiche toutes les lignes d'une table qu'il y ait ou non correspondance avec l'autre table de jointure ( les colonnes pour lesquelles il n'y a pas de correspondance sont remplies avec la valeur NULL).La jointure externe se subdivise en jointure gauche, jointure droite et jointure complète (FULL).

Ceci dit, c'est juste pour le plaisir de discuter avec toi :-) Dans mes tests je n'ai pas tellement pris en considération ces aspects théoriques. J'ai juste monté une petite batterie de tests comportant quelques types de jointures, en vrac, pour montrer que des requêtes faisant appel à une jointure ne donnaient pas des résultats corrects.

J'attends la réponse de Sophie pour tenter :-) d'ouvrir le problème dans bugzilla.

Bonne journée,
Bernard


Le 30/10/2010 07:25, François Gatto a écrit :
Bonjour Bernard,

Le 29/10/2010 23:10, ribotb a écrit :
Bonsoir Sophie,

J'ai préparé les éléments pour ouvrir un problème dans bugzilla. J'ai un
petit souci avec deux termes d'algèbre relationnelle que je ne sais pas
traduire : il s'agit de equi-jointure et théta-jointure. Tu crois que je
peux laisser ça comme ça ?


Tu peux simplement les dénommer "equi join" et "theta join".
Les théta-jointures étant des "non-equi joins", tu peux employer cette dénomination "non-equi join".

Précision :
"inner join" et "outer join" sont des subdivisions de "equi join".

Francois Gatto


Voici comment pourrait se présenter la fiche :

Summary : SQL queries involving a join make incorrect results.

Description :
Queries are created by clicking the icon in the left pane application
window's databases.

The following cases were tested:
- "equi jointure" : a simple join that displays the sex label for each
student
- inner join : same result as equi-jointure
- self join : displays the number of students who have a note in the
subject number 1 less than
the note obtained in the subject number 2.
- left outer join : displays all students having whether or not, a note.
If a student does not
have a note, the field Numetu of the corresponding table (NOTES) will be
NULL.
- right outer join : displays all students who have at least one note
- "théta-jointure" : displays for each student, how many are before him
on the alphabetical list names.

Queries with union (UNION, UNION ALL) and intersection (INTERSECT) of
tables gave correct results.

Attachment :
Ma mini-base de test, les résultats obtenus avec OOo 3.2.1, les
résultats obtenus avec LibO 3.3.0 beta 2

Merci de me donner ton avis.
Bernard

Le 26/10/2010 18:32, Sophie Gautier a écrit :
Bonjour,

2010/10/26 François Gatto<cesculino@gmail.com>:
Bonjour,

Le 26/10/2010 16:07, pierre-yves.samyn a écrit :
Bonjour

Message du 24/10/10 19:56
De : "ribotb"
Objet : [fr-discuss] [Base] jointures


J'ai préparé une petite base avec toutes sortes de requêtes de
jointures. Il n'y en a qu'une seule qui semble fonctionner avec LibO.

Quelques précisions :

Je reproduis le problème dans mon environnement : XP - SP3 et
LibO "courante" 330m9(Build:1)

Il suffit toutefois de passer en mode "Exécuter directement le SQ" pour
que
les requêtes fonctionnent.

Il va de soi que je ne considère pas cela comme satisfaisant. C'est
juste
un
élément d'information.

Par ailleurs, je signale ici, mais je pense ouvrir un fil (poster
une RFE
sur bugzilla)
que le mode ébauche de LibO transforme de la même manière que OOo les
instructions SQL de jointure autre que naturelles.

Exemple, ceci :

SELECT DISTINCT "E"."Nometu", "N"."Numetu" FROM "ETUDIANT" "E" LEFT
OUTER
JOIN "NOTES" "N" ON "E"."Numetu" = "N"."Numetu"

Devient, après passage en mode ébauche :

SELECT DISTINCT "E"."Nometu", "N"."Numetu" FROM { OJ "ETUDIANT" AS "E"
LEFT OUTER JOIN "NOTES" AS "N" ON "E"."Numetu" = "N"."Numetu" }

J'ai toujours trouvé cette syntaxe plus complexe, moins intuitive,
voire...
vaguement repoussante dès lors qu'on a plusieurs jointures à écrire :)

Il va sans dire que je n'utilise pas le mode ébauche dans ce cas (sauf
pour la sélection
des tables& champs).


Cordialement
Pierre-Yves

Je partage tes avis.
Dans les requêtes de Bernard il y en avait au moins une qui
fonctionnait à
condition d'y placer les champs clé.
Mais bon toutes ces accommodations, quand elles sont possibles, ne
répondent
pas aux attentes et sont de nature à repousser les utilisateurs lambda,
alpha et oméga.
Est-ce que vous vous sentez de rentrer les différentes bugs sur
BugZilla avec les exemples ?

À bientôt
Sophie







---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 101029-2, 29/10/2010
Analyse le : 30/10/2010 11:06:31
avast! - copyright (c) 1988-2010 AVAST Software.
http://www.avast.com



--
E-mail to discuss+help@fr.libreoffice.org for instructions on how to unsubscribe
List archives are available at http://fr.libreoffice.org/lists/discuss/
All messages you send to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.