Сенсей
Новичок
Проэктирование базы - Пользователь - Страна - Город
Хочется совета. Праивльно ли у меня реализована эта чатсь базы
Есть пользователь. Он может выбирать из списка страну рождения и город рождения.
Как сделано сейчас:
1. $country_array = array('1' => 'Россия'); - пример массива со странами (около 16ти стран)
2. Города - в базе. Привязаны по country_id к $country_array[$country_id]
3. В таблице юзеров есть поля - born_country_id и born_city_id
Плюсы такого подхода (имхо):
1. Не надо делать лишний запрос (и/или соединение таблиц) для получения СТРАНЫ
Мысли: так как стран не много - выгоднее держать массив чем лезть в базу
2. При выводе информации о пользователе (например на страничке пользователя) берем born_country_id и born_city_id и сразу же с $country_array[$country_id] берем СТРАНУ и по born_city_id соединяемся с таблице городов и берем назвнаие города
Мысли: никаких лишний запросов
3. В итоге нет лишней нагрузки от такой маленькой функции на сайте как город и страна
---
Есть сомнения насчет использования массива со списком стран. + Есть второе "Я" которое говорит мне что нужно было делать отдельную таблицу связи юзер -> город_id
Исходить нужно из того что проэкт расчитывается на 50K зареганых юзеров и минимум 200K просмотров страниц в день.
Просто пытаюсь исправить ошибки которые допустил в уже работащем популярном проэкте.
Хочется совета. Праивльно ли у меня реализована эта чатсь базы
Есть пользователь. Он может выбирать из списка страну рождения и город рождения.
Как сделано сейчас:
1. $country_array = array('1' => 'Россия'); - пример массива со странами (около 16ти стран)
2. Города - в базе. Привязаны по country_id к $country_array[$country_id]
3. В таблице юзеров есть поля - born_country_id и born_city_id
Плюсы такого подхода (имхо):
1. Не надо делать лишний запрос (и/или соединение таблиц) для получения СТРАНЫ
Мысли: так как стран не много - выгоднее держать массив чем лезть в базу
2. При выводе информации о пользователе (например на страничке пользователя) берем born_country_id и born_city_id и сразу же с $country_array[$country_id] берем СТРАНУ и по born_city_id соединяемся с таблице городов и берем назвнаие города
Мысли: никаких лишний запросов
3. В итоге нет лишней нагрузки от такой маленькой функции на сайте как город и страна
---
Есть сомнения насчет использования массива со списком стран. + Есть второе "Я" которое говорит мне что нужно было делать отдельную таблицу связи юзер -> город_id
Исходить нужно из того что проэкт расчитывается на 50K зареганых юзеров и минимум 200K просмотров страниц в день.
Просто пытаюсь исправить ошибки которые допустил в уже работащем популярном проэкте.