|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Здравствуйте! Подскажите, пожалуйста! Я проектирую БД и у меня множество таблиц с одинаковыми наименованиями атрибутов. например есть таблица customer и в ней есть атрибут name. В то же время есть таблица product и в ней также есть атрибут name. Я хочу переименовать эти атрибуты в customerName и productName соответственно. Подскажите, целесообразно ли давать такие имена атрибутам? (в т.ч. с учетом регистра). Или нет разницы и можно оставлять просто name? И если в некоторых таблицах будет просто name, а в некоторых, как я писал-customerName? Например, в таблице manager атрибут для имени менеджера останется просто name? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 09:29 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Morskoi_kotik, это хороший вопрос, на который нет однозначного ответа. В принципе, выходит удобнее и надёжнее, когда имя атрибута заодно выступает чем-то вроде имени домена (то есть ты знаешь, что в одинаково называемых полях лежат одинаковые по смыслу данные, в разно называемых - разные. productName - это ведь не то же самое, что customerName, другой смысл данных). Но с другой стороны, если начать последовательно двигаться в эту сторону, в итоге приходишь к тому, что все поля всех таблиц должны содержать префиксом имя таблицы, что уже очевидная нелепость. Простые имена удобны тем, что они короче, но в результате появляется необходимость во многих запросах снабжать их алиасами - те самые p.name as productName. В общем, если ставить целью "сделать всё единообразно", то лучше без таких префиксов. А так... стоит пробовать варианты и искать наиболее удачный баланс. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 11:53 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Morskoi_kotikПодскажите, целесообразно ли давать такие имена атрибутам? А ты попробуй. Когда твои запросы приобретут вид "select customer.customerName, product.productName", "ты всё поймёшь и всё увидишь сам". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 12:29 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Дим, а ты всегда пишешь запросы без алиасов таблиц или специально ради автора расстарался? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 12:47 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Я пишу запросы без алиасов таблиц когда а) название таблицы однословное; и б) таблица используется в запросе один раз. PS: И да я это делаю именно потому, что "customer.name, product.name" читается лучше чем "c.name, p.name" и тем более "c.customerName, p.productName". Добавить префикс таблицы к имени поля где его нет - SQL позволяет. Оторвать у имени поля зашитый префикс таблицы - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 12:53 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Я пишу запросы без алиасов таблиц когда Всегда боялся неленивых программистов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 13:01 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Благодарю за ответы! Я, в принципе, уже понял, что хлопотно писать потом все это будет в запросах. Проще алиас поставить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 13:15 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Morskoi_kotik, Кому проще, кому нет. Мне проще без алиасов. В своё время достаточно повозился с процедурами и встречал, когда для одного поля умудрялись делать по 3 алиаса и потом читать все "это", то еще удовольствие, а еще многие любят сокращать имена таблиц (PZXYZ, PXTYZ) и прочая ахинея по экономию байтов. Когда сам проектирую, у меня: user_name, user_login, channel_name, никакого дискомфорта в отличии от алиасов на первоначальные имена полей мне это не доставляет (алиасы используются для других вещей). В своё время проводили эксперимент на джуниорах, учет ошибок и времени для понимания процедур, вариант с алиасами и короткие имена проиграли в чистую. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 14:28 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
softwarer А так... стоит пробовать варианты и искать наиболее удачный баланс. истина где-то тут... ибо неожиданно может нарисоваться вариант, который ни то ни это... - в product текстовое поле product - в customer текстовое поле customer Если есть полные и сокращенные наименования то два поля product1 и product2 В документации для юниоров будет только одно примечание: - Наименование искать в одноименном с таблицей поле... Это я так... навеяло сквозняком... форточка открыта... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 15:00 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Morskoi_kotik Подскажите, целесообразно ли давать такие имена атрибутам? Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 22:53 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Я пишу запросы без алиасов таблиц когда а) название таблицы однословное; и б) таблица используется в запросе один раз. PS: И да я это делаю именно потому, что "customer.name, product.name" читается лучше чем "c.name, p.name" и тем более "c.customerName, p.productName". Добавить префикс таблицы к имени поля где его нет - SQL позволяет. Оторвать у имени поля зашитый префикс таблицы - нет. Алиасы использую всегда, но, сокращаю до одного символа крайне редко и только для часто используемых в запросах таблиц, при условии, если это сокращение используется во всех запросах системы. Обычно алиасы у меня состоят из 3-4 символов. Например, есть у меня таблица "job". Везде в запросах для неё применяется алиас "j". Ни для какой другой таблицы этот алиас не используется. А в данном примере я напишу: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 10:04 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Ведущий профессионал, Выбрать имя таможни или "Наименование кастомного значения" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 14:21 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Bsplesk Ведущий профессионал, Выбрать имя таможни или "Наименование кастомного значения" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 15:15 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Ведущий профессионал, авторИдёте во FROM Вот как раз об этом, что никакой понятности "cstv" (tvsv, vvtv ... etc), кроме как для автора, да и то пока он помнит, не несет, а только путает. Все равно идти во "from" и если табличек много (допустим с 10) и запрос/процедура не умещается на одном экране, то и "выписывать на листочек" приходится, что там сокращал автор. Многим гораздо проще, когда таблица названа так, как она названа в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 19:17 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Bsplesk Ведущий профессионал, авторИдёте во FROM Вот как раз об этом, что никакой понятности "cstv" (tvsv, vvtv ... etc), кроме как для автора, да и то пока он помнит, не несет, а только путает. Все равно идти во "from" и если табличек много (допустим с 10) и запрос/процедура не умещается на одном экране, то и "выписывать на листочек" приходится, что там сокращал автор. Многим гораздо проще, когда таблица названа так, как она названа в БД.Всё уже выписано на листочек: Код: sql 1. 2. 3. 4.
Может, у Вас потому и не умещается на экране как по вертикали, так и по горизонтали, что графоманством злоупотребляете. У меня названия таблиц могут 30 символов занимать, чтобы понятнее. А вот для алиасов 3-4 символа хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 19:36 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Bsplesk Многим гораздо проще, когда таблица названа так, как она названа в БД. По моим наблюдениям, неиспользование алиасов и "таблица названа так, как в БД" - верный признак новичка, который довольно быстро проходит. Оно слишком уж тесно связано с а) небольшим количеством таблиц в схеме б) простыми запросами в) отсутствием потребности джойнить одну и ту же таблицу несколько раз. P.S. Ок, не "новичка", а "человека, который мало и редко работает с SQL". В каких-то других областях он вполне может быть опытен и хорош. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 20:09 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
softwarer в) отсутствием потребности джойнить одну и ту же таблицу несколько раз. Прямо сейчас переделывал отчет с 25 левыми джойнами одной и той же таблицы... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 20:58 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 21:53 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
softwarer в) отсутствием потребности джойнить одну и ту же таблицу несколько раз. Код: sql 1. 2. 3.
Несмотря на сокращения алиаса до 4 символов, смысл совершенно прозрачен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 22:28 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Ведущий профессионал, Почему не называть более осмысленно? Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 23:04 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Пример выше условный и им хотел показать рано или поздно ваши сокращения (один - два - даже четыре символа) в рамках запроса/процедуры могут начать обозначать совершенно разные вещи и из-за этого будет страдать читаемость запроса и появляться трудно выявляемые, логические ошибки (запрос отрабатывает, синтаксически корректен, но возвращает не то, что нужно). Если с запросами на "10 строк" вопросов обычно не возникает, то как только запрос/процедура становится строк так 50-100, тут и начинается веселье (особенно если первоначальные название сразу без особой надобности сократили, как p1, p2, c4,cc2, pp7). Для вас curr - это текущая запись, а для кого-то это будет валюта curr (currency). Поэтому и не вижу смысла в этих сокращениях - что мешает написать, хотябы current? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:34 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Bsplesk Пример выше условный и им хотел показать рано или поздно ваши сокращения (один - два - даже четыре символа) в рамках запроса/процедуры могут начать обозначать совершенно разные вещи и из-за этого будет страдать читаемость запроса и появляться трудно выявляемые, логические ошибки (запрос отрабатывает, синтаксически корректен, но возвращает не то, что нужно). Если с запросами на "10 строк" вопросов обычно не возникает, то как только запрос/процедура становится строк так 50-100, тут и начинается веселье (особенно если первоначальные название сразу без особой надобности сократили, как p1, p2, c4,cc2, pp7). Для вас curr - это текущая запись, а для кого-то это будет валюта curr (currency). Поэтому и не вижу смысла в этих сокращениях - что мешает написать, хотябы current? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 11:23 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
Осмысленность сокращений - это отдельный вопрос, который крайне существенно зависит от конкретики. У меня, например, был проект, где одним из типовых сокращений было dsc, причём оно принципиально отличалось от другого, столь же типового ds_c (а также от ds и от dsc_c). И никто проблем не испытывал, все мгновенно понимали, о чём речь - именно потому, что сокращения были выбраны удачно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 18:14 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
softwarer В принципе, выходит удобнее и надёжнее, когда имя атрибута заодно выступает чем-то вроде имени домена (то есть ты знаешь, что в одинаково называемых полях лежат одинаковые по смыслу данные, в разно называемых - разные. productName - это ведь не то же самое, что customerName, другой смысл данных). Просто считай, что таблица это неймспейс для домена. И, кстати, еще ведь могут быть разные схемы или вообще разные БД - не включать же их тоже в названия артефактов из соображения, что "Customer" в схеме "Bank" это не то же самое, что "Customer" в схеме "Shop". А те же алиасы ты ведь тоже не называешь t1, t2, t3, наверняка, т.ч. проблем с этим не должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 19:26 |
|
как правильнее выбирать имена атрибутов?
|
|||
---|---|---|---|
#18+
softwarer Осмысленность сокращений - это отдельный вопрос, который крайне существенно зависит от конкретики. Если в запросе не больше трех-четырех таблиц, то алиасы можно хоть до первой буквы сокращать - проблем никаких нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 19:28 |
|
|
start [/forum/topic.php?fid=32&tid=1539802]: |
0ms |
get settings: |
17ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
641ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 1043ms |
0 / 0 |