Показать контактное лицо по стране и городу - PullRequest
0 голосов
/ 24 февраля 2012

Я работаю над сайтом с разными контактными лицами в разных странах и городах.

Чего я хотел бы добиться - это когда посетитель заходит на страницу с информацией о Франции - Париже, сценарий будет искать контактное лицо в базе данных и отображать информацию на странице.

Проблема в том, что у контактного лица может быть несколько стран / городов под его ответственностью.

У меня уже есть таблица стран и городов. Я не хочу ничего менять или добавлять в эти таблицы.

Итак, единственное, о чем я могу думать, это:

contact_persons (таблица)

contact_persons_id

contact_persons_name

И другая информация ...

контакт (таблица)

contact_persons_id

страна

город

Например:

Moonwalker - Франция - Париж

Moonwalker - Франция - Марсель

Другой пользователь - Нидерланды - Утрехт

Но это нормально? Или есть другой способ решить эту проблему?

Заранее спасибо.

с .: Языки PHP и MySql.

1 Ответ

2 голосов
/ 24 февраля 2012

Вы можете нормализовать свои данные способом, описанным ниже. У вас есть контакты, города и страны как отдельные области данных, чтобы избежать повторения. Затем у вас есть таблица для сопоставления контактов с городами в отношениях «один ко многим» (один контакт = много городов).

[table_contacts]
  - id
  - name

[table_cities]
  - id
  - name
  - country_id

[table_countries]
  - id
  - name

[table_contacts_cities]
  - id
  - contact_id
  - city_id

[EDIT] Упрощено благодаря комментарию ниже.

...