|
|
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
iamhereЧем EMP_ID лучше EMP.ID? Рисовать легче. Пир создании в CASE-средстве внешнего ключа в дочернюю таблицу мигрирует поле с "правильным" именем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 17:01 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
iamhereЕсли "просто ID" - плохое решение, то и "просто Name" должно быть плохим. В первую очередь, схема этого рассуждения представляется мне сомнительной. Во вторую очередь, "просто Name" - я лично не использую. iamhereИ тогда что - все поля предварять префиксом??? Всем полям давать осмысленные и достаточно различимые имена. В том числе в этом может помочь префикс. iamhereПросто надо взять за правило - как только в запросе есть две (и более) таблицы - сразу для всех вводим одно-двухбуквенные алиасы Это правильно, но в случае ID не слишком помогает по причинам, указанным Денисом. Плюс, действует еще то соображение, что когда одно-двухбуквенных алиасов оказывается пятнадцать-двадцать-сорок штук, более различимые поля помогают читать запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 18:18 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
iamhere Если "просто ID" - плохое решение, то и "просто Name" должно быть плохим. Потому что тоже во многих таблицах такое поле есть и называется одинаково :) И тогда что - все поля предварять префиксом??? ... Или что - некоторые поля предварть префиксом, а некоторые - нет? Это просто бардак будет. ... По-моему хорошо аргументированно. Кто против "PK - всегда ID", можете конкретно ответить на каждый заданный вопрос в этом высказывании? 1. Если "просто ID" - плохое решение, то и "просто Name" должно быть плохим. Потому что тоже во многих таблицах такое поле есть и называется одинаково :) И тогда что - все поля предварять префиксом??? 2. Или что - некоторые поля предварть префиксом, а некоторые - нет? 3. Просто надо взять за правило - как только в запросе есть две (и более) таблицы - сразу для всех вводим одно-двухбуквенные алиасы и на ВСЕ поля ссылаемся только с алиасом. Читается и пишется отлично, ничего не спутаешь, и вообще все замечательно. Кто-то против такого правила? 4. Чем EMP_ID лучше EMP.ID? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 15:12 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
softwarer iamhereЕсли "просто ID" - плохое решение, то и "просто Name" должно быть плохим. В первую очередь, схема этого рассуждения представляется мне сомнительной. Уважаемый softwarer, когада-то читал на Вашем сайте об уверенности в своем умении четко следовать логическим рассуждениям, но в данном случае - в чем сомнительность высказывания: iamhereЕсли "просто ID" - плохое решение, то и "просто Name" должно быть плохим. Вполне логичный вывод. Другое дело, что у каждого есть свои эстетические предпочтения и доля здравого смысла - вот корень данной дискуссии. Мне кажется - каждый должен осмыслить услышанное и опредлиться со своими предпочтениями. Одним из главных критериев верности выбора может служить чувство комфорта и "симпатишности", наблюдаемого в процессе работы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 15:26 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
на вкус и цвет товарищей нет. Какой внутренний стандарт примите, тот и будет правильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 15:31 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
cg_romaУважаемый softwarer, когада-то читал на Вашем сайте об уверенности в своем умении четко следовать логическим рассуждениям, Любопытно, поскольку не припомню там подобных утверждений. Возможно, Вы имеете в виду параграф про соблюдение темы дискуссии; возможно же - Вы имеете в виду параграф "Логика", где я как раз предостерегаю от того, чем Вы, возможно, занялись - подмены сказанного мной Вашим мнением о том, что же я имел в виду. cg_romaно в данном случае - в чем сомнительность высказывания: ..... Вполне логичный вывод. Хм. Признаться, я почти уверен, что Вы не строили цепочку рассуждений, приводящую к этому выводу, и "вполне логичный" следует читать как "интуитивно кажется мне верным". Сомнительность же его в том, что его можно оспорить, причем вполне логичным рассуждением. Например, так: Поле ID используется почти исключительно для решения двух задач: выборки одиночной записи по ключу и связывания данных в запросе. Поле Name практически никогда не применяется для решения этих задач, зато применяется для решения задач, в которых практически никогда не используется поле ID. Таким образом, доказано принципиальное различие этих полей, более того - практическое отсутствие общности сверх самого базового уровня (уровня "и то, и другое - поля"). Исходя из этого, нет никаких оснований полагать, что нечто, верное для одного из полей, окажется верным для другого, равно как и наоборот. Повседневная аналогия такой ситуации - практически любой стандарт говорит об использовании осмысленных идентификаторов, но в то же время практически любой стандарт допускает использование переменных наподобие i, j, ii в роли варианта цикла, хотя это вроде бы противоречивые подходы. cg_romaДругое дело, что у каждого есть свои эстетические предпочтения и доля здравого смысла - вот корень данной дискуссии. Мне кажется - каждый должен осмыслить услышанное и опредлиться Безусловно. Именно поэтому я в ходе этой дискуссии минимизировал изложение собственных вкусов и в основном говорил либо о "главное - система, не так важно какая именно", либо об объективных, проверяемых преимуществах/недостатках того или иного подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 22:52 |
|
||
|
Как лучше именовать поля PrimaryKey ?
|
|||
|---|---|---|---|
|
#18+
В свое время очень много писал для БД, PK которой были построены по принципу table_name_id. Очень утомительно было писать и отлаживать конструкции наподобие: Код: plaintext Код: plaintext Код: plaintext особенно если все в команде знают, что tn это общепринятый alias для table_name. Нет разницы между emp_id и emp.id (если нет еще одной таблицы с полем emp_id...), но есть большая разница между, например ii.invoice_item_id и ii.id... А читается так же легко, если ii.id не легче при долгой работе с системой... Особенно учитывая, что полные наименования таблиц таковы, что не всегда условие по join влезает в экран :)... В общем, когда пришло время проектировать свою БД, пришел к выводу, что обозначение PK просто как ID позволит сохранить много времени при дальнейшей работе. Хотя все это весьма и весьма субъективно, кому-то вон венгерская нотация нравится... В общем, как во всех учебниках пишут про стиль: главное чтобы был, был один и удобный для Вас в использовании... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 13:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33813349&tid=1545163]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
410ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 701ms |

| 0 / 0 |
