テーブルおよびビューのデータベースの作成 | Teradata Vantage - 2.2 - テーブルおよびビューのデータベースの作成 - Teradata Vantage

インストール後のTeradata Vantage™の構成

Product
Teradata Vantage
Release Number
2.2
Published
2021年1月
Content Type
実装
構成
Publication ID
B700-4014-011K-JPN
Language
日本語 (日本)

テーブル データベース

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

テーブル データベースおよびビュー データベースの作成

  1. SYSDBAユーザーとしてログオンします。
  2. Tables_Databasを作成します。例えば、次のように指定します。
    CREATE DATABASE Tables_Database FROM SYSDBA AS PERM=200E9;
  3. General_Viewsデータベースを作成します。例えば、次のように指定します。
    CREATE DATABASE General_Views FROM SYSDBA AS PERM=0;
  4. Update_Viewsデータベースを作成します。例えば、次のように指定します。
    CREATE DATABASE Update_Views FROM SYSDBA AS PERM=0;
  5. Tables_Database上のGeneral_Viewsデータベースに権限を付与します。例えば、次のように指定します。
    GRANT SELECT ON Tables_Database TO General_Views WITH GRANT OPTION;
  6. Tables_Database上のUpdate_Viewsデータベースに権限を付与します。例えば、次のように指定します。
    GRANT SELECT, INSERT, DELETE, UPDATE ON Tables_Database 
    TO Update_Views WITH GRANT OPTION;