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
以外のt1
、t3
およびt4
にアクセスする権限をユーザーJoe
に付与した場合、Joeは、すべての表がsysdefault
ネームスペースに組み込まれた後でも、t2
以外のすべての表にアクセスできます。