テーブル データベース
Tables_Databaseは、データが入っているテーブル用の固定領域を提供します。このデータベース内のテーブルおよびデータを変更できるのは、権限のあるユーザーまたはバッチ ジョブのみです。一般ユーザーは、Tables_Database内のデータへのアクセスや変更を直接行なうことはできません。テーブルには固定領域は割り当てられていないので、データを入れるために必要となる領域が、所有しているデータベースから自動的に取得されます。Tables_Database内に子データベースを作成できるので、各データベースに入っているテーブルのサイズに応じてTables_Databaseの固定領域を分割します。オプションとして、追加の子データベースをTables_Database内に作成して、職務ごとまたは部門ごとにテーブルをグループ化することもできます。
ビュー データベース
General_ViewsデータベースおよびUpdate_Viewsデータベースには、データベース テーブルのビューとマクロまたはストアド プロシージャのみが入っています。ビューのデータベースにはTables_DatabaseへのSELECT WITH GRANT OPTIONアクセスがあります。ビューおよびマクロはアクセス制御を提供し、特定のクエリーおよび更新の機能を実行するユーザーを制限できます。ストアド プロシージャに少量(例えば100MB)の固定領域を割り当てておき、MODIFY DATABASE文を使用してその割り当てを後で調整することもできます。
- 部門ごとのビュー(Finance_Views、Purchasing_Viewsなど)
- ユーザー タイプごとのビュー(Batch_User_Views、General_User_Viewsなど)
- 各ビューが1つのテーブルをミラーリングし、データ テーブルに直接アクセスすることなくバッチ ロードおよびバッチ更新で使用できる、読み書きビュー
- 複数のテーブルからの関連する情報を組み合わせるため、またはアクセスを制限するために、1つまたは複数のテーブルから選択された列が入っている、読み取り専用ビュー
ビューでWITH CHECK OPTION構文を使用して、適切な権限を持つユーザーがどのデータ行を変更できるかを制御します。<Teradata Vantage™ - SQLデータ定義言語-構文規則および例, B035-1144>のCREATE VIEW WITH CHECK OPTIONを参照してください。
ユーザーのタイプ | 典型的なアクセス権 |
---|---|
一般ユーザー | Views_Database上のデータを問合わせるための選択および実行のアクセス権 |
権限のあるユーザー | Views_Databaseを介してデータを更新するための選択、実行、および更新のアクセス権 |
データベース階層
- DBC
- SYSDBA
- Tables_Database
- Update_Views
- General_Views
テーブル データベースおよびビュー データベースの作成
- SYSDBAユーザーとしてログオンします。
- Tables_Databasを作成します。例えば、次のように指定します。
CREATE DATABASE Tables_Database FROM SYSDBA AS PERM=200E9;
- General_Viewsデータベースを作成します。例えば、次のように指定します。
CREATE DATABASE General_Views FROM SYSDBA AS PERM=0;
- Update_Viewsデータベースを作成します。例えば、次のように指定します。
CREATE DATABASE Update_Views FROM SYSDBA AS PERM=0;
- Tables_Database上のGeneral_Viewsデータベースに権限を付与します。例えば、次のように指定します。
GRANT SELECT ON Tables_Database TO General_Views WITH GRANT OPTION;
- Tables_Database上のUpdate_Viewsデータベースに権限を付与します。例えば、次のように指定します。
GRANT SELECT, INSERT, DELETE, UPDATE ON Tables_Database TO Update_Views WITH GRANT OPTION;