独自の個別のデータベースを持ついくつかの異なる Web アプリケーションがあります。これらのさまざまな Web アプリケーションはすべて、すべてのユーザーとユーザー名のリストを含む共通のデータベースを認証に使用します。簡単にするために、私のアプリケーション データベースはフォーラムのようなもので、ユーザーの投稿を追跡しているとしましょう。テーブルには、ユーザー ID といくつかの投稿テキストが格納されます。
今私が抱えている問題は、私のアプリケーションが投稿の横にユーザー名を表示する方法が非常に一般的なタスクであるため、私たちがやっていることは面倒で摩擦が多いと感じているチーム メンバーがいるということです。最初に、アプリケーション データベースに移動して、次のようなことを行う必要があります。SELECT userID, postText FROM tblPosts
次に、それをuserID
取得してユーザー データベースに移動し、実際の名前を取得する必要がありますSELECT name FROM tblUsers WHERE userID = X
。次に、これら 2 つのクエリからのデータをマージして、ページに表示します。
個人的には、データの一貫性のために単一の個別のユーザー データベースを使用することが重要だと考えているため、私たちのやり方は気にしませんが、私のチーム メンバーの何人かは、すべてのユーザー名をローカル アプリケーション データベースにコピーして、投稿を記録するときにユーザーIDの隣にユーザー名を保存して、その情報を簡単に取り出せるようにします。ユーザーが自分の名前を変更したい場合 (非常にまれなイベントであり、約 100 人のユーザーしかいません)、共通データベースとすべてのアプリケーション データベースで更新を実行するだけです。
これは、人々が抱える可能性のある一般的な問題のようです。問題に対処するための一般的なアプローチと、私たちがやりたいことについて、誰かが検討してくれませんか。