私は(などのEmployee
ような列を持つ)というテーブルを持っていますname, ssn, age
各従業員に自分の個人行[Employee
表でそれらを説明するデータ]への読み取り専用アクセスを許可したいとします。
これはどの程度正確に達成される可能性がありますか?
DBMSによっては、Employeeテーブルからログインしたユーザーの行のみを選択するビューを作成し、その行へのアクセスを許可できる場合があります。たとえば、Oracleでは、次のようなことができます。
create view current_employee as
(select * from employee e where e.user_id = uid);
(「uid」は現在ログインしているユーザーを識別します)。
もちろん、他の人が言っているように、より一般的なシナリオは、エンドユーザーがデータベースに直接ログインするのではなく、エンドユーザーに代わってデータを取得し、アクセスを制限する責任があるアプリケーションを使用することです。