Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Данные из двух таблиц

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
htcsc
Отправлено: 04 Мая, 2015 - 03:11:24
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




Всем привет. подскажите пожалуйста, как мне лучше реализовать следующее:

имеется две таблицы, назовем их country и city
в первой есть поля id и country во второй id и city
соответственно в первой таблице хранятся страны, а во второй города.

как мне сделать вывод городов, в зависимости от страны?
 
 Top
Мелкий Супермодератор
Отправлено: 04 Мая, 2015 - 10:37:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Знатоки, один город может одновременно принадлежать двум разным государствам?

Если нет, не может - в таблицу городов добавляете id страны, в которой этот город расположен.


-----
PostgreSQL DBA
 
 Top
Sail
Отправлено: 04 Мая, 2015 - 13:15:48
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




А если да, может - создаёте ещё одну табличку (id_country, id_city)
А чё я? Я ничё!

(Отредактировано автором: 04 Мая, 2015 - 13:19:19)

 
 Top
Sankaboy
Отправлено: 04 Мая, 2015 - 13:20:05
Post Id



Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




А если да, то можно через запятую записать id 2-х стран. Или продублировать город с разными идами стран.
А если создать еще одну табличку, как Вы предложили, то это будет маленько нагрузисто, но работоспособно при условии, что такой набор таблиц подойдет под ваши требования.

(Отредактировано автором: 04 Мая, 2015 - 13:28:45)

 
 Top
Мелкий Супермодератор
Отправлено: 04 Мая, 2015 - 13:45:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Sankaboy пишет:
А если да, то можно через запятую записать id 2-х стран

Ни в коем случае.

Sankaboy пишет:
если создать еще одну табличку, как Вы предложили, то это будет маленько нагрузисто

Напротив. Поиск по индексу не стоит практически ничего, против вашего постоянного full scan.


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 04 Мая, 2015 - 18:11:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Мелкий пишет:
против вашего постоянного full scan.
почему фулскан?
Обычная денормализация
Да...будет побыстрее чем join
Но и проблем поболее
Например апдейт по id уже не получится, придется апдейтить все по названию
А что если есть одноименные города? А они есть Улыбка
Можно по комбинации названия и страны, но они ведь и внутри страны могут быть одноименные
Придется добавлять еще один идентификатор для города
А оно вообще нам надо?
Оптимизировать надо узкие места
 
 Top
Мелкий Супермодератор
Отправлено: 04 Мая, 2015 - 18:49:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
почему фулскан?

Потому что иначе бред записи через запятые в одно поле не обрабатывается.
Смотри, что я цитирую.


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 04 Мая, 2015 - 18:51:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Я смотрюУлыбка
у тебя непонятно к какому варианту комент про фулскан
Sankaboy пишет:
Или продублировать город с разными идами стран.
денормализация
А запятые конечно бред
Как по ним выборку делать нормально
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB