不動産の記録を集めるためのメインテーブルがあります。このテーブルは他の参照データテーブルと関係があるため、要約すると、次のIDが含まれています。
- CountryId
- TypeId
- PurposeId
- CurrencyId
- 等...
国、タイプ、目的などの他のテーブルがあります...
「タイプ」に基づいて新しい不動産レコードを作成する場合、いくつかの「拡張プロパティ」が定義されます。したがって、ユーザーは、選択した「タイプ」に直接リンクされている「拡張プロパティ」の値を入力する必要があります。
拡張プロパティの例:次のようなもの。
- ベッドルーム
このプロパティには、次のような1つ以上の値が含まれる場合があります。
- 1
- 2
- 3
1つのプロパティに1つ以上の値がある可能性があるため、拡張プロパティのテーブルと拡張プロパティ値のテーブルを保存しています。
特定のタイプに対して、そのようなプロパティが1つ以上ある可能性があるため、リンクする新しいテーブルを定義する必要がありました。
- 不動産ID
- ExtendedProperty ID
- ExtendedProperty値ID
現在、Webサイトは検索エンジンを提供しており、ユーザーは次のフィールドに検索条件を入力できます。
- 国
- タイプ
- 目的
- 1つ以上の拡張プロパティ(選択したタイプとそれに関連するプロパティに基づく)
DBにクエリを実行し、完全なデータレコードを返す必要があります。つまり、不動産レコードを返す場合は、TypeID+TypeNameやCountryID+CountryNameなどを返す必要があります。つまり、これらすべてのテーブルを結合し、次に、検索条件から受け取った値を使用してクエリを実行します。このような条件は、次のようになります。
- CountryId = 1
- タイプ=2
- EP(1,5)(IDが「1」の拡張プロパティを持ち、そのプロパティの値が「5」の拡張プロパティ値IDに等しい不動産レコードを見つけてください。
- など..。
他のすべてのテーブルは、通常の結合といくつかのパラメーターのチェックの問題だと思いますが、拡張プロパティをクエリする必要がある場合は難しくなります。
とても有難い。