私は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}
このタイプのデータを構造化するためのより良い方法はありますか? 途中で合併症が起こる可能性があるように感じます。