#1 Sun 29 March 2015 11:35
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Arcgis 9.3 - jointure et relation entre tables
Bonjour à tout le monde,
Ben, vraiment je suis débutante en termes de manipulation des SIG et plus précisément en ArcGis, pour celà j'aimerai bien que mes questions ne sont pas stupides.
Ma question est que j'ai un modèle conceptuel de données, et je veux l'implanter sous ArcGis, alors je ne sais si les associations qui se trouvent entre les classes d'entités de mon modèle seront réalisées à l'aide d'une jointure ou bien d'une relation. C'est à dire je ne sais pas quand je dois créer une jointure et quand je dois créer une relation, quand je dis que l'association=jointure et quand je dis que l'association entre ces deux tables = relation
j'arrive pas à faire la différence, et merci d'avance.
EDIT modération : ajout version arcgis
Hors ligne
#2 Mon 30 March 2015 07:38
- daniellopez
- Participant actif
- Lieu: france
- Date d'inscription: 22 Jan 2015
- Messages: 80
Re: Arcgis 9.3 - jointure et relation entre tables
Avec ArcGis la différence entre jointure et relation vient de la cardinalité:
Tu as deux tables : A et B
Si la relation conceptuelle entre A et B est 1 à 1 ou n à 1, tu peux créer une jointure
Par contre si la relation est de 1 à n ou de n à n tu ne peux pas créer de jointure, tu ne peux créer qu'une relation.
Une jointure crée une table virtuelle unique avec les attributs de A et de B. Chaque enregistrement de A est collé à l'enregistrement de B qui lui correspond, et s'il n'y a pas de correspondance, avce des attributs de B vides.
Si pour un enregistrement de A il y a plusieurs enregistrements de B (1 à n), ArcGis ne peut pas choisir quel enregistrement de B coller à A. On ne peut pas faire une table unique (jointure).
Dans ce cas, on fait une relation, qui ne fabrique pas de table virtuelle unique. C'est seulement quand on navigue dans les enregistrements de A, qu'ArcGis pourra indiquer quels enregistrements de B correspondent à l'enregistrement courant de A.
En clair, avec une jointure on peut utiliser les attributs joints comme s'ils faisaient vraiment partie de la table A (analyse, requête, symbologie)
Avec une relation on ne peut pas, on peut seulement voir les enregistrements de B quand on utilise l'outil info.
Daniel
Hors ligne
#3 Mon 30 March 2015 11:29
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour, Daniellopez
Merci pour votre éclaircissement (une réponse plus adéquate), donc pour faire la différence je me base sur les cardinalités, et pour la jointure spatiale comment je dois faire? c'est le même principe?
par exemple si j'ai le modèle suivant (sans dessin):
Wilaya 1,N Contenir 1,1 Commune
comment faire?
Hors ligne
#4 Mon 30 March 2015 11:47
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour, à tous
il y'a une question qui me casse la tête depuis tant
Est ce que les classes d'entité composant le jeux de classe d'entité doivent être reliées ou jointes (jointure attributaire ou spatiales) entre elles?
Une autre question, au niveau d'Arcgis c'est comme au niveau d'Access la jointure ou la relation s'effectue à l'aide de la clé primaire de la table A et la clé secondaire de la table B (clé primaire de A qui est migrée vers la table B) ou bien elle se base sur n'importe quel attribut qui est en commun entre les deux tables?
Hors ligne
#5 Mon 30 March 2015 18:15
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
(suite)
quand je dois regrouper les classes d'entités dans un jeu de classes d'entités?
Hors ligne
#6 Wed 01 April 2015 10:53
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour à tout le monde
Vraiment je suis débutante en ce domaine, j'ai besoin de votre aide.
au moins une personne me répond
salut
Hors ligne
#7 Wed 01 April 2015 23:13
- daniellopez
- Participant actif
- Lieu: france
- Date d'inscription: 22 Jan 2015
- Messages: 80
Re: Arcgis 9.3 - jointure et relation entre tables
La seule chose qui est propre à un jeu de classes d'entités est le système de coordonnées.
Quand on importe une classe d'entités dans un jeu, on ne peut pas choisir un système de coordonnées. La classe sera forcément dans le système défini pour le jeu.
A part çà, on l'utilise quand on veut, pour regrouper des données qui représentent quelque chose de commun.
Si non il y a des cas particulier où certains outils d'arcgis créent ou ont besoin d'un jeu de classes d'entités.Mais vu les questions que tu poses c'est plutot dans le sens d'unb modèle conceptuel et là, je pense que ça n'a rien à avoir avec un "concept".
Daniel
Hors ligne
#8 Thu 02 April 2015 10:28
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour Daniel;
Merci pour votre réponse, est ce que dans un jeu de classes d'entités je peux regrouper des classes d'entités de géométrie différentes c'est à dire
classe d'entité ponctuelle, classe d'entité linéaire et classe d'entité polygonale seront regroupées dans le même jeu de classes d'entités.
les classes d'entités mises dans le même jeu de classes d'entités doivent être jointes ou reliées entre elles dans un cadre général? et supposant
qu'on a un modèle conceptuel de données dans lequel il y'a des classes d'entités qui sont jointes/reliées entre elles en plus se trouve dans le
même jeu de classes d'entités comment faire dans ce cas là?
j'ai pas compris ceci.....c'est plutot dans le sens d'unb modèle conceptuel et là, je pense que ça n'a rien à avoir avec un "concept".
salut
Hors ligne
#9 Thu 02 April 2015 11:07
- Sophie_Mollard
- Participant occasionnel
- Lieu: Besançon
- Date d'inscription: 24 Sep 2013
- Messages: 32
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour,
Pour répondre partiellement à ta question, cette aide sur le site internet d'ArcGIS est relativement claire :http://help.arcgis.com/fr/arcgisdesktop … 007p000000...
Tu peux mettre des classes d'entités de géométrie différentes dans un jeu de classe d'entités, en tous cas sur ArcGIS 10.0. Et tu n'as pas besoin de les joindre ou de les relier : la seule condition porte sur le système de coordonnées qui doit être unique.
Bon courage !
Dernière modification par Sophie_Mollard (Thu 02 April 2015 11:18)
Hors ligne
#10 Sun 05 April 2015 12:21
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour Sophie,
Merci pour la réponse, mais j'ai pas bien saisie, supposant que j'ai dans mon schéma conceptuel de données le cas suivant:
un client peut faire une ou plusieurs réservations alors qu'une réservation peut être faîte par un ou plusieurs client bon dans ma Géodatabase, j'ai
créé deux tables une pour client et la 2èmme pour réservation bon normalement je mis pas la clé du client comme clé etrangère dans la table
réservation, de même je mis pas la clé de réservation dans la table client comme clé étrangère, car les cardinalité est 1,N dans les deux sens
donc comment faire la relation entre ces deux tables du faite que j'ai pas un champ en commun entre les deux tables.
Merci d'avance.
Hors ligne
#11 Sun 05 April 2015 14:47
- daniellopez
- Participant actif
- Lieu: france
- Date d'inscription: 22 Jan 2015
- Messages: 80
Re: Arcgis 9.3 - jointure et relation entre tables
Mes notions sont assez sommaires (quelques cours pas toujours très réveillé) mais le peu qui me reste me semble correspondre à ça:
quand le MCD est de type entité - relation - entité est que les cardinalités sont 1,n et n,1
le MPD (modèle physique de données) se traduit par trois tables
- la table clients avec u identifiant client
-la table réservations avec un identifiant réservation
-la table "relation client-résa" avec des enregistrements contenant un champ identifiant client et un champ identifiant résa
chaque couple client/résa origine un enregistrement de la table
Les requêtes de type quelles réservations ont été faites par tel client ou quels clients ont fait telle réservation se font sur cette table intermédiaire et non sur les tables client ou résa.
Hors ligne
#12 Sun 05 April 2015 14:56
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour,
comment faire la relation entre ces deux tables du faite que j'ai pas un champ en commun entre les deux tables.
Tu peux utiliser le mécanisme de classe de relation : Avantages des classes de relations.
Cela revient à créer la table "relation client-résa" comme l'appelle Daniel.
Il faut ensuite, "remplir" cette table intermédiaire : Population d'une table de classes de relations attribuées (table intermédiaire).
A+
Franck
Hors ligne
#13 Sun 05 April 2015 15:39
- daniellopez
- Participant actif
- Lieu: france
- Date d'inscription: 22 Jan 2015
- Messages: 80
Re: Arcgis 9.3 - jointure et relation entre tables
Quelque part tu as dit que tu utilises arcgis 9.3, mais tu n'as pas dit quel niveau de licence.
Je ne sais pas pourquoi je me suis dit que tu avais la licence ArcView (maintenant Basic). Ma réponse précédente est à ce niveau de licence, celle de Franck est au niveau ArcInfo ou Editor.
Si on connait ta config ça sera plus facile de trouver les réponses adaptées et ça te fera gagner du temps.
Hors ligne
#14 Tue 07 April 2015 15:56
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
Bonjour à tout le monde,
Merci Franck, merci Daniellopez pour vos réponses.
Pour le niveau de licence j'utilise Arcinfo, alors tu me conseille d'utiliser la solution de Franck "classes de relations"
j'ai pas bien saisi les étapes de sa création pouvez vous me donner des éclaircissements pour le même exemple
un client peut faire une ou plusieurs réservations alors qu'une réservation peut être faîte par un ou plusieurs client bon dans ma Géodatabase, j'ai
créé deux tables une pour client et la 2èmme pour réservation bon normalement je mis pas la clé du client comme clé etrangère dans la table
réservation, de même je mis pas la clé de réservation dans la table client comme clé étrangère, car les cardinalité est 1,N dans les deux sens
donc comment faire la relation entre ces deux tables du faite que j'ai pas un champ en commun entre les deux tables.
Merci d'avance.
Hors ligne
#15 Wed 08 April 2015 10:13
- SirSamari
- Juste Inscrit !
- Date d'inscription: 3 Jan 2015
- Messages: 4
Re: Arcgis 9.3 - jointure et relation entre tables
La discussion est très intéressante. Meriem ce que j'aimerais que tu comprenne est que le MCD est légèrement différent du MPD (modèle physique de données).
Quand dans ton MCD ta une relation N à N (plusieurs à plusieurs) c'est ton cas, la règle dit que dans le MPD (Géodatabase par exemple), il faut créer une troisieme table dont les attributs sont les identifiants de tes deux premieres tables table clients et table réservation).
Ainsi tu dois créer dans ta géodatabase une 3è table qui s'appelle, par exemple, "Reservation_Client" avec deux attribut (ID_Reservation et ID_Client) c'est elle qui te permettra de faire la liaison entre la table "client" et la table "reservation"
Hors ligne
#16 Wed 08 April 2015 11:42
- najah_meriem
- Participant occasionnel
- Date d'inscription: 9 Feb 2014
- Messages: 29
Re: Arcgis 9.3 - jointure et relation entre tables
bonjour à tout le monde,
Mercie pour vos réponses assez claires.
bon pour faire le chois si je fais une jointure ou bien une relation j'ai conclu qu'il faut voire les cardinalités, dans le modèle entité association
comment faire la différence c'est à dire comment je sais qu'il s'agit de la table1 et de la table2 car dufaite qu'il faut voir les cardinalités donc le jeu
se base sur les cardinalités relatives à la première table (sens 1) donc supposant que dans mon modèle si je prend le sens 1 (A est la 1ère table
et B est la 2èmme table) selon les cardinalités relatives à A m'indique de faire une jointure alors si je prend le sens 2 (B est la 1ère table et A est
la 2èmme table) selon les cardinalités on doit faire une relation dans ce cas il y'a un conflit ce qui implique qu'il est nécessaire le sens de la lecture
donc qu'elle est la règle qui me dit que A ou B est la 1ère table et B ou A est la 2èmme table, après connaitre le sens de lecture je pourrai passer
maintenant à voir les cardinalités.
Mercie d'avance.
Hors ligne