Standard または Advancedのライセンスで利用可能。
テーブルの作成には SQL を使用できます。テーブルが空間列を含んでいる場合、テーブルは空間テーブルと見なされます。空間テーブルであってもなくても、SQL でデータを投入できます。テーブルが存在すると、それをジオデータベースに登録し、ジオデータベース機能に加えることができます。
この操作は、カスタム アプリケーションで空間テーブルや非空間テーブルを作成する、または別の機関や契約者からデータベース テーブルを受け取り、そのテーブルに対してジオデータベースと ArcGIS の機能の利用したい場合に行うとよいでしょう。
同様に、SQL を使用して、空間テーブルおよび非空間テーブルに対してビューを定義できます。ビュー定義に、オブジェクト ID として使用できる一意の値が格納された整数列が含まれている場合、そのビューをジオデータベースに登録できます。ビューを登録すると、ビューのコンテンツに関する情報 (範囲、ジオメトリ タイプなど) を格納することができ、ビューに対してメタデータを定義できます。
このワークフローでは、SQL クライアントを使用した非空間テーブルおよび空間テーブルの両方の作成、テーブルへのデータの追加、およびジオデータベースへのテーブルの登録について説明します。
SQL を使用した非空間テーブルの作成
- SQL クライアントを開き、データベースにテーブルを作成する権限のあるユーザーとしてデータベースにログインします。
- CREATE TABLE SQL ステートメントで、PID、f_name、l_name、dwel_id という列を持つ非空間テーブル patients を作成します。
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);
SQL を使用した非空間テーブルへのデータの追加
SQL で patients テーブルにレコードを追加する場合は、SQL の INSERT ステートメントを使用します。
- patients テーブルに 4 つのレコードを挿入します。
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);
SQL を使用した空間テーブルの作成
空間列を持つテーブルの作成には、CREATE TABLE ステートメントを使用することができます。
- 整数の OID、整数の dwel_id、文字列の address、整数の city_code、ST_Geometry の loc 列が含まれた outbreaks テーブルを作成します。
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);
SQL を使用した空間テーブルへのデータの追加
outbreaks テーブルに 3 つのレコードを挿入します。
- INSERT SQL ステートメントと ST_Point 関数を使って、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, 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) );
ジオデータベースへのテーブルの登録
ArcGIS Desktop で、テーブルをジオデータベースに登録することができます。
以下の一連の手順は、ArcGIS Desktop でジオデータベースに登録する方法の説明です。
- [ジオデータベースに登録 (Register with Geodatabase)] ツールを開きます。
このツールを検索するか、[データ管理] ツールボックスの [ジオデータベース管理] ツールセット内でツールを開くか、ArcMap の [カタログ] ツリー内のデータベース接続の下で、テーブルまたはビューを右クリックし、[ジオデータベースに登録] をクリックすることができます。
- ArcGIS Desktop クライアントを起動し、登録するテーブルまたはビューを含んでいるエンタープライズ ジオデータベースに接続します。
所有者のみがジオデータベースに登録できるため、テーブルまたはビューの所有者として接続します。
- patients テーブルを右クリックし、[ジオデータベースに登録] をクリックします。
- outbreaks テーブルを右クリックし、[ジオデータベースに登録] をクリックします。