2011年4月24日日曜日

Oracle 11g SQL基礎復習2

◆GROUP BY
   ・GROUP BY句とHAVING句の順番は交換できる
 ・ORDER BY句はGROUP BY句と一緒に使用する場合、ORDER BYではGROUP BY句で指定したいずれかの列を使用しなければならない。


◆関数
 ADD_MONTH(日付,n)
  指定した日付が月末の場合、nヶ月後の月末日を戻す。
 ・LENGTH
  スペースを含めた文字数が戻ります
LENGTH関数は、全角文字(漢字、ひらがな等)を1文字とします
LENGTHB

  バイト単位の文字列の長さを調べる 


◆SQLPLUSコマンド
 CHANGEコマンド 
 機能:文字列を置換する(区切り文字は任意に設定可能)
構文:C[HANGE sep 置換対象文字列 [ sep [置換文字列 [sep]]
説明:
・SQLバッファ内の置換対象文字列を置換文字列で置き換えます
・sepは、区切り文字で、任意に指定することができます(半角文字)
・置換対象文字列が複数存在する場合には、先頭の1つのみを置換します
・置換文字列後の区切り文字の指定は、任意です
 
◆制約
 ・参照整合性制約
   親表の親キーには、主キー制約又は一意キー制約の設定が必須。
   親表の定義後に、子表の外部キーを定義することができる
   外部キーは1つまたは複数の列の組み合わせで指定する
 ・副問い合わせによる表作成でコピー可能なものは、以下の通りです 
  表定義、データ、NOT NULL制約 
 ・制約のタイプ
  制約タイプはビューUSER_CONSTRAINTSの列CONSTRAINT_TYPEの値による調べる
C...CHECKまたはNOT NULL  
P...主キー(PRIMARY KEY)
U...一意キー(UNIQUE)
R...参照整合性(REFERENCES)
V...WITH CHECK OPTION指定のビュー  
O...WITH READ ONLY指定のビュー 


◆ビュー
・複数の表からビューを作成できます 
ビューをもとにビューを作成できます 
・ビューを使用して更新、追加、削除ができます(制限あり)
・ビューを書き換えることができます
元表がない場合にもFORCE句を指定するとビューを作成できます 
ビューの元表が削除されてもビューは削除されません(無効になる) 

◆データ型
 ・ NUMBER型
  指定桁数に収まらない数値は格納できません。エラーになります 
  桁数を越えた整数部はエラーになります
桁数を越えた小数部は四捨五入されます

◆シノニム
 ・パブリック・シノニムの作成
  CREATE PUBLIC SYNONYM シノニム名 FOR オブジェクト名; 
  パブリック・シノニムを作成するには、CREATE PUBLIC SYNONYM権限が必要 
  パブリック・シノニムは、データベースのすべてのユーザーがアクセスできる 

  シノニム名の最大長は32バイト(通常30バイトまで、例外は、Java の機能使用する場合) 
  スキーマ・オブジェクトは、存在しなくてもシノニムを作成できる
  スキーマ・オブジェクトにアクセスするには、別途アクセス権限が必要 


◆ロール・権限
・ユーザに付与されるロールの確認できるビュー
USER_ROLE_PRIVS現行のユーザーに付与されたロールを示します
SESSION_ROLESユーザーが現在使用できるロールを示します
DBA_ROLE_PRIVSデータベース内のすべてのユーザーおよびロールに付与されたロールを示します

・ロールに含まれる権限の確認できるビュー
ROLE_SYS_PRIVSロールに付与されたシステム権限を示します
ROLE_TAB_PRIVSロールに付与された表権限を示します
ROLE_ROLE_PRIVS別のロールに付与されたロールの情報を示します
*ユーザーがアクセス権限を持っているロールの情報のみが得られます

・権限の確認できるビュー
USER_SYS_PRIVS
現行のユーザーに付与されたシステム権限を示します
SESSION_PRIVS
ユーザーが現在使用できる権限を示します
DBA_SYS_PRIVS
ユーザーおよびロールに付与されたシステム権限を示します
USER_TAB_PRIVS
現行のユーザーがオブジェクト所有者、権限付与者または権限受領者であるオブジェクトの権限付与を示します
USER_TAB_PRIVS_MADE
現行のユーザーがオブジェクト所有者であるオブジェクトの権限付与を示します
USER_TAB_PRIVS_RECD
現行のユーザーが権限受領者であるオブジェクトの権限付与を示します
DBA_TAB_PRIVS
データベース内のすべてのオブジェクトについての権限付与を示します
ALL_TAB_PRIVS_MADE
現行のユーザーがオブジェクト所有者または権限付与者であるオブジェクトの権限付与を示します
ALL_TAB_PRIVS_RECD
現行のユーザーが権限受領者であるオブジェクトについての権限付与
使用可能になっているロールまたはPUBLICが権限受領者であるオブジェクトについての権限付与




0 件のコメント:

コメントを投稿