|
|
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Пример: news n_ id n_ name n_ cat n_ description pages p_ id p_ name p_ text news_cat nc_ id nc_ name news_2_cat n2c_ cat_id n2c_ n_cat items it_ id it_ name items_categorys itc_ id itc_ name и так во всех таблицах. Насколько это удобней? Кто так часто делает? Тем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 12:13 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexТем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) Код: sql 1. 2. 3. 4. 5. 6. 7. что удобней, решай сам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 12:37 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylex, мало букв в префиксах надо больше. и мало цифр в названиях, надо больше цифр, сленга, жаргонизмов. авторв запросах мы можем не использовать алиасы таблиц на собеседовании можешь заработать себе парочку баллов высказав подобную идею. в центре занятости такие баллы на пособие обменивают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 12:57 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
если позволите, профессор.sylex, мало букв в префиксах надо больше. и мало цифр в названиях, надо больше цифр, сленга, жаргонизмов. авторв запросах мы можем не использовать алиасы таблиц на собеседовании можешь заработать себе парочку баллов высказав подобную идею. в центре занятости такие баллы на пособие обменивают. я не про собеседование, а про реальную практику спрашиваю! у меня действительно есть один аргумент, а у вас никаких кроме трепа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 13:22 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
egorychsylexТем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) Код: sql 1. 2. 3. 4. 5. 6. 7. что удобней, решай сам в том то и дело, в первом случае по-короче можно: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 13:24 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
в общем, плюсы префиксов: 1. не требуется писать алиасов для таблиц (как правило запросы короче) 2. удобно при больших запросах - четко видишь, от какой таблицы идет поле, даже не видя таблицу 3. меньше путанницы - при обычном подходе: в разных запросах, когда много таблиц - можешь дать разные алиасы для одних и тех же таблиц - если же есть префиксы - все стандартизированно на всю БД раз и навсегда 4. меньше путанницы при выборке из присоединенных таблиц - когда много одних и тех же name, id - приходится давать алиасы полям при выборке, при использовании префиксов - ничего этого не нужно, никогда не путаешься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 13:44 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylex, Часто дают названия по шаблону поле_таблица, для полей типа счетчиков (id_items), PK, FK. Для других полей как то не приживается. Имя таблицы лучше не сокращать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 14:01 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexв общем, плюсы префиксов: 1. не требуется писать алиасов для таблиц (как правило запросы короче) 2. удобно при больших запросах - четко видишь, от какой таблицы идет поле, даже не видя таблицу 3. меньше путанницы - при обычном подходе: в разных запросах, когда много таблиц - можешь дать разные алиасы для одних и тех же таблиц - если же есть префиксы - все стандартизированно на всю БД раз и навсегда 4. меньше путанницы при выборке из присоединенных таблиц - когда много одних и тех же name, id - приходится давать алиасы полям при выборке, при использовании префиксов - ничего этого не нужно, никогда не путаешься как только написанных строчек кода станет больше одной, аргументация несколько изменится. 12930967 еще раз перечитать и посидеть подумать. авторв общем, плюсы префиксов для публикации на персональной страничке вконтакте годится 100% друзья оценят масштаб аналитики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 16:02 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylex, Лично я за чистые имена, без префиксов. Никогда не понимал зачем издеваться над простыми понятными имена наподобие "NAME", "VALUE", "COUNT" и превращать их в "ANR_NAME", "DLT_VALUE", "ARTRLW_COUNT". При составлении запросов я всегда пишу алиасы, даже когда запрос из одной таблицы, просто уже до автоматизма дошло, и если к нему добавиться еще одна таблица, то не нужно ничего переписывать. Хотя сейчас на работе префиксы используем, особого дискомфорта не испытываю, но не мое это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 16:08 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Максим ННикогда не понимал зачем издеваться над простыми понятными имена ... я же объяснил уже - зачем "издеваться" для удобства, для простоты понятно, что каждый привык по своему и вряд ли отступит... понятно, что можно делать алиасами, и не париться... но тогда: а) нужно не запутаться, если таблиц много - помнить какой алиас - какой табличке (а то при добавлении новой с похожим именем - нужно свой алиас, а бывают две похожие по имени) б) всегда в выборке заботится об одинаковых полях в разн. таблицах - и назначать алиасы полям в) при джойне новой таблице в запрос - убедиться что есть алиасы в др. таблицах, добавить в выборку - с учетом пересечения всех полей всех таблиц (т.е. одинаковым - назначить алиасы) хотелось бы выслушать мнение остальных, кто что использует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 18:33 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
оценяткак только написанных строчек кода станет больше одной, аргументация несколько изменится. кроме как чухни нести - ты больше ниче не можешь, аргументируй свою позицию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 18:35 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Всякая одинаковая фигня перед осмысленными (уникальными) названиями - издевательство и мешается, например дико бесит необходимость это набирать при интеллисенсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 22:02 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexНасколько это удобней? Где-то на минус триста процентов. sylexКто так часто делает? Таких не встречал. sylexТем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) То есть вместо двухсимвольного префикса (t.), который мы можем использовать, предлагается двухсимвольный (t_) префикс, который мы не можем не использовать. При этом отваливаются мелкие удобства, типа одинаковых имён слева и справа, необходимость сделать внешний ключ порождает глубокие размышления "с каким же префиксом назвать поле", но зато как только требуется использовать таблицу в запросе дважды - или просто использовать в запросе таблицы с одинаковым префиксом - приходится возвращаться к старой схеме. Вывод: у Вас крайне нетривиальное представление об удобствах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2012, 23:43 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Koh Convention defines field naming/sorting convention for MS SQL Server development policy on military/government grade projects and others type of developments where a built-in change testing enforcement is required. Fields in the table definition are sorted alphabetically. Field names are written with capital letters separating the words, e.g. ClientNameAtBirth. The field name is separated from the suffix by an "underscore". The suffix includes Primary/Foreign Key alias,DataType alias, and the string length (for n/var/char type only). <Field Name>+<_>+<Primary/Foreign Key alias><DataType Alias>+<Length> (for n/var/char type only) Example Table "Client" Id_PKui -Primary Key UniqueIdentifier NameAtBirth_vn255 -nvarchar(255) CurrentAddressId_FKui -Foreign Key Unique Identifier TotalFingersAtBirth_iy -tinyint DataType Aliases: bt -bit iy -tiny integer is -small integer it -integer ib -big integer n -num mn -money ms -small money dc -decimal f -float r -real cr50 -char(50) cn50 -nchar(50) vc50 -varchar(50) vn50 -nvarchar(50) tx -text tn -ntext ds -small datetime dt -datetime d -date t -time dt2 -datetime2 dto -datetime offset bn -binary bv -varbinary img -image cur -cursor tsp -timestamp hi -hierarchyid ui -uniqueidentifier sv -sql_variant x -xml tbl -table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 03:49 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
1) Если нужно связать таблицу саму с собой или просто использовать ее несколько раз в запросе все равно придется использовать алиасы. 2) Не знаю кто как, но я пишу в PL/SQL Developer, там есть Code Assistant, т.е. я пишу алиас точка и вижу список полей таблицы с этим алиасом, без этого мне нужно будет помнить все поля всех таблиц? Нет уж, увольте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 06:24 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexКто так часто делает? Я так часто делаю. softwarerТо есть вместо двухсимвольного префикса (t.), который мы можем использовать, предлагается двухсимвольный (t_) префикс, который мы не можем не использовать. Предположим, что первичный ключ у всех называется id, тогда для каждой (ну или почти каждой) таблицы в запросе нужно прописать алиас. softwarerно зато как только требуется использовать таблицу в запросе дважды - или просто использовать в запросе таблицы с одинаковым префиксом - приходится возвращаться к старой схеме. Истинно верно. Но насколько много запросов используют одну и ту же таблицу дважды? У меня - не более 5%. А еще при выборке для каждого поля "name", нужно делать свой алиас. Пусть есть 3 таблицы: машина, цвет, модель кузова. В каждой есть поле id - первичный ключ и name - отвечающее за название. Чтобы сделать простую выборку - нужно прописывать каждому полю name свой алиас. Код: sql 1. 2. 3. 4. 5. В общем, я не понимаю такой ненависти к префиксам полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 07:07 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexПример: news n_ id n_ name n_ cat n_ description pages p_ id p_ name p_ text news_cat nc_ id nc_ name news_2_cat n2c_ cat_id n2c_ n_cat items it_ id it_ name items_categorys itc_ id itc_ name и так во всех таблицах. Насколько это удобней? Кто так часто делает? Тем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) Префиксы, возможно, могут иметь пользу в каком-то упрощении понимания смысла запросов, когда есть несколько основных (наиболее часто встречающихся в запросах) таблиц, для тех кто часто сталкивается с запросами к этой БД, када пишет запросы много разного народа с разными стилями написания. Тогда, видимо, префиксы запомнились и не надо искать FROM, чтобы понять какой таблице принадлежат имена столбцов. Возможно, у суррогатов этот префикс сокращение имени таблы и потому суррогаты запоминаются по любому, и они быстрей попадаются на глаза чем FROM. С другой стороны, для вновь пришедших в проекты со стороны это может вызвать излишнее усложнение: нужно есче понять что это префикс, а не смысловое сокращение свойства сущности про которое данный столбец. Ведь это искажение естественноного присхождения наименования свойства. Кроме того, когда много таблиц с подобными именами можект возникнуть трудностти с придумыванием префиксов и соотвественно их пониманием потом. Например, в Вашей схеме было бы еще таблица item_class. Ее префикс судя по всему дролжен быть как и у items_categorys: itc, другой буит сбивать с толку: откуда такое наименование - излишнии для прользы дела мыстли. Однако, itc - неприемлемо совсем. Я видел стандарты фирм где три первые символа в имени колонки - это префикс от имени таблицы. Причем те кто их создавал давно ушли, но теперь единообразие стиля в этом плане имеет значение: проектов много и запроосы в них читать проще. Например, часто встречающийся префикс - указывает на основную таблу в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 08:31 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
softwarersylexНасколько это удобней? Где-то на минус триста процентов. ну ка формулу рассчета - в студию :) softwarersylexКто так часто делает? Таких не встречал. надо же, поразительно, за такую большую практику! а я встречаю, и не один раз а префиксы для таблиц, я так понял, вы очень даже используете! Правильно? Это верный подход? В общем, как я понял, у каждого свое мнение, и редко кто от него отступится Каждый делает кому как удобней, я просто хотел узнать как делают другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 08:49 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
ChaosMP1) Если нужно связать таблицу саму с собой или просто использовать ее несколько раз в запросе все равно придется использовать алиасы. как уже заметили выше - таких запросов меньшинство, никаких проблем, возможность использовать алиасы у нас всегда остается... тут в обоих случаях они нужны ChaosMP2) Не знаю кто как, но я пишу в PL/SQL Developer, там есть Code Assistant, т.е. я пишу алиас точка и вижу список полей таблицы с этим алиасом, без этого мне нужно будет помнить все поля всех таблиц? Нет уж, увольте. если там есть Code Assistant, то достаточно помнить префикс таблицы - и также использовать эту возможность по полной! Если вы знаете о какой таблице идет речь - то и префикс помнить/знать - никаких проблем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 08:54 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
vadiminfoПрефиксы, возможно, могут иметь пользу в каком-то упрощении понимания смысла запросов, когда есть несколько основных (наиболее часто встречающихся в запросах) таблиц, для тех кто часто сталкивается с запросами к этой БД, када пишет запросы много разного народа с разными стилями написания. Тогда, видимо, префиксы запомнились и не надо искать FROM, чтобы понять какой таблице принадлежат имена столбцов. Возможно, у суррогатов этот префикс сокращение имени таблы и потому суррогаты запоминаются по любому, и они быстрей попадаются на глаза чем FROM. спасибо за ответ) я тоже так думаю) vadiminfoС другой стороны, для вновь пришедших в проекты со стороны это может вызвать излишнее усложнение: нужно есче понять что это префикс, а не смысловое сокращение свойства сущности про которое данный столбец. Ведь это искажение естественноного присхождения наименования свойства. я думаю понять не проблема, когда мы посмотрим на структуру таблицы и наглядно видим, что КАЖДОЕ ПОЛЕ ИМЕЕТ ПРЕФИКС, не сложно догадаться - что похоже на имя таблицы) еще посмотрим пару таблиц - и ясность в нашей голове - как ясный день и чистое небо :) vadiminfoКроме того, когда много таблиц с подобными именами можект возникнуть трудностти с придумыванием префиксов и соотвественно их пониманием потом. Например, в Вашей схеме было бы еще таблица item_class. Ее префикс судя по всему дролжен быть как и у items_categorys: itc, другой буит сбивать с толку: откуда такое наименование - излишнии для прользы дела мыстли. Однако, itc - неприемлемо совсем. да, но я думаю в общем в проектах - таких таблиц будет мало... как правило при проектировании БД - мы создаем уже все основные таблицы проекта, и можем видеть - где что и как, возможно задать другое имя таблицы - для какой-либо, чтобы не было путанницы в приведенном примере, я бы использовал: items_categorys - itcat item_class - itclass or itc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:03 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexя думаю понять не проблема, когда мы посмотрим на структуру таблицы и наглядно видим, что КАЖДОЕ ПОЛЕ ИМЕЕТ ПРЕФИКС, не сложно догадаться - что похоже на имя таблицы) еще посмотрим пару таблиц - и ясность в нашей голове - как ясный день и чистое небо :) Я имел в виду не то что догадаться сложно, а именно сложнее чем без этого. В частности, надо просматривать для этого структуру, Вы говорите. Но если к примеру, Вам поручили просто чисто добиться производительности отчета в котором несколько запросов в другом проекте. То просматривание структур всех таблиц, возможно, - дополнительное усилие. Это не критично, но все же. sylex да, но я думаю в общем в проектах - таких таблиц будет мало... как правило при проектировании БД - мы создаем уже все основные таблицы проекта, и можем видеть - где что и как, возможно задать другое имя таблицы - для какой-либо, чтобы не было путанницы Все же их малость - это предположение. Пусть не часто но бывает. sylexв приведенном примере, я бы использовал: items_categorys - itcat item_class - itclass or itc Но это уже почти имя всей таблицы. И тут может быть что-то связанное с тем, что имена в целом длинноваты могуи быть. Хотя с другой стороны, например, одинаковые имена колонок у разных таблов, я думау, чрезмерно плохая идея. И потому стандарт на префиксы может обезопасить от этого, када БД проектируют (допроектируют - добавляют таблицы) чиста проггеры драйверов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:25 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexНасколько это удобней? Кто так часто делает?Встречал, так делают совсем начинающие программисты. sylexв общем, плюсы префиксов: 1. не требуется писать алиасов для таблиц (как правило запросы короче) 2. удобно при больших запросах - четко видишь, от какой таблицы идет поле, даже не видя таблицу 3. меньше путанницы - при обычном подходе: в разных запросах, когда много таблиц - можешь дать разные алиасы для одних и тех же таблиц - если же есть префиксы - все стандартизированно на всю БД раз и навсегда 4. меньше путанницы при выборке из присоединенных таблиц - когда много одних и тех же name, id - приходится давать алиасы полям при выборке, при использовании префиксов - ничего этого не нужно, никогда не путаешься1. С алиасами таблиц запросы получатся короче (т.к. обычная длинна алиаса короче обычной длинны префикса). Так что лучьше приоблести привычку всегда писать алиасы таблиц. 2,4. Вот с алиасами таблиц всё и будет видно. А вот с префмксами не будет, потому что кроме запоминания названий таблиц (что просто, т.к. они осмысленные) нужно будет запоминать код таблицы (префикс). 3. Да, можно дать разные алиасы для одних и тех же таблиц, но достаточно одного взгляда, что бы стало понятно. Система префиксов имеет главный недостаток - в небольшой системке в БД будет сотня таблиц, с префиксами всё не будет так уж ясно. Префиксы будут не понятными кодами в одну букву, а именно абстрактым кодом, типа nge, nsx, grx, tls. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:32 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Лично я всегда пишу поля с префиксами. Для чего? А что бы можно было составить словарь предметной области по наименованиям полей таблиц и вьюх. news: news_id news_title news_description categories: cat_id cat_name Но если есть таблица, которая ссылается на другую, то в этом случае я не приписываю к ключевому полю новый префикс: news_categories: news_cat_id (к примеру суррогат автоинк) cat_id news_id (т.е. news_id во всей БД обозначает ровно одно - идентификатор новости) это зачастую избавляет от случайных ошибок в join: Код: sql 1. 2. 3. 4. 5. Но я также всегда использую алиасы таблиц. Это все-же надежнее. К тому же во многих редакторах запросов уже есть подсказки полей по набранному алиасу с точкой. Да и к тому же в "моей" системе наименований без алиасов никуда :) Ну естественно могут возникать коллизии - например идентификатор следующей новости - next_news_id итп... А главное - выбрать для себя какой-нибудь стандарт и придерживаться его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:39 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
а сколько таблиц в префиксируемой базе? десяточек? а если пятьдесят? а если сотня? а в ОЕБС например.... счет на десятки тысяч идет - там префиксируются не поля таблиц, а сами таблицы и пакеты - 2-3 буквенным кодом предметной области. Уважаемый sylex, прошу считать мои слова не аргументом, а бессмысленным бредовым бормотанием старого сетевого тролля. Так всем будет проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37897119&tid=1541598]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 385ms |

| 0 / 0 |
