MyDB
作成者の作ったレコードのみを表示する機能です。
例えば、経費清算DBを作成し、各社員ごとに記入させる場合、従来社員数だけビューテーブルを作成し、それに対してアクセス権を与えることで他の社員のレコードを見えないようにしていました。
しかしこれでは社員が50人いる場合などで50個のビューテーブルと50通りのアクセス権を与えなくてはならず、作業手間が多くなってしまいました。
「MyDB」はひとつのビューテーブルをつくり、あるフィルターを設定することで、すべてのユーザに個々のビューテーブルを与えるのと同じことが出来るようになりました。
- 設定方法
- 1.元DBに対しビューテーブルを作成します。
2.DB一覧画面から作成したビューテーブルをクリックし、レコード一覧画面を開き、下記の検索条件で絞込検索をします。
検索対象: Owner
条件: 一致 (=x)
キーワード: $USER (半角大文字)
検索結果は、adminで作成されたレコードのみが表示されます。
adminで作成したレコードが無い場合は、「追加」ボタンが出ますので、
動作確認用にテストレコードを追加し、追加したレコードが表示されるか確認してください。
また、すでに複数レコード(レコード所有者がadmin以外)がある場合は、
今作成したレコードのみが表示されるか確認してください。
3.2の絞込検索結果画面右上にある「フィルタ」ボタン(下画像参照)をクリックし、設定完了です。
- MyDBの応用
- 他の人のレコードは閲覧のみ出来るDBで参照し、自分のレコードの編集や削除は同機能を設定したビューテーブルから行うことで、オーナー権限を付与できます。
- MyDBの拡張
- 同機能を設定したビューテーブルから別のDBへリレーショナルリンクしたときも該当レコードのみ表示されます。