Всем привет. подскажите пожалуйста, как мне лучше реализовать следующее:
имеется две таблицы, назовем их country и city
в первой есть поля id и country во второй id и city
соответственно в первой таблице хранятся страны, а во второй города.
как мне сделать вывод городов, в зависимости от страны?
1. htcsc - 04 Мая, 2015 - 03:11:24 - перейти к сообщению
2. Мелкий - 04 Мая, 2015 - 10:37:46 - перейти к сообщению
Знатоки, один город может одновременно принадлежать двум разным государствам?
Если нет, не может - в таблицу городов добавляете id страны, в которой этот город расположен.
Если нет, не может - в таблицу городов добавляете id страны, в которой этот город расположен.
3. Sail - 04 Мая, 2015 - 13:15:48 - перейти к сообщению
А если да, может - создаёте ещё одну табличку (id_country, id_city)
4. Sankaboy - 04 Мая, 2015 - 13:20:05 - перейти к сообщению
А если да, то можно через запятую записать id 2-х стран. Или продублировать город с разными идами стран.
А если создать еще одну табличку, как Вы предложили, то это будет маленько нагрузисто, но работоспособно при условии, что такой набор таблиц подойдет под ваши требования.
А если создать еще одну табличку, как Вы предложили, то это будет маленько нагрузисто, но работоспособно при условии, что такой набор таблиц подойдет под ваши требования.
5. Мелкий - 04 Мая, 2015 - 13:45:59 - перейти к сообщению
Sankaboy пишет:
А если да, то можно через запятую записать id 2-х стран
Ни в коем случае.
Sankaboy пишет:
если создать еще одну табличку, как Вы предложили, то это будет маленько нагрузисто
Напротив. Поиск по индексу не стоит практически ничего, против вашего постоянного full scan.
6. LIME - 04 Мая, 2015 - 18:11:28 - перейти к сообщению
Мелкий пишет:
почему фулскан?против вашего постоянного full scan.
Обычная денормализация
Да...будет побыстрее чем join
Но и проблем поболее
Например апдейт по id уже не получится, придется апдейтить все по названию
А что если есть одноименные города? А они есть
Можно по комбинации названия и страны, но они ведь и внутри страны могут быть одноименные
Придется добавлять еще один идентификатор для города
А оно вообще нам надо?
Оптимизировать надо узкие места
7. Мелкий - 04 Мая, 2015 - 18:49:16 - перейти к сообщению
LIME пишет:
почему фулскан?
Потому что иначе бред записи через запятые в одно поле не обрабатывается.
Смотри, что я цитирую.
8. LIME - 04 Мая, 2015 - 18:51:51 - перейти к сообщению
Я смотрю
у тебя непонятно к какому варианту комент про фулскан
А запятые конечно бред
Как по ним выборку делать нормально
у тебя непонятно к какому варианту комент про фулскан
Sankaboy пишет:
денормализацияИли продублировать город с разными идами стран.
А запятые конечно бред
Как по ним выборку делать нормально