まず、調べてみましたが、新参者で言葉に詳しくないので、正しい言葉を見つけられなかったかもしれません。重複の可能性がある場合はご容赦ください。
質問1:
からなるテーブルがありますID [PK] and LABEL [Varchar 128]
。ここの各レコード (行) は一意です。私が望むのは、これらの LABELS 間の関係を定義することです。
必要条件:
n 個のグループがあり、各グループにはこれらの LABELS が 1 つ以上含まれています。各グループでは、各 LABEL が存在する場合と存在しない場合があります (グループに同じ LABEL が 2 つ存在しないことを意味します)。
この関係をどのように定義すればよいでしょうか?
で別のテーブルを作成することを考えましたID [PK] - Group ID [randomly assigned unique key] - LABEL_ID [ID of Labels table pointing to a single Label]
これは正しくて有利ですか?グループに 10 個の LABELS がある場合、一意の ID を持つ 10 個のレコードがあり、同じ一意に割り当てられGroup ID and LABEL_ID
て LABELS テーブルを指します。
質問2:
(前述の) リレーショナル ソリューションを手放し、NoSQL ソリューションを選択する必要がありますか? 各グループは、単一のエントリとしてデータベースに保存されます。ID [PK] - Data [Containing either labels or IDs of labels pointing to the Label table]?
NoSQL を使用する場合、このデータをどのように保存すればよいですか?
a) ID - データ (ラベルを含む) が必要ですか? b) ID - データ (ラベルの ID を含む)?
質問 3:
ここでの NoSQL ソリューションが最善の方法である場合、このユース ケースにはどの NoSQL データベースを選択する必要がありますか?
ありがとうございました。