解決策が見つからないような問題があります。私はこの辺りで同様の答えを閲覧しましたが、私が探していたものは何もありませんでした。私はSQLにかなり精通していますが、決して専門家ではありません。
私はアパートの建物に関する情報(名前、地域、近所、電話番号、住所、郵便番号など)を含むテーブルを持っています。現在、このテーブル内には「ドアマン」、「エレベーター」、「ジム」などのいくつかの設備が定義されています。と他のいくつか)建物が実際にその快適さを持っているかどうかを示すためのtinyintsとして。しかし、私はさらに多くの種類のアメニティを組み込む過程にあり、巨大な建物のテーブルに列を追加することはあまり意味がないため、構造を変更する時期かもしれないと考えました。
だから私は次のことを行うための最高の能力を私に提供する解決策を探しています:1)ユーザー定義の設備に基づいて建物を検索します(たとえば、ユーザーはジムとドアマンが必要な建物を見たいと選択します、他の人は気にしない)2)建物に含まれるすべての設備を含む建物に関するデータを返す(情報を表示するため)
これらの構造を多対多の関係に分離し、次のことを行うことを考えていました。1)すべてのアメニティを含む「アメニティ」と呼ばれる新しいテーブルを作成すると、次の構造になります。id->アメニティ名の一意のID->アメニティ値のテキスト説明->たとえば「pet_friendly」(フォームで検索する場合、必要かどうかわからない)
2)次の構造を持つ「building_amenities」と呼ばれる別のテーブルに建物とアメニティの関係テーブルを作成します。id->関係の一意のIDbuilding_id->建物のIDを参照amenity_id->アメニティのIDを参照value-> tinyint、建物にアメニティがあるかどうかこの表では、各建物は各アメニティと関係があり、アメニティがあるかどうかを示します。
私の問題は、これがこの状況に適した構造であるかどうかわからないことです。この構造があった場合、検索クエリをどのように実装するかは確かにわかりません。
これについて助けてくれてありがとう!