0

私は、さまざまな国や都市にさまざまな担当者がいるウェブサイトに取り組んでいます。

私が達成したいのは、訪問者がフランス - パリに関する情報を含むページにアクセスすると、スクリプトがデータベース内の連絡先担当者を検索し、ページに情報を表示することです。

問題は、担当者が複数の国/都市を担当できることです。

私はすでに国と都市のテーブルを持っています。これらのテーブルを変更したり追加したりしたくありません。

したがって、私が考えることができる唯一のことは次のとおりです。

contact_persons (テーブル)

contact_persons_id

contact_persons_name

そして他の情報...

連絡先(表)

contact_persons_id

たとえば、次のようになります。

ムーンウォーカー - フランス - パリ

ムーンウォーカー - フランス - マルセイユ

otheruser - オランダ - ユトレヒト

でもこれでいいの?または、これを解決する他の方法はありますか?

前もって感謝します。

ps: 言語は PHP と MySql です。

4

1 に答える 1

2

以下に説明するような方法でデータを正規化できます。繰り返しを避けるために、連絡先、都市、および国をデータの個別の領域として持っています。次に、1 対多の関係 (1 つの連絡先 = 多くの都市) で連絡先を都市にマップするテーブルがあります。

[table_contacts]
  - id
  - name

[table_cities]
  - id
  - name
  - country_id

[table_countries]
  - id
  - name

[table_contacts_cities]
  - id
  - contact_id
  - city_id

[編集]以下のコメントのおかげで簡素化されました。

于 2012-02-24T12:17:51.883 に答える