私は Web 開発に不慣れで、ユーザーが写真やその他のファイル (つまり、.doc、.xls、.ppt、.txt、.pdf など) をプロフィール ページ、投稿、コメントにアップロードできる Web サイトを実装しようとしています。 . 私はファイル ストレージに s3 バケットを使用しており、mysql データベースを使用してファイルの URL やその他の関連データを保存します。私が混乱しているのは次のとおりです。
これらのうち、最良のアイデアはどれですか?
a) プロファイル、投稿、コメントのそれぞれに対してファイル テーブルを作成し、指定されたオブジェクト (投稿、コメント、またはプロファイル) の ID (A FK) に関連付けられているすべてのファイルを取得します。
b) 「type」という名前のフィールド (「profile」、「post」、「comment」のいずれか) と、「id」という名前のフィールドを持つ 1 つのファイル テーブルを作成します。これは、 「タイプ」フィールド。
c) 誰もがより有利だと思う完全に異なるスキーマを使用する
編集:各ファイルをアップローダー(user_id)に関連付けるだけでなく、アップロードされたエンティティ(つまり、プロファイル、投稿、コメント)にも関連付けたい