2012-04-13 10 views
1

私はペーパーフォームをデータベースにプロパティリスト情報を保存するPHPフォームに変換しようとしていますが、これを行うための最善の方法について私の心を抱いています。私はPHPにはうまいですが、データベース構造と正規化では少し錆びます。MySQL正規化 - 複数テーブルの不動産リスティングデータベースの構築?

プロパティの詳細(リスティング番号、価格、住所など)のテーブルが1つ(tblListing)必要です。

は、しかし、私は多くの機能のための宿泊施設の特長(中央A/C、中央ヒート、タイルなど)

そして、さらに別の(tblLotFeatures)(コーナーロット、Cul-のために別のテーブル(tblPropFeatures)が必要ですデ - サック等)。

私が置き換えようとしている用紙には、プロパティ機能とロット機能のチェックボックスが100以上ありますので、これらを分けて、dbが適切に正規化されるようにします。

しかし、何らかの種類のリンクテーブルが必要なのか、それとも私が通常の結合を使用できるのか分かりません。

また、データベーステーブルに含まれる機能からチェックボックスのリストを動的に作成できるようにしたいと思います。将来、新しい機能を追加する必要がある場合、管理者はphpMyAdminにログインしてPropertyFeaturesテーブルにカラムを追加することができ、リフレッシュ時にPHPフォームが動的に更新され、dbの新しい機能の新しいチェックボックスが表示されます。あなたの助けやアドバイスを事前に

おかげで

答えて

1

あなたはこれらが多くのと呼ばれ

propFeaturesとlotFeaturesに上場をジョイン「リストに多くの機能」にリストに参加する「プロパティの機能をリスト」テーブルを必要とします多対多関係。それぞれに多くのロットまたは多くのプロパティ機能を持つ多くのプロパティリストがあります。

これにより、チェックボックスを動的に構築できるという目標も達成されます。各テーブルのすべての機能を選択してループして、チェックボックスを作成するだけです。プロパティにプロパティを直接結合した場合は、各フィーチャエントリを複製する必要があります。

プライマリキーを使用して各テーブルを作成し、結合テーブルのこれらのキーにインデックスを付けるようにしてください。

希望に役立ちます!がんばろう!

+0

ありがとうございます!私はあなたが提案したようにブリッジテーブルを使って作業データベースを作成することができました。助けてくれてありがとう! – Tyler

関連する問題