私は mysql を学んだばかりで、mysql には詳しくありません。現在、次のようなテーブルが 3 つあります
記事表
id | ###タイトル### ###コンテンツ###||
---|---|---|
1 | ###おい###.... | |
id | ###タイトル### ###コンテンツ###
###こんにちは### ###世界###
.... | タグテーブル | |
---|---|---|
id | ###名前###アバター | |
1 | java | .... |
js
両方のテーブルはタグ テーブルを共有します。タグ テーブルのアバターはタグのアバターです。各タグには独自のアバターまたはデフォルトのアバターがあります。 | 私の現在の質問は、タグ テーブルを他の 2 つのテーブルに関連付ける方法です? | |
---|---|---|
記事表 | id | |
0 |
1
###おい###
2,3,4
id | ###タイトル### ###コンテンツ###タグ | ||
---|---|---|---|
1,4 | 1 | ###おい###.... | |
そこで2つ目の案を考えたのですが、記事テーブルと質問テーブルの構造は基本的に同じなので、統合できないでしょうか? | 質問と記事の件名の組み合わせ.... |
###タイトル### ###コンテンツ###
タグ0 | ###こんにちは### ###世界###1,4 | ###記事###||
---|---|---|---|
6,3 | ###質問###じゃあ、マージしないほうがいいんじゃないでしょうか? データベースは分けてもそれほど大きくないので、ラベルが 1 の質問をすべて見つけたいだけなら、単一のテーブル クエリのほうが速いですが、右?### | そこで、3 番目の解決策を考えました。関連テーブルを作成するのはどうでしょうか? この関連テーブルには ID が必要ですか...よくわかりません。関連テーブルがある場合、記事と記事のテーブルになります。質問がありますか? タグ フィールドは必要ありません。 | |
aq_id | タグID |
0
1
6 | 0 | 4 | ||
---|---|---|---|---|
まず、私はあなたがくれた記事テーブルと質問テーブルに目がくらみました...構造が同じなら、データも同じなら忘れてください...
次に、あなたが仲良くしていたソリューションタグタグを変更するのは難しいです。そして、あなたが言ったように、クエリは困難です。
記事テーブルと質問テーブルの統合については、これは完全に不要です。データベース、データベースのパラダイムを理解できます。
最後に、関連付けテーブル このアイデアは非常に優れており、aq_id と tag_id の使用も正しいです。将来的にデータが大量になるかもしれないと言っているのですが、心配しないでください。mySql はベジタリアンではないことは言うまでもなく、データが多すぎる問題も将来の研究で解決されます
最初にうまくいくための解決策は、タグ内の各数値を記号で区切ってクエリできることです (例: 1、11、31)。 「%、1、%」のように。これで分かるはずです。