0

私はデータベース計画とプログラミング全般に不慣れです。

不動産業者向けのデスクアプリを開発する必要があります。少なくとも 2 つのテーブルが必要です。

property_table - ID、ライセンス番号、住所、都市、寝室、風呂、洗濯物など

image_table - id、picture_name、path、size (画像関連 DB)

(おそらくagent_tableが必要ですが、シンプルにしましょう)。

Property_tableには、ID ごとに1 つの アドレスしかありません。同じ住所の新しいエントリは、新しい ID (同じ家を転売する人) を生成する必要があります。

ただし、image_tableには、同じプロパティ アドレスに対して 10 個のエントリが含まれる場合があります。ユーザーからの間違いを避けるために、PHPセッションを使用してテーブル間に住所、都市、郵便番号を移動しています(したがって、image_tableは実際にはid、picture_name、path、size、address、city、zip code、usernameです)。

質問: 外部キーを使用する必要がありますか? それとも私の検索に参加するだけですか?これに関する多くの質問は、こちら、結合に関する優れチュートリアルなどです。結合クエリを使用する必要があるようです。外部キーはどうですか?

理由: 別の BD からのようにリストを表示する必要があります。住所 (table-1) にはいくつかの写真 (table-2) があります。

前もって計画。長期的には、同じ住所に複数のエントリが含まれます (同じ住所、同じ郵便番号)。

あまりにも多くの新しい情報に混乱し、前もって計画を立てようとしています。お時間をいただきありがとうございました。

4

3 に答える 3

0

property_table - Property_table_id(PK)、ライセンス番号、住所、都市、寝室、風呂、洗濯物など。

image_table - image_table_id(PK),Property_table_id(FK), picture_name, path, size (画像関連DB)

* プロパティ テーブルから選択 PropTable 内部結合 Image_Table imgTable on PropTable.Property_table_id = imgTable.Property_table_id

于 2013-09-06T18:09:20.917 に答える
0

一般的に、外部キー (FK) を使用することに「はい」と言います。PHP を使用しているので、リレーショナル データベースのバックエンドとして、MySQL などの多くの一般的な無料またはオープン ソース データベースのいずれかを使用していると思います。FK を使用すると、データに制約を設定して、プログラムのエラーを引き起こす可能性のある間違いを防ぐことができます。

たとえば、あなたのシナリオでは、property_tableいくつかのアドレスを持つテーブルがあり、それらのいくつかは同じ画像を使用している可能性があります。この場合、property_tableおそらくに列が必要ですproperty_table。これは、列を参照するテーブルのimage_idFKです。.image_tableimage_tableid

FK で適切に制約を設定すると、テーブルに存在しないidイメージの を誤って入力することを防ぐことができます。参照された ( ) テーブルimages_tableのデータで何かを行う場合に備えて、制約を使用して参照を自動的に管理することもできます。images_tableたとえば、 から画像を削除すると、images_tableその画像へのすべての参照がproperty_table.

于 2013-09-06T18:17:03.207 に答える