私は3つのテーブルを持っています
USER
USER_ID
USERNAME
[additional fields]
ASSET
ASSET_ID
DISPLAY_NAME
[additional fields]
PAGE
PAGE_ID
[additional fields]
USERテーブルはあなたが期待するものであり、標準的なテーブルUSERです。各ユーザーは自分のライブラリにアセットを追加できるため、 と の間には 1 対多の関係がUSERありASSETます。さらに、それぞれASSETが複数のページで構成されており、それぞれにPAGE、そのユーザーだけが見るための複数のメモを含めることができます。私の最初の考えは、3 つのテーブルすべての間にルックアップ テーブルを作成することです。
USER_ASSET_PAGE
UAP_ID
USER_ID
ASSET_ID
PAGE_ID
NOTE
そのため、USER_ASSET_PAGE テーブルにクエリを実行して、特定のユーザーの特定のドキュメントの特定のページに対応するメモを取得する必要があります。
SELECT NOTE
FROM USER_ASSET_PAGE
USER_ID = {user_id} AND ASSET_ID = {asset_id} AND PAGE_ID = {page_id}
このタイプのデータを構造化するためのより良い方法はありますか? 途中で合併症が起こる可能性があるように感じます。