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>
親トピック: マップのビジュアライゼーションの概念