Flujo de trabajo: Crear tablas con SQL y registrarlas con la geodatabase
Este tema se aplica a ArcGIS for Desktop Standard y ArcGIS for Desktop Advanced exclusivamente.
Puede usar SQL para crear tablas. Si la tabla contiene una columna espacial, se considera que es una tabla espacial. Puede usar SQL para completar las tablas espaciales y no espaciales con datos. Después, para utilizar la funcionalidad de geodatabase y de ArcGIS, puede registrar la tabla con la geodatabase.
Puede hacer esto si usa una aplicación personalizada para crear tablas espaciales o no espaciales, o recibir tablas de bases de datos de una agencia o contratista, pero quiere aprovechar la funcionalidad de geodatabase y de ArcGIS.
Crear una tabla no espacial con SQL
- Abra un cliente SQL e inicie sesión en la base de datos como usuario con permisos para crear tablas en la base de datos.
- Utilice una declaración SQL CREATE TABLE para crear una tabla no espacial, patients, que contenga columnas con los nombres siguientes: PID, f_name, l_name, y 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);
Agregar datos a una tabla no espacial con SQL
Utilice las declaraciones SQL INSERT para agregar registros a la tabla de pacientes con SQL.
- Inserte cuatro registros en la tabla de pacientes:
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);
Crear una tabla espacial con SQL
También puede usar una declaración CREATE TABLE para crear una tabla con una columna espacial.
- Cree una tabla, outbreaks (enfermedades), que contenga un OID entero, un dwel_id entero, una dirección de cadena, un city_code entero, y una columna de ubic 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);
Agregar datos a una tabla espacial con SQL
Inserte tres registros a la tabla de enfermedades.
El 0 equivale al SRID en estos ejemplos de muestra. Usted debería especificar un número diferente en la práctica.
- Utilice las declaraciones SQL INSERT y la función ST_Point para agregar registros a la tabla de enfermedades:
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) );
Registrar las tablas con la geodatabase
Puede usar ArcGIS for Desktop para registrar una tabla con la geodatabase.
El siguiente conjunto de pasos describe el proceso de registro con la geodatabase en ArcGIS for Desktop:
- Inicie ArcMap y abra la ventana Catálogo o inicie ArcCatalog.
-
Conéctese a la geodatabase corporativa que contiene la tabla que desea registrar.
Esta conexión se realiza en el nodo Conexiones de base de datos del árbol de catálogo. Asegúrese de conectarse como propietario de la tabla.
- Haga clic con el botón derecho en la tabla patients y haga clic en Registrar con geodatabase.
- Haga clic con el botón derecho en la tabla outbreaks y haga clic en Registrar con geodatabase.