[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Задавать префиксы таблицам это хороший тон?
Страницы: 1, 2, 3, 4
twin
Valick
Цитата
имена в этих таблицах должны быть идентичными, а уж с префиксами они там будут или без них разницы вообще никакой.
Вооот!!! Идентичными. Одинаковыми. А с префиксом будут разные.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (Valick @ 20.03.2014 - 15:00)
Цитата
USING фиг используешь.

используешь, если в связываемой таблице будет тоже самое имя

Блин. Ну поехали сначала тогда.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
glock18
Цитата
Это запрос, который привел Allesklar, и на который вы, Валик, ответили, что надо было использовать using.
Справедливости ради нужно отметить, что про этот запрос никто не говорил. Говорили как раз о том, что USING при таком раскладе (когда нет общего поля) использоваать нельзя. Ну по крайней мере я так говорил и так же воспринял слова Valick'a

А вот дальше его немного занесло, да.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Valick
glock18
SELECT * FROM users 
LEFT JOIN ban ON (users.u_id = ban.u_id)
LEFT JOIN access ON (ban.b_id = access.b_id)


SELECT * FROM users
LEFT JOIN ban USING(u_id)
LEFT JOIN access USING(b_id)


_____________
Стимулятор ~yoomoney - 41001303250491
glock18
Valick
проверили хоть или рассчитываете на свое всеобъемлющее знание?

EDIT: так, ну все, я сам проверил, и с удивлением обнаружил, что неправ. Вполне вероятно, что когда давно это пробовал, просто делал опечатки, но дела это не меняет. Николай, переводи меня в разряд смертных
Valick
glock18, ненадо, я пошутил smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
Valick
Цитата
Вооот!!! Идентичными. Одинаковыми. А с префиксом будут разные.

Внимание!!! Включаю "лося", если взять префиксом одну единственную букву, то префиксы в таблицах table1 и table2 БУДУТ ОДИНАКОВЫЕ,
t_

_____________
Стимулятор ~yoomoney - 41001303250491
glock18
Цитата (Valick @ 20.03.2014 - 15:25)
glock18, ненадо, я пошутил smile.gif

Ну я-то не шутил
twin
Да почему в таблицах должен быть одинаковый префикс то? А если это связь с другой таблицей? Ну к примеру есть таблица users и таблица moderators. И есть еще две таблицы user_setting, где ключ u_id и таблица mod_setting, где ключ соответственно m_id. Всё остальное идентично.

И вдруг захотелось их объеденить в одну. Ну приспичило, не будем о целесообразностях и архитектурах. Тут суть важна. Я еще раз про смайлик напоминаю.

Вот в таком случае префикс помешает.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (glock18 @ 20.03.2014 - 15:38)
Цитата (Valick @ 20.03.2014 - 15:25)
glock18, ненадо, я пошутил smile.gif

Ну я-то не шутил

Ага, давйте из-за таких глупостей модераторов разгонять теперь))) Да если бы каждый раз это делать, то я бы наверное сейчас даже в пейджере не имел права писать)))

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sergeiss
И чО спорят, а?

Вот запрос из реального проекта, связаны 3 таблицы (Постгре).

select ....
from relation_outlets_goods r
left join outlets o
using (id_outlet)
left join goods g
using( id_goods)
where .....


Именно так, как Валик писАл. И очень даже хорошо всё работает :) Да и с чего бы ему плохо работать? Я изначально даю одинаковые имена столбцам разных таблиц, по которым потом может идти связь. Мне лично так понятнее, чем в именах столбцов закладывать, кто там с чем связан.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
sergeiss, изначально речь шла о префиксах к именам таблиц, а уже потом плавно переросла про префиксы к именам полей. Я люблю когда у меня всё четко, ровно, информативно, упорядоченно и в меру унифицированно, поэтому я люблю префиксы. Я всего лишь возражаю против того, что префиксы якобы там каким-то образом мешают нормально работать с БД. Мне лично не мешают, за других я сказать не могу.

_____________
Стимулятор ~yoomoney - 41001303250491
glock18
Цитата (sergeiss @ 20.03.2014 - 17:08)
Именно так, как Валик писАл. И очень даже хорошо всё работает smile.gif Да и с чего бы ему плохо работать?


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

Мысль про невозможность определения одной из таблиц джойна при using на самом деле выглядит довольно таки резонной. Разве что сервер все таблицы проверяет на наличие такого поля аккуратно, и потом решает что с чем джойнить. Немного странно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.