Db2 でのスキーマについて

スキーマとは

  • データを区別するためのもの
  • 同じ表名でもスキーマを指定して区別することができる
  • データベース内に存在するオブジェクト(表、ビュー、インデックス、制約等)はどれかのスキーマに属している
  • スキーマを明示的に指定せずに実行されたSQLはカレントスキーマが使用される
  • スキーマ省略した場合は基本的には接続しているユーザがカレントスキーマになる

カレントスキーマの確認

[db2inst1@localhost ~]$ db2 "VALUES CURRENT SCHEMA"

1                                                                                                                               
-----------------------------------------
DB2INST1                                                                                                                        

  1 record(s) selected.

スキーマ一覧の取得

[db2inst1@localhost ~]$ db2 "SELECT SCHEMANAME,OWNER FROM SYSCAT.SCHEMATA"

SCHEMANAME                        OWNER                                                                                                                           
--------------------------------- -------------------------
SYSIBM                            SYSIBM                                                                                                                          
SYSCAT                            SYSIBM                                                                                                                          
SYSFUN                            SYSIBM                                                                                                                          
SYSSTAT                           SYSIBM                                                                                                                          
SYSPROC                           SYSIBM                                                                                                                          
SYSIBMADM                         SYSIBM                                                                                                                          
SYSIBMINTERNAL                    SYSIBM                                                                                                                          
SYSIBMTS                          SYSIBM                                                                                                                          
SYSPUBLIC                         SYSIBM                                                                                                                          
NULLID                            SYSIBM                                                                                                                          
SQLJ                              SYSIBM                                                                                                                          
SYSTOOLS                          SYSIBM                                                                                                                          
DB2INST1                          SYSIBM                                                                                                                          

  13 record(s) selected.