Mit der Standard- oder Advanced-Lizenz verfügbar.
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. Sobald die Tabelle einmal vorhanden ist, können Sie sie mit der Geodatabase registrieren, sodass sie in die Geodatabase-Funktionalität eingebunden werden kann.
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.
Entsprechend können Sie auch SQL verwenden, um Sichten für räumliche und nicht räumliche Tabellen zu definieren. Wenn die Definition der Sicht eine Spalte vom Typ "Integer" mit eindeutigen Werten umfasst, die als Objekt-ID verwendet werden können, können Sie die Sicht in der Geodatabase registrieren. Das Registrieren einer Sicht ermöglicht Ihnen das Speichern von Informationen über die Inhalte der Sicht – wie Ausdehnung und Geometrietyp – sowie das Definieren von Metadaten für die Sicht.
In diesem Workflow werden die Schritte zum Erstellen einer nicht räumlichen und räumlichen Tabelle mithilfe eines SQL-Clients, zum Hinzufügen von Daten zu den Tabellen und zum Registrieren der Tabellen mit der Geodatabase erklärt.
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 (Integer), dwel_id (Integer), address (Integer), city_code (Integer) 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 varchar(120), city_code integer, loc db2gse.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.
- 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, db2gse.st_point (0.00003, 0.00051, null, null, 0) ) INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, db2gse.st_point (0.00020, -0.00029, null, null, 0) ) INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, db2gse.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
Sie können eine Tabelle mit der Geodatabase in ArcGIS Desktop registrieren.
Führen Sie die folgenden Schritte durch, um die Registrierung bei der Geodatabase in ArcGIS Desktop durchzuführen:
- Öffnen Sie das Werkzeug In Geodatabase registrieren.
Sie können entweder nach dem Werkzeug suchen, es im im Toolset der Toolbox "Geodatabase-Verwaltung" der Toolbox "Data Management" öffnen oder im Kataloginhaltsverzeichnis in ArcMap mit der rechten Maustaste auf die Tabelle oder Sicht unter der unter der Datenbankverbindung klicken und anschließend auf In Geodatabase registrieren klicken.
- Starten Sie einen ArcGIS Desktop-Client, und stellen Sie eine Verbindung mit der Enterprise-Geodatabase her, die die Tabelle oder Sicht enthält, die Sie registrieren möchten.
Stellen Sie eine Verbindung als Besitzer der Tabelle oder Sicht her, da sie nur vom Besitzer in der Geodatabase registriert werden kann.
- 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.