Workflow: Erstellen von Tabellen mit SQL und Registrieren dieser bei der Geodatabase
Dieses Thema gilt nur für ArcGIS for Desktop Standard und ArcGIS for Desktop Advanced.
Sie können mit SQL Tabellen erstellen. Wenn die Tabelle eine räumliche Spalte enthält, wird die Tabelle als räumliche Tabelle betrachtet. Sie können sowohl nicht räumliche als auch räumliche Tabellen mithilfe von SQL mit Daten befüllen. Wenn ArcGIS und die Geodatabase-Funktionalität verwendet werden sollen, können Sie die Tabelle dann bei der Geodatabase registrieren.
Dies ist sinnvoll, wenn Sie eine benutzerdefinierte Anwendung verwenden, um räumliche oder nicht räumliche Tabellen zu erstellen, oder Datenbanktabellen von einer anderen Agentur oder einem anderen Subunternehmer erhalten, jedoch Geodatabase- und ArcGIS-Funktionalität nutzen möchten.
Erstellen einer nicht räumlichen Tabelle mit SQL
- Öffnen Sie einen SQL-Client, und melden Sie sich bei der Datenbank als Benutzer mit Berechtigungen an, um Tabellen in der Datenbank zu erstellen.
- Erstellen Sie mithilfe der SQL-Anweisung CREATE TABLE die nicht räumliche Tabelle "patients", die Spalten mit den folgenden Namen enthält: PID, f_name, l_name und 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);
Hinzufügen von Daten zu einer nicht räumlichen Tabelle mit SQL
Fügen Sie der Tabelle "patients" Datensätze mithilfe der SQL-Anweisung INSERT hinzu.
- Fügen Sie vier Datensätze in die Tabelle "patients" ein:
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);
Erstellen einer räumlichen Tabelle mit SQL
Sie können auch eine CREATE TABLE-Anweisung verwenden, um eine Tabelle mit einer räumlichen Spalte zu erstellen.
- Erstellen Sie die Tabelle "outbreaks", die Folgendes enthält: OID (Ganzzahl), dwel_id (Ganzzahl), Zeichenfolgenadresse, city_code (Ganzzahl) und eine ST_Geometry-Positionsspalte:
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);
Hinzufügen von Daten zu einer räumlichen Tabelle mit SQL
Fügen Sie drei Datensätze in die Tabelle "outbreaks" ein.
Die 0 in diesen Beispielanweisungen ist die SRID. Sie können eine andere Zahl angeben.
- Verwenden Sie die SQL-Anweisung INSERT und die Funktion "ST_Point", um der Tabelle "outbreaks" Datensätze hinzuzufügen:
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) );
Registrieren der Tabellen bei der Geodatabase
Tabellen können Sie mit ArcGIS for Desktop bei der Geodatabase registrieren.
Die folgenden Schritte zeigen die Registrierung bei der Geodatabase in ArcGIS for Desktop:
- Starten Sie ArcMap, und öffnen Sie das Fenster Katalog, oder starten Sie ArcCatalog.
-
Stellen Sie eine Verbindung mit der Enterprise-Geodatabase her, die die zu registrierende Tabelle enthält.
Diese Verbindung wird unter dem Knoten "Datenbankverbindungen" des Kataloginhaltsverzeichnisses hergestellt. Stellen Sie sicher, dass Sie eine Verbindung als Besitzer der Tabelle herstellen.
- Klicken Sie mit der rechten Maustaste auf die Tabelle "patients", und klicken Sie auf In Geodatabase registrieren.
- Klicken Sie mit der rechten Maustaste auf die Tabelle "outbreaks", und klicken Sie auf In Geodatabase registrieren.