Fr:Établir les Relations

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:37, 9 August 2007 (edit)
Jgd (Talk | contribs)
(New page: {{redbox|Cet article fait partie de la série de tutoriels Base Aller et Retour}} Une partie de la puissance de Base tient au fait que c'est une base de donné...)
← Previous diff
Current revision (15:10, 19 November 2007) (edit) (undo)
Valterb (Talk | contribs)
(botlangbar -> IT)
 
Line 6: Line 6:
Les relations peuvent être établies d'une table à une seule autre ou d'une table à plusieurs autres. Dans le cas d'une relation unique, un enregistrement est relié à un unique enregistrement dans une autre table. Dans le cas d'une relation multiple, un enregistrement est relié à plusieurs enregistrements dans une autre table. Dans notre cas, la relation entre la table des Sorties (Field Trips) et celle des Apparitions ( Sightings) est une relation multiple ; lors d'une sortie, l'ornithologue devrait voir (espérons le !) beaucoup d'oiseaux. Notez que l'un au moins des champs que vous reliez doit êtrre un champ de clé primaire. Les relations peuvent être établies d'une table à une seule autre ou d'une table à plusieurs autres. Dans le cas d'une relation unique, un enregistrement est relié à un unique enregistrement dans une autre table. Dans le cas d'une relation multiple, un enregistrement est relié à plusieurs enregistrements dans une autre table. Dans notre cas, la relation entre la table des Sorties (Field Trips) et celle des Apparitions ( Sightings) est une relation multiple ; lors d'une sortie, l'ornithologue devrait voir (espérons le !) beaucoup d'oiseaux. Notez que l'un au moins des champs que vous reliez doit êtrre un champ de clé primaire.
-==Créez les Relations==+==Créez des Relations lorsque l'un des Champs est une Clé Primaire==
#Votre base de données étant ouverte, allez dans le menu {{menu|Outils}} et choisissez {{menu|Relations…}} #Votre base de données étant ouverte, allez dans le menu {{menu|Outils}} et choisissez {{menu|Relations…}}
-#Dans la fenêtre flottante, cliquez sur '''Field Trips''' puis sur le bouton {{button|Ajouter}}. Une petite fenêtre appelée {{window|Field Trips}} apparait dans la fenêtre {{window|Ébauche de Relation}}.+#Dans la fenêtre flottante, cliquez sur '''Sorties''' puis sur le bouton {{button|Ajouter}}. Une petite fenêtre appelée {{window|Sorties}} apparait dans la fenêtre {{window|Ébauche de Relation}}.
-#Répétez le processus avec la table '''Sightings''' +#Répétez le processus avec la table '''Observations'''
#Fermez la fenêtre flottante #Fermez la fenêtre flottante
-#Cliquez sur le champ {{prefName|ID}} dans la fenêtre {{Window|Field Trips}} ; glissez le pointeur jusqu'au champ {{prefName|Field Trips ID}} dans la fenêtre {{Window|Sightings}}. Une ligne apparait qui relie ces deux champs, avec un '''1''' près de la fenêtre {{window|Field Trips}} et un '''n''' près de la fenêtre {{Window|Sightings}}. Cela identifie une relation multiple.+#Cliquez sur le champ {{prefName|SortiesID}} dans la fenêtre {{Window|Sorties}} ; glissez le pointeur jusqu'au champ {{prefName|ObservationsSortiesID}} dans la fenêtre {{Window|Observations}}. Une ligne apparait qui relie ces deux champs, avec un '''1''' près de la fenêtre {{window|Sorties}} et un '''n''' près de la fenêtre {{Window|Observations}}. Cela identifie une relation multiple.
#Cliquez sur l'icône de disque dur dans la barre d'outils pour enregistrer les modifications, et fermez la fenêtre. #Cliquez sur l'icône de disque dur dans la barre d'outils pour enregistrer les modifications, et fermez la fenêtre.
 +==Créer des Relations lorsqu'aucun Champ n'est une Clé Primaire==
 +Dans Base, chaque fois que vous créez une relation entre des tables, l'un au moins des champs utilisés doit être unique. C'est-à-dire que, dans une au moins des tables, deux enregistrements ne peuvent pas avoir des entrées identiques dans le champ utilisé pour créer cette relation. Cela est automatiquement le cas si l'un des champs est une clé primaire. Mais si vous voulez relier des tables en utilisant autre chose que la clé primaire, vous devez introduire une contrainte unique dans l'un des champs que vous voulez utiliser.
-{{botlangbarFR|[[:Establishing Relationships|English]]}}+Dans le cas de notre base de données d'ornithologie, l'entrée des données sera plus simple si nous faisons cela avec deux des relations, à savoir pour les relations entre :
 +:Les tables '''Oiseaux''' et '''Observations''' ('''NomAnglais''' lié à '''NomOiseau''')
 +:Les tables '''Sites''' et '''Sorties''' ('''NomLieu''' lié à '''Site''')
 +L'exemple ci-dessous décrit le processus utilisé pour relier les tables '''Oiseaux''' et '''Observations'''.
 +Le même processus est nécessaire pour relier les tables '''Sites''' et '''Sorties'''.
 + 
 +===Créer un Index Unique===
 +Bien qu'un index unique ne soit pas absolument nécessaire dans ce processus, il permet de s'assurer que nous n'avons pas entré accidentellement des informations en double dans les champs en question.
 +#Dans la fenêtre principale de la base de données, cliquez sur l'icône {{prefName|Tables}} dans la colonne de gauche
 +#Faites un clic droit ou Contrôle-clic sur l'icône {{prefName|Oiseaux}} et choisissez {{menu|Modifier}}
 +#Cliquez dans la cellule contenant le nom du champ "NomAnglais".
 +#Cliquez sur le bouton {{button|Ébauche d'index}} dans la barre d'outils (il ressemble à une feuille de papier avec un triangle bleu la recouvrant en partie). La fenêtre {{window|Index}} s'ouvre.
 +#Cliquez sur l'icône {{button|Nouvel index}} (une feuille de papier avec un soleil).
 +#'''Index1''' apparait dans le panneau de gauche. Entrez un nom approprié (par ex. NomAnglais).
 +#Cochez la case {{prefName|unique}} dans la section {{Section|Index : détails}}
 +#Entrez '''NomAnglais''' dans le champ {{prefName|Champ index}} et '''Croissant''' dans l'ordre de tri.
 +#Cliquez sur l'icône {{Button|Enregistrer l'ndex actif}} (une feuille de papier avec une disquette).
 +#Cliquez sur {{Button|Fermer}}.
 + 
 + 
 +===Créer une Contrainte Unique===
 +#Notez les noms exacts du champ et de la table utilisés. Dans ce cas '''Oiseaux''' et '''NomAnglais'''.
 +:''Note: Le nom du champ ne doit pas contenir d'espace. Bien que Base ne vous autorise pas à créer des champs dont le nom contient des espaces lorsque vous utilisez l'assistant ou le mode ébauche, Base conserve les espaces dans les noms de champs si vous importez un document Calc dans Base.
 +#La fenêtre principale de la base de données étant ouverte (celle qui contient Tables, Requêtes, Formulaires et Rapports dans la colonne de gauche), allez dans le menu {{menu|Outils}} et choisissez {{menu|SQL…}}.
 +# Entrez l'instruction suivante dans la partie supérieure de la fenêtre {{Window|Exécuter l'instruction SQL}} :
 +#:{{preBox|<nowiki>alter table "Oiseaux" add constraint "uq_NomAn" unique ("NomAnglais" )</nowiki>}}
 +#::uq_NomAn est le nom de la contrainte créée par cette commande.
 +#Cliquez sur {{Button|Exécuter}}
 +:''Note: La section {{Section|Statut}} de la fenêtre vous dira si la commande a été exécutée ou s'il y a eu un problème''.
 +#Fermez la fenêtre {{window|Exécuter l'instruction SQL}}.
 + 
 +===Créer la Relation===
 +#La base étant ouverte, allez dans le menu {{menu|Outils}} et choisissez {{menu|Relations…}}
 +#Cliquez sur l'icône qui ressemble à un bloc de cellules bleues avec une croix verte dans le coin.
 +#Dans la fenêtre {{Window|Ajouter des tables}}, cliquez sur '''Oiseaux'''
 +:''Note: Si vous n'avez pas encore créé de relations, la fenêtre'' {{Window|Ajouter des tables}} ''s'ouvre automatiquement''.
 +#Si la table '''Observations''' n'apparait pas dans le "plan" des relations, ajoutez-la.
 +#Fermez la fenêtre flottante.
 +#Cliquez sur le champ {{prefName|NomAnglais}} dans la petite fenêtre {{Window|Oiseaux}}; glissez le pointeur depuis ce champ vers le champ {{prefName|NomOiseau}} dans la petite fenêtre {{Window|Observations}}. Une ligne reliant ces deux champs apparait.
 +#Cliquez sur l'icône de disque dans la barre d'outils pour enregistrer les modifications et fermez la fenêtre.
 + 
 +==Liens Externes==
 +[http://www.oooforum.org/forum/viewtopic.phtml?p=248053#248053 fil de discussion sur les contraintes uniques sur un forum OOo] (en anglais)
 + 
 + 
 +{{botlangbarFR|[[:Establishing Relationships|English]] [[It:Stabile_Relazioni|Italiano]]}}
[[Category:Tips and Hints]][[Category:NeoOffice]][[Category:NeoWikiFR]] [[Category:Tips and Hints]][[Category:NeoOffice]][[Category:NeoWikiFR]]

Current revision

Cet article fait partie de la série de tutoriels Base Aller et Retour

Une partie de la puissance de Base tient au fait que c'est une base de données relationnelle, ce qui vous permet de relier différentes tables de données. Pour utiiser cette fonction, nous devons établir les relations entre les diverses tables. Dans notre cas toutes les tables n'ont pas besoin d'être reliées. Les tables que nous avons qualifiées de tables pratiques dans le premier article de cette série, n'ont pas à être reliées par un processus en règle, car elles seront utilisées principalement pour créer des combo boxes ou des list boxes. Les tables essentielles doicent être reliées les unes aux autres.

Contents

Types de Relations

Les relations peuvent être établies d'une table à une seule autre ou d'une table à plusieurs autres. Dans le cas d'une relation unique, un enregistrement est relié à un unique enregistrement dans une autre table. Dans le cas d'une relation multiple, un enregistrement est relié à plusieurs enregistrements dans une autre table. Dans notre cas, la relation entre la table des Sorties (Field Trips) et celle des Apparitions ( Sightings) est une relation multiple ; lors d'une sortie, l'ornithologue devrait voir (espérons le !) beaucoup d'oiseaux. Notez que l'un au moins des champs que vous reliez doit êtrre un champ de clé primaire.

Créez des Relations lorsque l'un des Champs est une Clé Primaire

  1. Votre base de données étant ouverte, allez dans le menu Outils et choisissez Relations…
  2. Dans la fenêtre flottante, cliquez sur Sorties puis sur le bouton Ajouter. Une petite fenêtre appelée Sorties apparait dans la fenêtre Ébauche de Relation.
  3. Répétez le processus avec la table Observations
  4. Fermez la fenêtre flottante
  5. Cliquez sur le champ SortiesID dans la fenêtre Sorties ; glissez le pointeur jusqu'au champ ObservationsSortiesID dans la fenêtre Observations. Une ligne apparait qui relie ces deux champs, avec un 1 près de la fenêtre Sorties et un n près de la fenêtre Observations. Cela identifie une relation multiple.
  6. Cliquez sur l'icône de disque dur dans la barre d'outils pour enregistrer les modifications, et fermez la fenêtre.

Créer des Relations lorsqu'aucun Champ n'est une Clé Primaire

Dans Base, chaque fois que vous créez une relation entre des tables, l'un au moins des champs utilisés doit être unique. C'est-à-dire que, dans une au moins des tables, deux enregistrements ne peuvent pas avoir des entrées identiques dans le champ utilisé pour créer cette relation. Cela est automatiquement le cas si l'un des champs est une clé primaire. Mais si vous voulez relier des tables en utilisant autre chose que la clé primaire, vous devez introduire une contrainte unique dans l'un des champs que vous voulez utiliser.

Dans le cas de notre base de données d'ornithologie, l'entrée des données sera plus simple si nous faisons cela avec deux des relations, à savoir pour les relations entre :

Les tables Oiseaux et Observations (NomAnglais lié à NomOiseau)
Les tables Sites et Sorties (NomLieu lié à Site)

L'exemple ci-dessous décrit le processus utilisé pour relier les tables Oiseaux et Observations. Le même processus est nécessaire pour relier les tables Sites et Sorties.

Créer un Index Unique

Bien qu'un index unique ne soit pas absolument nécessaire dans ce processus, il permet de s'assurer que nous n'avons pas entré accidentellement des informations en double dans les champs en question.

  1. Dans la fenêtre principale de la base de données, cliquez sur l'icône Tables dans la colonne de gauche
  2. Faites un clic droit ou Contrôle-clic sur l'icône Oiseaux et choisissez Modifier
  3. Cliquez dans la cellule contenant le nom du champ "NomAnglais".
  4. Cliquez sur le bouton Ébauche d'index dans la barre d'outils (il ressemble à une feuille de papier avec un triangle bleu la recouvrant en partie). La fenêtre Index s'ouvre.
  5. Cliquez sur l'icône Nouvel index (une feuille de papier avec un soleil).
  6. Index1 apparait dans le panneau de gauche. Entrez un nom approprié (par ex. NomAnglais).
  7. Cochez la case unique dans la section Index : détails
  8. Entrez NomAnglais dans le champ Champ index et Croissant dans l'ordre de tri.
  9. Cliquez sur l'icône Enregistrer l'ndex actif (une feuille de papier avec une disquette).
  10. Cliquez sur Fermer.


Créer une Contrainte Unique

  1. Notez les noms exacts du champ et de la table utilisés. Dans ce cas Oiseaux et NomAnglais.
Note: Le nom du champ ne doit pas contenir d'espace. Bien que Base ne vous autorise pas à créer des champs dont le nom contient des espaces lorsque vous utilisez l'assistant ou le mode ébauche, Base conserve les espaces dans les noms de champs si vous importez un document Calc dans Base.
  1. La fenêtre principale de la base de données étant ouverte (celle qui contient Tables, Requêtes, Formulaires et Rapports dans la colonne de gauche), allez dans le menu Outils et choisissez SQL….
  2. Entrez l'instruction suivante dans la partie supérieure de la fenêtre Exécuter l'instruction SQL :
    alter table "Oiseaux" add constraint "uq_NomAn" unique ("NomAnglais" )
    uq_NomAn est le nom de la contrainte créée par cette commande.
  3. Cliquez sur Exécuter
Note: La section Statut de la fenêtre vous dira si la commande a été exécutée ou s'il y a eu un problème.
  1. Fermez la fenêtre Exécuter l'instruction SQL.

Créer la Relation

  1. La base étant ouverte, allez dans le menu Outils et choisissez Relations…
  2. Cliquez sur l'icône qui ressemble à un bloc de cellules bleues avec une croix verte dans le coin.
  3. Dans la fenêtre Ajouter des tables, cliquez sur Oiseaux
Note: Si vous n'avez pas encore créé de relations, la fenêtre Ajouter des tables s'ouvre automatiquement.
  1. Si la table Observations n'apparait pas dans le "plan" des relations, ajoutez-la.
  2. Fermez la fenêtre flottante.
  3. Cliquez sur le champ NomAnglais dans la petite fenêtre Oiseaux; glissez le pointeur depuis ce champ vers le champ NomOiseau dans la petite fenêtre Observations. Une ligne reliant ces deux champs apparait.
  4. Cliquez sur l'icône de disque dans la barre d'outils pour enregistrer les modifications et fermez la fenêtre.

Liens Externes

fil de discussion sur les contraintes uniques sur un forum OOo (en anglais)



Cet article dans d'autres langues : English Italiano
Personal tools