4 Oracle NoSQL Databaseネームスペースの概要

1つ以上のグローバル・ネームスペースを作成して、表の識別を拡張できます。ネームスペースを使用すると、データベース・ストアに同じ名前の表を存在させることができます。コマンドラインまたはDDLコマンドを使用してこのような表にアクセスするには、表の前にネームスペース、コロン(:)を付けた完全修飾表名を使用します(ns1:table1など)。

表の場合と同様、認可権限を付与して、ネームスペースと表の両方にアクセスできるユーザーを決定します。ネームスペースが存在していれば、ネームスペース内に任意の数の親表および子表を作成できます(ns1:table1.child1など)。

sysdefaultというデフォルトのOracle NoSQL Databaseネームスペースがあります。新規インストールの場合、他のネームスペースを作成してそこに新しい表を作成しないかぎり、すべての表はデフォルトのsysdefaultネームスペースに割り当てられます。以前のOracle NoSQL Databaseリリースからアップグレードすると、既存のすべての表は自動的にデフォルトのsysdefaultネームスペースの一部となります。既存の表のネームスペースは変更できません。

sysdefaultネームスペース内の表では、既存の問合せに対する追加の修飾は必要ありません。たとえば、基本SQL表問合せの使用では、SQLアクセスにデフォルトのネームスペース接頭辞(sysdefault:tablename)は必要ありません。また、TableAPI.getTable( )メソッドは、表名の引数を1つ受け入れるか、ネームスペースを使用する準備が整うと、2つの引数を受け入れるため、既存のサイトでの更新を必要としません。詳細は、ネームスペースの使用および設定を参照してください。

select * from salesincome;

ネームスペース接頭辞(namespace:)を持たない表名の参照は、その表がデフォルトのsysdefaultネームスペースの一部であることを示します。ただし、ネームスペース、およびネームスペース内の表を作成することで、support_ticket表に対して次のような同じ名前の表を作成できます。

  • support_ticket

  • acme:support_ticket

  • international_abc:support_ticket

  • international_xyz:support_ticket

デフォルトのsysdefaultネームスペースの表に対して追加の権限は必要ないため、既存の認証はそのまま残ります。たとえば、表t2以外のt1t3およびt4にアクセスする権限をユーザーJoeに付与した場合、Joeは、すべての表がsysdefaultネームスペースに組み込まれた後でも、t2以外のすべての表にアクセスできます。