Workflow : création de tables avec SQL et inscription avec la géodatabase
Cette rubrique s'applique uniquement à ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.
Vous pouvez utiliser SQL pour créer des tables. Si la table contient une colonne spatiale, la table est considérée comme table spatiale. Vous pouvez utiliser SQL pour renseigner les tables spatiales et non spatiales avec des données. Ensuite, pour utiliser les fonctionnalités d'ArcGIS et de géodatabase, vous pouvez inscrire la table dans la géodatabase.
Vous pouvez procéder ainsi si vous utilisez une application personnalisée pour créer des tables spatiales ou non spatiales ou pour recevoir des tables de base de données d'une autre agence ou d'un prestataire, mais que vous voulez bénéficier des avantages des fonctionnalités de géodatabase et d'ArcGIS.
Création d'une table non spatiale avec SQL
- Ouvrez un client SQL et connectez-vous à la base de données en tant qu'utilisateur avec les autorisations requises pour créer des tables dans la base de données.
- Utilisez une instruction SQL CREATE TABLE pour créer une table non spatiale, nommée patients, qui contient des colonnes avec les noms suivants : PID, f_name, l_name et dwel_id.
Oracle
CREATE TABLE patients (PID integer NOT NULL, f_name nvarchar2(25), l_name nvarchar2(38), dwel_id integer);
PostgreSQL
CREATE TABLE patients (PID integer NOT NULL UNIQUE, f_name varchar(25), l_name varchar(38), dwel_id integer);
DB2
CREATE TABLE patients (PID integer NOT NULL, f_name varchar(25), l_name varchar(38), dwel_id integer);
Informix
CREATE TABLE patients (PID integer NOT NULL, f_name varchar(25), l_name varchar(38), dwel_id integer);
Ajout des données à une table non spatiale avec SQL
Utilisez les instructions INSERT SQL pour ajouter des enregistrements à la table patients avec SQL.
- Insérez quatre enregistrements dans la table patients :
Oracle
INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
PostgreSQL
INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
DB2
INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
Informix
INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
Création d'une table spatiale avec SQL
Vous pouvez également utiliser une instruction CREATE TABLE pour créer une table avec une colonne spatiale.
- Créez une table, nommée outbreaks, qui contient un nombre entier OID, un nombre entier dwel_id, une chaîne d'adresse, un nombre entier city_code et une colonne loc ST_Geometry :
Oracle
CREATE TABLE outbreaks (OID integer NOT NULL, address nvarchar2(120), city_code integer, loc sde.st_geometry);
PostgreSQL
CREATE TABLE outbreaks (OID integer NOT NULL UNIQUE, address varchar(120), city_code integer, loc sde.st_geometry);
DB2
CREATE TABLE outbreaks (OID integer NOT NULL, address nvarchar2(120), city_code integer, loc st_geometry);
Informix
CREATE TABLE outbreaks (OID integer NOT NULL UNIQUE, address varchar(120), city_code integer, loc st_geometry);
Ajout de données à une table spatiale avec SQL
Insérez trois enregistrements dans la table outbreaks.
La valeur 0 dans ces instructions d'exemple est le SRID. Vous pouvez spécifier un nombre différent.
- Utilisez des instructions SQL INSERT et la fonction ST_Point pour ajouter des enregistrements à la table outbreaks :
Oracle
INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, sde.st_geometry (0.00003, 0.00051, null, null, 4326) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, sde.st_geometry (0.00020, -0.00029, null, null, 4326) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, sde.st_geometry (-0.00048, -0.00009, null, null, 4326) );
PostgreSQL
INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, sde.st_point (0.00003, 0.00051, null, null, 4326) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, sde.st_point (0.00020, -0.00029, null, null, 4326) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, sde.st_point (-0.00048, -0.00009, null, null, 4326) );
DB2
INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, st_point (0.00003, 0.00051, null, null, 0) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, st_point (0.00020, -0.00029, null, null, 0) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, st_point (-0.00048, -0.00009, null, null, 0) );
Informix
INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, st_point (0.00003, 0.00051, null, null, 0) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, st_point (0.00020, -0.00029, null, null, 0) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, st_point (-0.00048, -0.00009, null, null, 0) );
Inscription d'une table dans la géodatabase
Vous pouvez utiliser ArcGIS for Desktop pour inscrire une table dans la géodatabase.
La procédure suivante décrit l'inscription dans la géodatabase avec ArcGIS for Desktop :
- Lancez ArcMap et ouvrez la fenêtre Catalogue ou démarrez ArcCatalog.
-
Connectez-vous à la géodatabase d'entreprise qui contient la table que vous souhaitez inscrire.
Cette connexion est établie sous le nœud Connexions aux bases de données de l'arborescence du catalogue. Assurez-vous que vous connectez en tant que propriétaire de la table.
- Cliquez avec le bouton droit sur la table patients, puis cliquez sur Inscrire dans la géodatabase.
- Cliquez avec le bouton droit sur la table outbreaks, puis cliquez sur Inscrire dans la géodatabase.