次のような構造のテーブルがあります。
ProjectID | Field1 | Field2 | Field3 | ...
------------------------------------------
1 | aaa | aaa | aaa | ...
------------------------------------------
2 | aaa | aaa | aaa | ...
------------------------------------------
3 | aaa | aaa | aaa | ...
------------------------------------------
1 | aaa | aaa | aaa | ...
------------------------------------------
1 | aaa | aaa | aaa | ...
------------------------------------------
2 | aaa | aaa | aaa | ...
また、このテーブルにアクセスしてデータを読み取り、プロセスの最後に 1 つの値を書き戻す必要のある外部システムもあります。
問題は、各外部システムが自分のプロジェクト IE に関連するデータのみにアクセスする必要があることです。
- システム 1 -> ProjectID = 2
- システム 2 -> ProjectID = 3
- システム 3 -> ProjectID = 1
これらのシステムはアプリケーションの外部で開発され、データのみを使用するとは想定できないため、エラーを回避するためにこのデータを分離したいと思います。
私は2つの解決策に出くわしました:
- 異なる DB スキーマで ProjectID ごとにテーブルを作成し、テーブルにアクセスするための資格情報のみをすべての外部システムに与えます。
- 特定のプロジェクトのデータのみを抽出する ProjectID ごとに更新可能なビューを作成し、ビューにアクセスするための資格情報のみをすべての外部システムに与えます。
他のアイデアはありますか?
ありがとうございました!