Base de données

De OCAD 11 Wiki - Francais
Aller à la navigation Aller à la recherche

Disponible dans OCAD 11 Professional.

Introduction à la connexion à une base de données

Sous OCAD, l'information contenue dans une base de données peut être ajoutée à un objet (par ex. sa position, le nom de d'endroit, un lien URL, sa longueur, etc) Une base de données est structurée de la manière suivante:

Structure générale d'une base de données

Table

Une base de données se compose généralement de plusieurs tables. Il existe différentes formes de bases de données: Dans un fichier plat comme dBase, chaque table est un fichier et l'ensemble des tables dans le répertoire constituent la base de données. Dans d'autres bases de données, comme Microsoft Access ou dans une feuille de calcul Microsoft Excel toutes les tables de la base de données sont dans un même fichier.

Enregistrement

Une table est constituée d'enregistrements. Un enregistrement est une ligne de la table qui contient les informations sur un objet OCAD.

Champ

Un enregistrement est composé de champs. Chaque champ contient une information unique d'un objet OCAD, décrit par l'enregistrement correspondant. Normalement cette information est un nombre, mais elle peut aussi être un texte. Par exemple, la coordonnée X de la position de l'objet. Chaque enregistrement contient un champ clé, utilisé pour l'identifier. Ce sera la plupart du temps un nombre.

Exemple

La table ci-dessous contient trois enregistrements. Chacun d'eux décrit un objet de surface dans OCAD dans son état réel et est constitué de six champs: ID, SIZE, OWNER et XCOOR, XCOOR, TYPE. Le champ ID est le champ clé, utilisé par OCAD pour identifier l'enregistrement. Le champ SIZE contient la taille de la surface. Dans le champ OWNER, figure un nombre qui relie à une Table secondaire. Les quatrième et cinquième champs contiennent les coordonnées et le dernier champ le type de surface.

ID SIZE OWNER XCOOR YCOOR TYPE
1 724 29 754870 233386 Private Building Area
2 702 12 754900 233442 School
3 422 13 754815 233505 Private Building Area

Sous OCAD, un enregistrement est affiché comme suit lorsque l'objet correspondant est sélectionné:

Database1.PNG

Quelques termes

Jeu de données

Pour se connecter à une table, OCAD utilise un jeu de données. Ce jeu contient le lien vers la base de données, le nom de la table, le nom du champ clé et des informations sur d'autres champs particuliers. Il peut y avoir plusieurs jeux de données pour une même carte OCAD.

Gérer les connexions vers les bases de données Space.PNGDisponible dans OCAD 11 Professional.

Créer la connexion vers une nouvelle base de données

Vous devez créer un jeu de données, en suivant les trois étapes ci-dessous:

  1. Choisir la commande Gérer les connexions vers les bases de données dans le menu Base de données.
  2. La boîte de dialogue Gérer les connexions vers les bases de données s'ouvre.
    Database2.PNG
  3. Cliquer sur le bouton Nouveau.
    DatabaseNewDataset.PNG
  4. La boîte de dialogue Nouveau jeu de données s'ouvre. Choisir l'option Créer un nouveau fichier et sélectionner un Type de base de données ou choisir l'option Utiliser une source de données existante. Noter que le Access Database Engine doit être installé si une option base de données de type Microsoft Access ou Microsoft Excel a été choisie. Voir Information sur la carte dans le menu Carte pour vérifier si le moteur Access Database Engine est installé.
  5. Si un nouveau fichier de base de données est créé, la boîte de dialogue Enregistrer le fichier de données s'ouvre. Si une base existante est utilisée, le chemin vers cette base doit être spécifié en cliquant sur le bouton Parcourir ou en se connectant via ODBC dans le dialogue Gérer les connexions.
  6. Le jeu de données est créé. La carte OCAD est à présent connectée à cette base de données.

Lorsqu'une nouvelle connexion vient d'être créée, OCAD affiche un dialogue supplémentaire à la fermeture du dialogue Gérer les connexions. Vous pouvez cocher deux options dans ce dialogue:

dBase

Lorsque OCAD est connecté à une base de données dBase, des fonctions supplémentaires sont disponibles. Sous dBase, chaque table constitue un fichier. Il est possible d'éditer sous OCAD les paramètres des champs. Si une table dBase est chargée, le bouton Editer les champs est activé dans l'onglet Général du dialogue Gérer les connexions. Cliquer sur ce bouton ouvre le dialogue Table dBase.

DBaseTableDialog.PNG

Cette boîte de dialogue liste les champs de la table dBase. Chaque champ est affiché sur une ligne. Plusieurs fonctions sont disponibles:

  • Nom: Entrer le nom du champ. Ce nom doit commencer par une lettre et peut contenir jusqu'à 10 lettres et numéros. Les lettres sont converties en majuscules.
  • Type: Choisir soit Caractère (C), Nombre (N) ou Flottant (F) comme type de champ.
  • Longueur: Entrer le nombre de caractères de ce champ.
  • Décimales: Ce champ n'est activé que si le type est Flottant. Entrer le nombre de décimales.
  • Déplacer vers le haut: Cliquer sur cette icône pour déplacer le champ sélectionné vers le haut.
  • Déplacer vers les bas: Cliquer sur cette icône pour déplacer le champ sélectionné vers le bas.
  • Insérer: Cliquer sur ce bouton pour ajouter un champ. Après cette addition, la table est restructurée mais les informations existantes sont préservées.
  • Supprimer: Cliquer sur ce bouton pour supprimer le champ sélectionné.
  • Code de caractères: Un code de caractères peut être choisi dans la liste déroulante.


hint Si vous n'avez pas installé le Borland Database Engine (BDE), seuls les noms de fichiers avec maximum 8 caractères seront admis (Exemple: 'test5678.dbf'). Cliquer sur la commande Information sur la carte dans le menu Carte pour voir si le Borland Database Engine est installé ou non. Il peut être téléchargé gratuitement depuis internet.

ODBC

Vous pouvez accéder à des bases de données via ODBC (Open Manage Database Connection). C'est une interface pour réaliser la connexion vers plusieurs types de bases de données.

Cliquer sur le bouton ODBC dans le dialogue Gérer les connexions vers une base de données pour créer une nouvelle source de données ODBC ou modifier une source existante. L' administrateur de sources de données ODBC est lancé. C'est une application Microsoft qui contient sa propre aide en ligne. Quelques astuces supplémentaires ci-dessous:

Normalement vous devez créer un nouvel Utilisateur DNS.

Pour une connexion vers un fichier Excel, vous sélectionnez le pilote Excel et un fichier (*.xls).
Pour une connexion vers une base de données Access, vous sélectionnez le pilote Access et un fichier (*.mdb).
Pour une connexion vers un fichier plat comme dBase, vous ne devez pas sélectionner le fichier dBase, mais le répertoire où il se trouve.

Paramètres généraux du jeu de données sélectionné

Le premier des trois onglets dans le dialogue Gérer les connexions vers les bases de données décrit les paramètres généraux du jeu de données sélectionné. La source de la base de données est indiquée. Ce peut être un Fichier Base de données ou une Source de données ODBC. Dans la partie inférieure de cet onglet, la Table qui contient les données peut être sélectionnée. Définir un Champ clé de telle manière que OCAD puisse identifier l'enregistrement. Ce champ sera le plus souvent nommé ID. Database3.PNG

Créer et éditer les tables secondaires

Les tables secondaires sont des tables reliées à un champ d'une table primaire. Ceci est particulièrement utile lorsque des informations complémentaires doivent être ajoutées. Imaginons par exemple le cadastre d'un village. Chaque propriétaire recevra un numéro qui sera stocké dans la table primaire. La table secondaire sera liée à ce numéro et contiendra les noms, adresses, et information de contact de chaque propriétaire. Si un propriétaire modifie ses données, vous devez mettre à jour la table secondaire, avec un effet immédiat sur la le cadastre du village.

Sous OCAD, les tables secondaires sont gérées dans l'onglet Tables secondaires du dialogue Gérer les connexions vers les bases de données. Cliquer sur le bouton Ajouter pour ajouter une nouvelle table. Le dialogue Table secondaire s'ouvre. Vous devrez tout d'abord définir le Champ de référence dans la table primaire, qui sera le champ auquel la table secondaire sera liée. Choisir alors la table secondaire qui doit se trouver dans le même jeu de données. Définir enfin un champ clé pour cette table secondaire et cliquer sur le bouton OK.

Cliquer sur le bouton Edition pour modifier les paramètres de la table secondaire.

Cliquer sur le bouton Retirer pour enlever la table secondaire sélectionnée.

Les champs qui sont liés à une table secondaire sont indiqués par un astérisque (voir ci-dessous).

Database4.PNG

Cliquer sur l'astérisque pour afficher la table secondaire:

SecondaryTable.PNG

Champs spéciaux

Ouvrir cet onglet pour définir les Champs spéciaux. Ceux-ci seront automatiquement mis à jour dans la base de données lorsqu'une modification est effectuée sur un objet de la carte. Cependant, cela ne fonctionne pas dans l'autre sens : si vous modifiez une donnée dans la table, l'objet n'est pas mis à jour.

OCAD prévoit les champs spéciaux ci-après:

  • Champ Symbole: Le numéro du symbole de l'objet est automatiquement copié dans le champ de la base de données choisi dans la liste déroulante.
  • Champ Texte: Pour les objet Texte et Texte en ligne, le texte de l'objet est automatiquement copié dans le champ de la base de données choisi dans la liste déroulante. Pour des textes sur plusieurs lignes, seule la première ligne est copiée.
  • Champ Dimension: La dimension de l'objet est automatiquement copiée dans le champ de la base de données choisi dans la liste déroulante. Ce sera la longueur pour des objet ligne ou la surface pour des objet de surface : ajuster les unités dans les champs correspondants, ainsi que le ombre de décimales.
  • Champ Est: Pour des objet Point, la coordonnées horizontale sera copiée dans le champ sélectionné de la base de données. Pour des objets ligne, de surface ou texte, ce sera la coordonnée horizontale du point de départ.
  • Champ Nord: Pour des objet Point, la coordonnées verticale sera copiée dans le champ sélectionné de la base de données. Pour des objets ligne, de surface ou texte, ce sera la coordonnée verticale du point de départ.
  • Champ de l'angle: Pour les objets Points et Texte, l'angle est copié dans le champ de la base de données choisi dans la liste déroulante.

Boîte de la base de données Space.PNGDisponible dans OCAD 11 Professional.

Lier un objet

Lorsqu'une carte est connectée à une base de données, la Boîte de la base de données s'ouvre sous la Boîte des symboles.

Database5.PNG

Hint.jpg La Boîte de la base de données est, par défaut, affichée juste en dessous de la Boîte des symboles. Une seule rangée de la Boîte des symboles est visible. Pour déplacer vers le bas la Boîte de la base de données, faire glisser la ligne grise qui sépare les deux boîtes.

Pour lier un objet:

  1. Sélectionner l'objet que vous voulez relier à un enregistrement.
  2. Cliquer sur le bouton Lier dans la Boîte de la base de données
  3. Le dialoguer Lier l'objet s'ouvre.
    Database6.PNG
  4. Sélectionner le jeu de données qui contient l'enregistrement désiré.
  5. Entrer une clé. Ce nombre sera utilisé dans le champ clé. A moins d'une modification de votre part, OCAD prend toujours le nombre entier libre suivant.
  6. Cocher l'option Créer un nouvel enregistrement. Si l'objet doit être lié à un enregistrement existant, décocher cette option et entrer la clé de cet enregistrement.
  7. Cliquer sur le bouton OK.
  8. L' enregistrement est alors affiché dans la Boîte de la base de données

Pour enlever un lien:

  1. Sélectionner l'objet dont il faut supprimer le lien.
  2. Cliquer sur le bouton Lier dans la Boîte de la base de données.
  3. Le dialogue Lier l'objet s'ouvre.
  4. Cliquer sur le bouton Retirer.
  5. Le lien de l'objet est supprimé mais l'enregistrement subsiste dans la table.

Voir comment lier plusieurs objets à des enregistrements dans le chapitre Créer et mettre à jour des enregistrements.

Enregistrements sous OCAD

Voici comment apparaît un enregistrement dans la Boîte de la base de données:

Database7.PNG

Le champ clé est indiqué par un K (Key) à côté du nom du champ. Un S signifie qu'il s'agit d'un Champ spécial. Un lien vers une table secondaire est indiqué avec un astérisque. S'il n'y a aucun signe dans cette colonne, il s'agit d'un champ normal.

Il est possible d'ouvrir directement une URL à partir de la Boîte de la base de données. Presser la touche Ctrl et cliquer sur le champ. OCAD ouvre l'URL dans votre navigateur. Cette fonction est également possible avec un fichier local (par exemple une image):

Database8.PNG

OCAD ouvre le fichier dans le programme par défaut.

Trouver un objet

Trouver un objet à l'aide de sa clé est possible en cliquant sur le bouton Trouver dans la Boîte de la base de données. Le dialogue Trouver un objet s'ouvre.

FindObjectDialog.PNG

Sélectionner un jeu de données et entrer la clé. Cliquer sur le bouton OK. OCAD affiche l'enregistrement dans la boîte de dialogue, déplace la visualisation vers l'objet correspondant et le sélectionne.

Requête SQL

Cliquer sur le bouton Recherche SQL pour sélectionner des enregistrements de la base de données selon certains critères. Le dialogue Sélectionner un objet de la base de données s'ouvre.

SelectDatabaseObject.PNG

Dans la zone SELECT FROM du dialogue, choisir un jeu de données.

Dans la zone WHERE, vous pouvez ajouter une condition:

Champ: Choisir un champ du jeu de données sélectionné. Lorsque vous double-cliquez sur un champ, son nom est ajouté dans la boîte Instruction SQL.
Opérateur: Sélectionner un opérateur. Lorsque vous double-cliquez sur un opérateur, il est ajouté dans la boîte Instruction SQL.
Valeur: Sélectionner une valeur. Lorsque vous double-cliquez sur une valeur, elle est ajoutée dans la boîte Instruction SQL.

L' Instruction SQL devrait toujours contenir les composants CHAMP - OPERATEUR - VALEUR (exemple: Longueur > 430). Une instruction SQL peut être retirée, enregistrée ou rechargée en cliquant sur les icônes correspondantes à droite de la boîte Instruction SQL.

Cliquer sur le bouton Sélectionner des objets pour lancer la recherche dans la base de données. Les objets trouvés et les enregistrements correspondants sont sélectionnés et affichés dans une table.

Créer et mettre à jour des enregistrements Space.PNGDisponible dans OCAD 11 Professional.

Avec cette fonction, de nouveaux enregistrement peuvent être créés ou mis à jour pour tous les objets du symbole sélectionné:

  1. Choisir la commande Créer et mettre à jour des enregistrements dans le menu Base de données.
  2. Le dialogue Créer et mettre à jour des enregistrements s'ouvre.
    CreateandUpdateRecords.PNG
  3. Sélectionner le jeu de données dans lequel les enregistrements doivent être créé et cliquer sur le bouton OK.
  4. De nouveaux enregistrements seront créés et liés à tous les objets du (des) symbole(s) sélectionné(s). L'indice "integer" libre suivant est chaque fois utilisé comme champ clé. S'ils sont déjà reliés à des enregistrements, ceux-ci sont mis à jour. Les Champ spéciaux sont mis à jour automatiquement.

A titre d'exemple, supposons que vous vouliez créer une carte OCAD internet avec une fonction de recherche sur le nom des rues. Tous les noms de rue doivent être reliés à la base de données. OCAD propose une manière simple de créer ces liens.

  1. Assurez-vous d'avoir activé les Champs spéciaux pour les textes.
  2. Sélectionnez tous les symboles utilisés pour les noms de rue.
  3. Choisir la commande Créer et mettre à jour des enregistrements dans le menu Base de données.
  4. Sélectionner le jeu de données et cliquer OK.

Tous les noms de rues sont à présent liés à un enregistrement qui contient le nom de la rue dans un champ.

Mettre à jour les champs spéciaux Space.PNGDisponible dans OCAD 11 Professional.

Les Champ spéciaux ne sont mis à jour automatiquement que si l'objet lié est édité. Si les objets sont liés à une base de données qui est éditée par un autre programme, les Champ spéciaux ne sont pas mis à jour, jusqu'à ce que vous utilisiez la fonction Mettre à jour les champs spéciaux dans le menu Base de données. Ce serait également le cas pour des champs édités manuellement dans OCAD.

Le dialogue Mettre à jour les champs spéciaux s'ouvre. Sélectionner un jeu de données ou choisir l'option Tous les jeux de données. Cocher alors tous les champs spéciaux à mettre à jour et cliquer sur le bouton Mise à jour.

Créer les objets à partir d'une table Space.PNGDisponible dans OCAD 11 Professional.

CreateObjectsFromTableExample.PNG

Avec cette option, des objets peuvent être créés, avec leur position et leur texte à partir d'une base de données.

  1. Sélectionner le symbole que les nouveaux objets utiliseront. Ce doit être un symbole point ou de texte.
  2. Choisir la commande Créer les objets à partir d'une table dans le menu Base de données.
  3. La boîte de dialogue Créer les objets à partir d'une table s'ouvre.
    CreateObjectsFromTable.PNG
  4. Sélectionner le jeu de données qui contient les informations pour créer les objets
  5. Entrer une condition. Celle-ci doit être une instruction SQL : CHAMP OPERATEUR VALEUR (Exemples: Taille > 500, City='Baar'). Si ce champ est vide, tous les enregistrements de la table seront représentés par un objet sur la carte.
  6. Sélectionner les champs pour les Axes E et N qui vont déterminer la position du nouvel objet.
  7. Choisir m ou km comme unité de mesure.
  8. Si un symbole de texte a été sélectionné au départ, vous devez sélectionner un champ texte. Son contenu sera utilisé comme texte de l'objet OCAD.
  9. Vous pouvez introduire une décalage horizontal et/ou vertical. Ceci sera très utile si vous voulez importer des noms de ville. Créer tout d'abord un objet point pour chaque ville, ensuite un objet texte avec le nom de la ville et un décalage, de telle manière que le texte ne recouvre pas l'objet point.
  10. Enfin, cliquer sur le bouton OK.

Assigner les symboles à partir des enregistrements Space.PNGThis function is available in OCAD 11 Professional.

Après, par exemple, l'importation d'un fichier Shape, les objets n'ont pas de symboles et apparaissent donc comme Objets non symbolisés. Ave cette commande, vous pouvez utiliser les informations de la base de données pour assigner des symboles OCAD aux objets.

Choisir la commande Assigner les symboles à partir des enregistrements dans le menu Base de données. Le dialogue Assigner les symboles à partir des enregistrements s'ouvre.

AssignSymbolsByRecords.PNG

Dans ce dialogue, vous pouvez créer une liste de conditions et l'enregistrer dans un fichier de conditions (*.cnt) pour usage ultérieur. Vous pouvez charger un fichier existant pour le modifier ou l'exécuter.

  • Jeu de données: Sélectionner le jeu de données qui sera utilisé pour assigner les symboles. Cocher Tous pour exécuter la condition sur tous les jeux de données.
  • Charger: Cliquer sur ce bouton pour charger un fichier de conditions (*.cnt) existant.
  • Enregistrer: Cliquer sur ce bouton pour enregistrer les modifications dans un fichier de conditions (*.cnt).
  • Enregistrer sous: Cliquer sur ce bouton pour enregistrer les modifications dans un autre fichier de conditions (*.cnt).
  • Symbole: Sélectionner un symbole. Ce symbole sera assigné aux objets pour lesquels la condition est vraie.
  • Condition: Entrer la condition. Ce doit être une instruction SQL: CHAMP OPERATEUR VALEUR (Exemple: TYPE = 'BUILDING').
  • Déplacer vers le haut: Cliquer sur ce bouton pour déplacer vers le haut la condition sélectionnée.
  • Déplacer vers le bas: Cliquer sur ce bouton pour déplacer vers le bas la condition sélectionnée.
  • Ajouter: Cliquer sur ce bouton pour ajouter une condition à la liste.
  • Supprimer: Cliquer sur ce bouton supprimer la condition sélectionnée.
  • Exécuter: Cliquer sur ce bouton pour exécuter l'opération.

Assigner les textes à partir des enregistrements Space.PNGThis function is available in OCAD 11 Professional.

AddTextsbyRecordsExample.PNG

With this function it is possible to add a text which is written in a field of a record to an OCAD object.

  1. Choose the Assigner les textes à partir des enregistrements command in the Database menu.
  2. The Add Texts by Records dialog appears.
  3. Choose a Dataset or check the All option to take all datasets into consideration.
  4. Choose the field which contains the Text to be added.
  5. Assign a text or line text symbol. If no symbol is assigned, the text appears as Unsymbolized Objects.
  6. You can either replace the existing objects or add new objects.
  7. Enter an Object offset if you want to have the text slightly displaced from the existing object.
  8. Click the OK button.

Définir la direction de l'objet à partir des enregistrements Space.PNGThis function is available in OCAD 11 Professional.

With this function the object direction can be defined by an angle (in degrees) from a field of the database.

Choose the Définir la direction de l'objet à partir des enregistrements command from the Database menu. A dialog appears. Choose a Dataset in the dropdown list or check the All option to take all datasets into consideration. The define the Angle field. Click the OK button when finished.

The following things are rotated according to the angle field:

  • Text objects
  • Point objects
  • The pattern of area objects

OCAD does not rotate line or line text objects!

Réunir des objets selon leurs données enregistrées Space.PNGThis function is available in OCAD 11 Professional.

With this function, objects with the same value on a specified database field are merged. They also must have the same symbol.

Choose the Réunir des objets selon leurs données enregistrées command in the Database menu. A dialog appears. Choose a Dataset or check the All option to take all datasets into consideration. Then choose the field with the value to be used for merging the objects. Click the OK button when finished.

The merged objects have to be linked again to the database.

Exemple:
MergeObjectsByRecord.PNG

You have different river segments on a map. Each river segment have the same river name. With the Merge Objects by Records function, they can easily be merged to one object.

Sélectionner les objets liés Space.PNGThis function is available in OCAD 11 Professional.

Sélectionner les objets liés avec un enregistrement correspondant

Choose this function in the Database menu to select all objects with a link to an existing record.

Sélectionner les objets liés sans enregistrement correspondant

Choose this function in the Database menu to select all objects which are linked to a record but the record was not found.

Sélectionner les objets liés à un même enregistrement

Choose this function in the Database menu. By choosing this function, multiple objects which link to the same record are selected.

Supprimer les enregistrements sans objet lié Space.PNGThis function is available in OCAD 11 Professional.

Use this function to delete unused database records for example after using the Part of Map function.

Choose Supprimer les enregistrements sans objet lié in the Database menu. The Supprimer les enregistrements sans objet lié dialog appears.

Delete Records without Linked Object

Select the dataset and click the Find button. OCAD checks for

  • records in the selected dataset
  • links to OCAD objects found. OCAD does not check if the objects also exists.
  • records in the selected dataset without a link to an OCAD object

The ids of the records without a link to an OCAD object are shown in the Records to delete field. Please note that only the first 100 ids are shown. For the complete list of ids please use the Copy report to Clipboard function.

Click the Copy report to Clipboard icon to copy a list with the record ids to the Windows Clipboard. You can paste this list into an text document.

Example of this report:

*** Enregistrements trouvés dans le jeu de données: (35982)
198
199
200 
...

*** Objets liés: (818)
199
18421
202
...

*** Enregistrements sans objet lié: (35165)
49535
49536
49537
...

Click the Delete button to delete the records according the list from the Records to delete field. The number of the deleted records are shown in the left status bar during the deleting process. Press the ESC key to abort this process.

Hint.jpg Please note that is not possible to undo this process. So please backup your database before starting the deleting process.

Supprimer de la base de données lorsque l'objet est supprimé Space.PNGDisponible dans OCAD 11 Professional.

Si cette option est cochée dans le menu Base de données, lorsque vous supprimez un objet lié, l'enregistrement correspondant est également supprimé.

Créer un enregistrement dans la base de données lors de la découpe d'un objet Space.PNGDisponible dans OCAD 11 Professional.

Si cette option est cochée dans le menu Base de données, un second objet est créé dans la base de données lorsqu'un objet lié est coupé.


Chapitre précédent: GPS

Chapitre suivant: Scripts XML

Retour à la page Accueil.