[Résolu] Exprimer une relation n,m

Discussions sur le module de base de données de StarOffice NeoOffice ou OpenOffice.org Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOos

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.

[Résolu] Exprimer une relation n,m

Messagepar senacle » 05 Nov 2009 22:26

Bonjour,

J'ai une base OOo Base connectée à une base MySQL.
Je souhaite créer un formulaire dans OOo Base qui me permette d'ajouter des données.
Pour ajouter dans une seule table ou dans des tables liées par des relations de type 1,n, pas de problème particulier.

Par contre, quand les tables sont liées par une relation n,m, je ne vois pas comment procéder.

Le modèle :
Modèle.png
Modèle.png (10.62 Kio) Consulté 78 fois


Le formulaire :
Formulaire.png


Je veux donc pouvoir enregistrer plusieurs expositions pour une plante donnée.

Le modérateur a écrit: :alerte: Le titre de votre question n'est pas assez explicite ou ne reflète pas le problème que vous décrivez.

Merci de faire un effort sur le titre de votre question la prochaine fois. N'oubliez pas qu'un titre clair et précis augmente vos chances d'obtenir des réponses plus rapidement.
Dernière édition par senacle le 06 Nov 2009 15:13, édité 1 fois au total.
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: Ajout de données avec tables liées

Messagepar Pierre-Yves Samyn » 05 Nov 2009 22:40

Bonjour

senacle a écrit:Par contre, quand les tables sont liées par une relation n,m, je ne vois pas comment procéder.


Ce tutoriel donne un exemple de mise en œuvre
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: Ajout de données avec tables liées

Messagepar senacle » 05 Nov 2009 22:54

Je viens effectivement de tomber dessus.
Mais toutes les relations de cet exemple sont de type 1,n. Comme je l'ai indiqué, ça ne me pose pas de problème.

C'est pour les relations n,m que ça se complique...
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: Ajout de données avec tables liées

Messagepar Dude » 06 Nov 2009 10:52

senacle a écrit:C'est pour les relations n,m que ça se complique...

Effectivement car "n,m" n'existe pas en relationnel.

senacle a écrit:Je veux donc pouvoir enregistrer plusieurs expositions pour une plante donnée.

Code: Tout sélectionner   AgrandirRéduire
Plante <-1 - 1-> Supporte <-1 - n-> Exposition
OOo 3.2DEV EN sous Windows XP SP3

Pratique, utilisez le service CiJoint pour joindre un exemple et illustrer votre propos.

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.

Améliorer OOo en votant les issues
Avatar de l’utilisateur
Dude
GourOOou
GourOOou
 
Messages: 7936
Inscrit le: 03 Mar 2006 09:45
Localisation: Lyon, France

Re: Ajout de données avec tables liées

Messagepar Pierre-Yves Samyn » 06 Nov 2009 12:02

senacle a écrit:Mais toutes les relations de cet exemple sont de type 1,n. Comme je l'ai indiqué, ça ne me pose pas de problème.

C'est pour les relations n,m que ça se complique...


Euh... as-tu pris le temps de lire le tutoriel et notamment les explications sur la table Fournisseur-Produits :evil:

Dude a écrit:Effectivement car "n,m" n'existe pas en relationnel.


:?: :roll:

Capture-1.png
Capture-1.png (3.5 Kio) Consulté 60 fois
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: Ajout de données avec tables liées

Messagepar Dude » 06 Nov 2009 12:22

Ouais bon, c'est sur que relation n,m sous Google ramène plein de choses
pertinence_google.png

:mrgreen:

n,m est tout simplement une vue de l'esprit et traduite dans le modèle relationnel reviendra toujours aux classiques 0, 1, n
OOo 3.2DEV EN sous Windows XP SP3

Pratique, utilisez le service CiJoint pour joindre un exemple et illustrer votre propos.

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.

Améliorer OOo en votant les issues
Avatar de l’utilisateur
Dude
GourOOou
GourOOou
 
Messages: 7936
Inscrit le: 03 Mar 2006 09:45
Localisation: Lyon, France

Re: Ajout de données avec tables liées

Messagepar Pierre-Yves Samyn » 06 Nov 2009 12:40

Dude a écrit:Ouais bon, c'est sur que relation n,m sous Google ramène plein de choses


C'est sûr qu'en défilant jusqu'à la page Résultats 91... :)

Dude a écrit:n,m est tout simplement une vue de l'esprit et traduite dans le modèle relationnel reviendra toujours aux classiques 0, 1, n


Ce qui n'est pas une vue de l'esprit pour ce qui me concerne, c'est de tenter de donner des réponses aux questions

En l'occurrence, même si on peut revenir aux classiques 0,1,n, la question est clairement exprimée, dans un langage couramment utilisé, y compris "en relationnel".
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: Exprimer une relation n,m

Messagepar senacle » 06 Nov 2009 13:31

Bonjour,

La relation n,m existe bien dans un modèle Merise (MCD) :
MCD.png
MCD.png (2.54 Kio) Consulté 54 fois


(Dans l'exemple, on a n de part et d'autre, mais ça revient au même que n,m).

Une plante supporte une ou plusieurs (n) expositions.
Une exposition concerne 0 ou plusieurs (n) plantes.

A partir du MCD (modèle conceptuel de données), on génère le MPD (modèle physique de données) :
Modèle.png
Modèle.png (10.62 Kio) Consulté 54 fois


C'est bien parce qu'on a une relation n,m dans le MCD que dans le MPD, il y a la table "supporte".

Donc, maintenant, tout consiste à savoir comment, dans un formulaire qui me permet d'entrer les caractéristiques d'une plante, je peux spécifier une ou plusieurs expositions.

Faut-il faire des sous-formulaires imbriqués ?
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: Ajout de données avec tables liées

Messagepar Pierre-Yves Samyn » 06 Nov 2009 13:34

Décidément...

Pierre-Yves Samyn a écrit:Euh... as-tu pris le temps de lire le tutoriel et notamment les explications sur la table Fournisseur-Produits :evil:
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: Exprimer une relation n,m

Messagepar senacle » 06 Nov 2009 13:57

Oui, ça y est, je viens de voir que le relation entre produits et fournisseurs correspond à mon cas.

J'avais lu un peu trop vite et vu que des relations 1,n.

Je vais étudier davantage l'exemple et m'en inspirer.
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: [Résolu] Exprimer une relation n,m

Messagepar senacle » 06 Nov 2009 15:13

Bon, je me suis inspiré de l'exemple client-fournisseur.
Mais je ne veux pas afficher les expositions sous forme de tableau, mais dans une zone de liste à choix multiple.

zone1.png


zone2.png



Et là, j'ai beau préciser que je veux une sélection multiple, ça revient toujours à non.

zone3.png
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: [Résolu] Exprimer une relation n,m

Messagepar Pierre-Yves Samyn » 06 Nov 2009 15:28

senacle a écrit:je ne veux pas afficher les expositions sous forme de tableau, mais dans une zone de liste à choix multiple.
...
Et là, j'ai beau préciser que je veux une sélection multiple, ça revient toujours à non.


Les zones de liste disposent de la propriété Sélection multiple mais celle-ci n'est opérationnelle que pour les listes non associées à un champ de la table à laquelle est rattaché le formulaire (cf. par exemple). Autrement dit, cette sélection multiple ne fonctionne que pour des valeurs uniquement disponibles dans le formulaire : les choix faits ne sont pas enregistrés dans la table. Il faut obligatoirement (à ma connaissance) recourir à la programmation si on veut disposer de cette fonctionnalité.

A part ça, joindre une base est toujours plus efficace que des copies d'écran... (permet aux personnes tentées de répondre de travailler sur la base sans devoir "reconstruire" un environnement)
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: [Résolu] Exprimer une relation n,m

Messagepar senacle » 06 Nov 2009 15:46

Pierre-Yves Samyn a écrit:A part ça, joindre une base est toujours plus efficace que des copies d'écran... (permet aux personnes tentées de répondre de travailler sur la base sans devoir "reconstruire" un environnement)


Sauf que dans mon cas, ma base est connectée à MySQL, et je ne suis pas sûr qu'elle soit exploitable si je la poste.

Mais dans le doute, voici l'ébauche de ma base.

Jardinage.odb
(25.67 Kio) Téléchargé 2 fois
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51

Re: [Résolu] Exprimer une relation n,m

Messagepar Pierre-Yves Samyn » 06 Nov 2009 15:51

senacle a écrit:Sauf que dans mon cas, ma base est connectée à MySQL, et je ne suis pas sûr qu'elle soit exploitable si je la poste.


Pan sur le bec :!:

Alors Pierre-Yves, on ne sait pas lire ?

senacle a écrit:J'ai une base OOo Base connectée à une base MySQL.


:lol:

Tu as raison bien sûr, l'échange sur les cardinalités m'a fait oublié ce... détail :)
OOo 3.1.1 windows XP

A lire avant tout !
Pierre-Yves Samyn
GourOOou
GourOOou
 
Messages: 7433
Inscrit le: 02 Mai 2006 10:42

Re: [Résolu] Exprimer une relation n,m

Messagepar senacle » 06 Nov 2009 15:56

Pierre-Yves Samyn a écrit:Tu as raison bien sûr, l'échange sur les cardinalités m'a fait oublié ce... détail :)


C'est pô grave :D Tcho !


Bon, comme j'ai pas trop envie de programmer, je vais simplement faire comme dans l'exemple, avec un tableau et pas une liste déroulante.
OpenOffice 3.1.1 sous Ubuntu 8.04
senacle
Membre lOOoyal
Membre lOOoyal
 
Messages: 26
Inscrit le: 10 Oct 2008 11:51


Retour vers Base de données

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Google [Bot] et 1 invité