Текущий архив: 2013.04.28;
Скачать: CL | DM;
Вниз
Название поля первичного ключа. Найти похожие ветки
← →
Игорь Шевченко © (2012-12-25 13:34) [80]Медвежонок Пятачок © (25.12.12 13:22) [76]
> нарушено ограничение такое то
Обычно достаточно имени ограничения
← →
знайка (2012-12-25 13:35) [81]При "однотабличном" запросе все и так понятно. а если есть соединения, или подзапросы, то у нас, например, всегда используются алиас на таблицы, тоже все понятно.
В исключениях пишут какое поле и из какой таблицы, или где-то не так?
← →
Ega23 © (2012-12-25 13:40) [82]
> Если бы тока ID, то оно еще ладно, а то ведь сущности обрастают
> всякой "фигнёй" типа наименований, дополнительной информации
> или там, например, дат создания/модификации. :)
Ну да, я в целом.
Банальный пример:create table groups (
id int
caption varchar
)
create table entities (
id int,
groupid int,
caption varchar
)
и банальный запрос с клиентаselect g.caption, e.id, e.groupid, e.caption as entitycaption
from groups g join entities e on (g.id=e.groupid)
А когда таких id, caption, changetime, imageindex, sortorder и ты.ды. дофига, тогда ой.
← →
vuk © (2012-12-25 13:44) [83]to Игорь Шевченко © (25.12.12 13:34) [79]:
> У нас поболе будет.
Ну так я и говорю - мож пока не доросли до путаницы. Гораздо большей проблемой уже давно является плохая впихуемость в голову всех тонкостей функционирования. От этого правильными именованиями уже не спасешься. :)
← →
vuk © (2012-12-25 13:50) [84]to Ega23 © (25.12.12 13:40) [82]:
> и банальный запрос с клиента
> select g.caption, e.id, e.groupid,
> e.caption as entitycaption from groups g join entities
> e on (g.id=e.groupid)
Угу, в том и пакость, что я сегодня могу написать "e.caption as entitycaption", а завтра "e.caption as фигзнаетчо". Потому, что лень искать, как в других местах переименовали. :)
← →
Игорь Шевченко © (2012-12-25 13:54) [85]vuk © (25.12.12 13:44) [83]
> Гораздо большей проблемой уже давно является плохая впихуемость
> в голову всех тонкостей функционирования. От этого правильными
> именованиями уже не спасешься. :)
Не сыпь мне соль на рану :)
← →
Ega23 © (2012-12-25 13:59) [86]
> Угу, в том и пакость, что я сегодня могу написать "e.caption
> as entitycaption", а завтра "e.caption as фигзнаетчо". Потому,
> что лень искать, как в других местах переименовали. :)
Вьюхи спасают. но это тоже дело такое, неоднозначное.
← →
Игорь Шевченко © (2012-12-25 14:03) [87]Ega23 © (25.12.12 13:59) [86]
> Вьюхи спасают
В данном случае совсем не спасают.
← →
Ega23 © (2012-12-25 15:32) [88]
> В данном случае совсем не спасают.
В одном месте править. Хотя это уже совсем другой холивар :)
← →
Аббат Пиккола (2012-12-25 16:17) [89]Подозреваю, что при росте проекта всякая, поначалу казавшаяся блестящей и оптимальной, архитектура рано или поздно упирается в пределы своих возможностей. И приходится выбирать новую архитектуру.
← →
Игорь Шевченко © (2012-12-25 16:41) [90]Ega23 © (25.12.12 15:32) [88]
Ты предлагаешь на каждый запрос создавать view ? А зачем ?
← →
Jeer © (2012-12-25 16:51) [91]
> что при росте проекта всякая, поначалу казавшаяся блестящей
> и оптимальной,
но недальновидно спроектированная архитектура... и т.д.
← →
Kerk © (2012-12-25 16:53) [92]
> Игорь Шевченко © (25.12.12 16:41) [90]
> Ega23 © (25.12.12 15:32) [88]
>
> Ты предлагаешь на каждый запрос создавать view ? А зачем ?
В некоторых СУБД запросов фактически нет, есть только view :)
← →
Ega23 © (2012-12-25 17:10) [93]
> Ты предлагаешь на каждый запрос создавать view ? А зачем?
Я ничего не предлагаю. Я просто о плюсах и минусах префиксов.
В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.
← →
Jeer © (2012-12-25 18:05) [94]
> В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.
Попробовав разное, к этому приходят не все, но многие.
← →
MsGuns © (2012-12-25 18:11) [95]>Kerk © (25.12.12 16:53) [92]
>В некоторых СУБД запросов фактически нет, есть только view :)
Например в Хохлопарусе
← →
vuk © (2012-12-25 18:41) [96]to Ega23 © (25.12.12 17:10) [93]:
> Я ничего не предлагаю. Я просто о плюсах и минусах префиксов.
> В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.
>
Я бы сказал не так. Поля, хранящие одинаковые по смыслу данные должны, по возможности, называться одинаково.
← →
Jeer © (2012-12-25 18:59) [97]
> Поля, хранящие одинаковые по смыслу данные должны
Ну.. тут вопрос скорее о ссылочных делах, но префикс, привязывающий поле к таблице, нисколько не отменяет семантическую идентичность его ( поля ) в рамках БД.
← →
картман © (2012-12-25 22:53) [98]http://www.youtube.com/watch?v=_Hl4iDfARv8
← →
Медвежонок Пятачок © (2012-12-25 23:34) [99]неужели это еще не внесли в список экстремистких материалов?
← →
Игорь Шевченко © (2012-12-26 00:12) [100]картман © (25.12.12 22:53) [98]
+100500! :)
← →
Германн © (2012-12-26 02:41) [101]
> и да, имена полей в таблице не должны дублировать ее имя.
>
>
Единственный раз случайно нарушил это правило, но проблем не заполучил.
← →
Германн © (2012-12-26 02:46) [102]
> Дмитрий С © (23.12.12 14:07)
>
> Предположим таблица новостей `new`.
> Как лучше назвать поле PK:
> id или new_id ?
>
По мне лучше так:
Таблицу назвать news, а поле id_new. Ибо это не столь идентификатор таблицы, сколь идентификатор конкретной новости.
← →
знайка (2012-12-26 12:33) [103]
> Единственный раз случайно нарушил это правило, но проблем
> не заполучил.
Откуда им взяться, с неба упадут?
← →
Inovet © (2012-12-26 12:39) [104]> [102] Германн © (26.12.12 02:46)
> id_new
Ещё не лучше, весь цимус пропадает от этого new.
Надо всё называть тем, что пришло в голову причём по-русски транслитерацией не заморачиваясь о системе транслитерации - как вот сейчас захотелось, так и пишем можно знакомые английские слова добавить. Если в имени грамматическая ошибка - не исправлять, ибо лень - так дальше с ней и писать везде. Так, что ещё могу посоветовать? В общем главное - чтобы работало, имена выдумывают лохи, нормальному программеру некогда такими глупостями заниматься - ему кодить надо.
← →
Пит (2012-12-26 13:04) [105]Программисты такие программисты ))
Обсуждаемые проблемы в реальных проектах вообще проблемами не являются, по сути. Во всех проектах, которые я видел - всегда есть гораздо более хреновые вещи, которые мешают жить. В контексте чего PK называй хоть id, хоть news_id, хоть my_beautiful_key.
Конечно, это потому что я видел исключительно хреновые проекты.
← →
Jeer © (2012-12-26 15:28) [106]
> это потому что я видел исключительно хреновые проекты.
Мне повезло - вообще чужие не видел и дасть Тот, не увижу.
А свои я хреновыми не назову:)
← →
Дмитрий С © (2012-12-27 04:29) [107]
> А свои я хреновыми не назову:)
Это вообще большая загадка: откуда берутся хреновые программы?
← →
Jeer © (2012-12-27 10:33) [108]От тех, кто смотрит чужие хреновые и копирует:)
← →
Германн © (2012-12-28 02:12) [109]
> знайка (26.12.12 12:33) [103]
>
>
> > Единственный раз случайно нарушил это правило, но проблем
> > не заполучил.
> Откуда им взяться, с неба упадут?
А фиг их знает! Но иметь в программе два идентификатора с одним именем - это напряжно.
← →
Inovet © (2012-12-28 02:18) [110]> [109] Германн © (28.12.12 02:12)
> Но иметь в программе два идентификатора с одним именем - это напряжно.
А имена полей/функций одинаковые в разных классах?
← →
Владислав © (2012-12-28 03:40) [111]
> картман © (25.12.12 22:53) [98]
:-D
Осталось выбрать наимудрейшего. Ну или провозгласить. :)
Страницы: 1 2 3 вся ветка
Текущий архив: 2013.04.28;
Скачать: CL | DM;
Память: 0.67 MB
Время: 0.01 c