2.6 スキーマ間のマップ・リクエスト
データベース・ユーザーは、他のデータソース・ユーザーがアクセスを許可されている表のデータを選択するために、別のデータベース・ユーザーに関連付けられたデータを使用するテーマを指定したマップ・リクエストを発行できます。
たとえば、ユーザーSCOTTが、ユーザーMVDEMOに関連付けられたデータを使用するマップ・リクエストを発行するとします。通常、ユーザーSCOTTは、ユーザーMVDEMOが所有する関連する表に対するSELECTアクセス権が付与されていることが必要で、一般に<theme>要素にはschema-name.table-nameの形式で表を指定する必要があります。ここでは、次の使用例を示します。
-
ジオメトリ表の場合、MVDEMOのジオメトリ表に対するSELECT権限をSCOTTに付与します(例2-53を参照)。
-
GeoRaster表の場合、MVDEMOのGeoRaster表およびラスター・データ表に対するSELECT権限をSCOTTに付与します(例2-54を参照)。
-
トポロジ・データ・モデル表の場合、MVDEMOのトポロジ表、トポロジ列の索引表および関連するトポロジ情報の表(topology-name_EDGE$、topology-name_NODE$、topology-name_FACE$、topology-name_RELATION$)に対するSELECT権限をSCOTTに付与します(例2-55を参照)。
-
ネットワーク・データ・モデル表の場合、MVDEMOのネットワーク・リンク、ノード、パスおよびパスリンクの表に対するSELECT権限をSCOTTに付与します(例2-56を参照)。
例2-53は、SCOTTユーザーで定義されたデータソースからジオメトリ表MVDEMO.STATESにアクセスする動的テーマを示しています。
例2-54は、SCOTTユーザーで定義されたデータソースからGeoRaster表MVDEMO.GEORASTER_TABLEおよびそのRDTにアクセスする動的テーマを示しています。実表(GeoRaster表)はschema-name.table-nameの形式で指定します。
例2-55は、SCOTTユーザーで定義されたデータソースから、トポロジ表MVDEMO.LAND_PARCELSおよびCITY_DATAトポロジの関連情報の表にアクセスする動的テーマを示しています。地物表および対象のトポロジが、データソースに関連付けられたスキーマとは別のスキーマで所有されている場合は、これらをschema-name.object-nameの形式で指定します。
例2-55では、トポロジ列の索引表名(<topology-column-index-table-name>)に対するSELECTを付与する必要があります。これは、地物表のトポロジ列に関連付けられた空間索引表が、トポロジ問合せでマップ・ビジュアライゼーション・コンポーネントによって使用されるためです。トポロジ列の索引表名は、次のように特定できます。次の情報を前提とします。
-
トポロジ地物表の所有者: MVDEMO
-
トポロジ地物表の名前: LAND_PARCELS
-
トポロジ地物表のトポロジ列の名前: FEATURE
次の問合せでは、索引表名(この例ではMDTP_14E60$)が返されます。
SQL> select sdo_index_table from all_sdo_index_info
where table_owner = 'MVDEMO'
and table_name = 'LAND_PARCELS'
and column_name = 'FEATURE'
SDO_INDEX_TABLE
--------------------------------
MDTP_14E60$
その後、例2-55にある最後のGRANTステートメントを変更して、<topology-column-index-table-name>を指定します。この場合、次のようになります。
SQL> grant select on MDTP_14E60$ to SCOTT;
例2-56は、MVDEMO.BI_TESTネットワーク表およびそのリンク、ノード、パスおよびパスリンクの各表にアクセスする動的テーマを示しています。ネットワーク名はschema-name.network-nameの形式で指定します。
例2-53 スキーマ間のアクセス: ジオメトリ表
SQL> grant select on STATES to SCOTT;
. . .
<themes>
<theme name="theme1">
<jdbc_query
datasource="scottds"
spatial_column="geom"
render_style="MVDEMO:C.COUNTIES"
jdbc_srid="8265"
>SELECT geom from MVDEMO.STATES</jdbc_query>
</theme>
</themes>
例2-54 スキーマ間のアクセス: GeoRaster表
SQL> grant select on GEORASTER_TABLE to SCOTT;
SQL> grant select on RDT_GEOR1 to SCOTT;
. . .
<themes>
<theme name="georaster_theme">
<jdbc_georaster_query
georaster_table="MVDEMO.georaster_table"
georaster_column="georaster"
raster_table="rdt_geor1"
raster_id="1"
jdbc_srid="8307"
datasource="scottds"
asis="false">
</jdbc_georaster_query>
</theme>
</themes>
例2-55 スキーマ間のアクセス: トポロジ地物表
SQL> grant select on CITY_DATA_FACE$ to SCOTT;
SQL> grant select on CITY_DATA_EDGE$ to SCOTT;
SQL> grant select on CITY_DATA_NODE$ to SCOTT;
SQL> grant select on CITY_DATA_RELATION$ to SCOTT;
SQL> grant select on LAND_PARCELS to SCOTT;
SQL> grant select on <topology-column-index-table-name> to SCOTT;
. . .
<themes>
<theme name="topo_theme" >
<jdbc_topology_query
topology_name="MVDEMO.CITY_DATA"
feature_table="MVDEMO.LAND_PARCELS"
spatial_column="FEATURE"
render_style="MVDEMO:C.COUNTIES"
jdbc_srid="0"
datasource="scottds"
asis="false">select feature from MVDEMO.land_parcels
</jdbc_topology_query>
</theme>
</themes>
例2-56 スキーマ間のアクセス: ネットワーク表
SQL> grant select on BI_TEST_LINK$ to SCOTT;
SQL> grant select on BI_TEST_NODE$ to SCOTT;
SQL> grant select on BI_TEST_PATH$ to SCOTT;
SQL> grant select on BI_TEST_PLINK$ to SCOTT;
. . .
<themes>
<theme name="net_theme" >
<jdbc_network_query
network_name="MVDEMO.BI_TEST"
network_level="1"
jdbc_srid="0"
datasource="scottds"
link_style="MVDEMO:C.RED"
node_style="MVDEMO:M.CIRCLE"
node_markersize="5"
asis="false">
</jdbc_network_query>
</theme>
</themes>親トピック: マップのビジュアライゼーションの概念