0

MySQLデータベースを作成しています。このデータベースには、ブログ用と場所用の2つのテーブルがあります。私が行ったことは、blogsコンマで区切られたロケーションIDの文字列であるフィールドです:1,5,7。次に、PHPスクリプトで、その文字列をexplode()して、場所を取得できます。

MySQLクエリを使用して場所のすべてのブログを検索したい場合に問題が発生します。

関係のために別のテーブルを作成する必要がありますか?たぶんブログ1の場所1、ブログ1の場所5、ブログ1の場所7。前の例を表す3つの行。そうすれば、クエリでその場所にあるブログのみを選択します。もう1つの方法では、すべてのブログを選択して、それぞれを1つずつ確認する必要があります。

何がより速く、よりクリーンだと思いますか?

ありがとうございました!

4

3 に答える 3

2

別のテーブルがきれいです。実際のところ、これはリレーショナルデータベースの非常に基本的なものであるため、唯一の選択肢です。

于 2013-03-26T15:32:27.080 に答える
0

関係を表す3番目の表は、実際に進む唯一の方法です。

于 2013-03-26T15:33:40.753 に答える
0

リレーショナルデータベースの設定でこれを行う最良の方法は、ブログと場所の間の関係を処理するための3番目のテーブル(ジャンクションテーブルと呼ばれることもあります)です。あなたが説明するのは、多対多の関係(または双方向に進行する1対多の関係)です。

これは私より少し良いことを説明するリンクです。

于 2013-03-26T15:36:40.130 に答える