|
|
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
я никогда не использовал префиксы, если честно но вот сейчас на разработке - новый проект, и будет существенная реструктуризация его... и я думаю, о том, чтобы заложить правильный фундамент решил выяснить, насколько правильно будет - переписать структуру БД и часть проекта - на префиксы... Сейчас, если честно, окончательно запутался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 10:00 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
alexeyvgСистема префиксов имеет главный недостаток - в небольшой системке в БД будет сотня таблиц, с префиксами всё не будет так уж ясно. Префиксы будут не понятными кодами в одну букву, а именно абстрактым кодом, типа nge, nsx, grx, tls. в одной БД - порядка 30 таблиц разных и сейчас я увидел эту мешанину непонятный префиксов действительно, имеет место наверное, глупая затея - переходить на префиксы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 10:02 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
On 07/29/2012 01:13 PM, sylex wrote: > и так во всех таблицах. Насколько это удобней? Кто так часто делает? Мы так делаем. Ну да, как бы иногда можно без алиасов обходится. > > Тем самым в запросах мы можем не использовать алиасы таблиц - вроде удобней) Да по барабану. Зато надо использовать префиксы полей. Которые нечитаемы и портят читаемость запроса. К тому же если таблица используется в запросе несколько раз, то без алиасов всё равно не обойтись. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 10:34 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexно вот сейчас на разработке - новый проект, и будет существенная реструктуризация его... и я думаю, о том, чтобы заложить правильный фундаментПрислушайтесь к совету сделать префиксы таблиц - как бы код модуля. Конечно, это имеет смысл, если модель данных немаленькая - до сотни таблиц можно не заморачиваться. Некоторые в качестве такого префикса модуля используют схему - тоже неплохой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 10:43 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
denisofffПредположим, что первичный ключ у всех называется id, тогда для каждой (ну или почти каждой) таблицы в запросе нужно прописать алиас. Это предположение может быть ложно. Вне зависимости от этого "прописать алиас" в этом случае окажется никак не хуже "использовать префикс" - в "лучшем случае" два символа в одном случае и два в другом, зато в "худшем случае" алиас окажется даже не то что удобнее - просто его точно надо будет прописывать. Отдельно замечу, что практически все опытные sql-разработчики прописывают алиасы автоматом. Кое-кто не пишет их в случае запроса из одной таблицы, а многие используют и в этом случае. Инструменты разработки учитывают это, например список полей таблицы часто выбрасывается на точку после алиаса. denisofffИстинно верно. Но насколько много запросов используют одну и ту же таблицу дважды? У меня - не более 5%. В разных задачах по-разному. В целом и 5% "отступлений от правила" - безумно много, это разрушает автоматизм. Кроме того, для базы из 10 таблиц префиксы, наверное, не будут пересекаться, но уже в базе из 100 таблиц наверняка будет десяток таблиц, разделяющих наиболее популярную букву префикса. denisofffПусть есть 3 таблицы: машина, цвет, модель кузова. В каждой есть поле id - первичный ключ и name - отвечающее за название. Чтобы сделать простую выборку - нужно прописывать каждому полю name свой алиас. Ага :) А если учитывать, что машина - это CAR, цвет - это COLOR, а кузов - это CARCASS, при использовании префиксов C получится просто замечательный запрос denisofffВ общем, я не понимаю такой ненависти к префиксам полей. Она сродни "ненависти" к камешку в ботинке. Его просто выбрасывают. sylexну ка формулу рассчета - в студию :) Сто процентов неудобства - на постоянные "здесь играем, здесь не играем", сто процентов - на отваливающиеся инструменты разработчика, сто процентов - на сочетания в запросах "алиасов и префиксов вместе". Кажется, именно так я решил ночью. sylexнадо же, поразительно, за такую большую практику! а я встречаю, и не один раз Подобное тянется к подобному. Большинство.... странных практик я встречал, когда приходилось импортить данные из внешних источниках. В собственных разработках везде, где работал, было довольно прилично (с моей точки зрения), в другие места я просто не шёл. sylexа префиксы для таблиц, я так понял, вы очень даже используете! Правильно? Это верный подход? В случае, если предполагается достаточно большая база, состоящая из нескольких чётко выделенных модулей, я как правило использую префиксы, идентифицирующие модуль. Эти префиксы относятся к таблицам, пакетам, а также вспомогательным объектам - индексам, последовательностям итп. Чем больше таблиц, тем больше такие префиксы оправдывают "несколько лишних букв", особенно потому, что в "различных модулях" склонны появляться "одноимённые таблицы", скажем, "документы", и префиксы позволяют очевидно и чётко развести их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 11:32 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
softwarer, большое спасибо за развернутый ответ! вот еще нашел минус префиксов: - что будет, если нужно будет переименовать табличку? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 12:29 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylex, дать префикс - это причислать к какому-то классу. Поля таблицы уже причислены к классу - к самой таблице, а SQL с инструментами сегодня позволяют использовать их вместе практически везде, кроме алиаса поля в разделе проекции запроса (и то для некоторых субд это не проблема :). Поэтому полезнее ввести во внутренний стандарт не префиксы для всех полей таблицы, а: 1. стандарты для наименований суррогатных полей 2. стандарты для алиасов таблиц в запросах. 3. стандарты для префиксов алиасов полей в проекции запроса, если в проекте по тем или иным причинам не получается использовать для них что-то типа "car_items.name". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:23 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
softwarerВ случае, если предполагается достаточно большая база, состоящая из нескольких чётко выделенных модулей, я как правило использую префиксы, идентифицирующие модуль. Эти префиксы относятся к таблицам, пакетам, а также вспомогательным объектам - индексам, последовательностям итп. А почему префиксы, а не схемы? Аргументы-то в точности те же: "префикс_" vs "схема." Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:46 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
АнатоЛойsylex, дать префикс - это причислать к какому-то классу. Поля таблицы уже причислены к классу - к самой таблице, а SQL с инструментами сегодня позволяют использовать их вместе практически везде, кроме алиаса поля в разделе проекции запроса (и то для некоторых субд это не проблема :). Ну тада уж шла не о причислении к чему либо, а дополнительном обозначении ранее сделанного причисления причисления. Ну типа как дневной свет у авто в дополнение. И почему именно именно это полезнее тоже вроде не совсем ясно. АнатоЛойПоэтому полезнее ввести во внутренний стандарт не префиксы для всех полей таблицы, а: 1. стандарты для наименований суррогатных полей 2. стандарты для алиасов таблиц в запросах. 3. стандарты для префиксов алиасов полей в проекции запроса, если в проекте по тем или иным причинам не получается использовать для них что-то типа "car_items.name". Ить стандарты на именование элементов структур должно знать, меньше народу (проектировщики), по сравнению с теми кто пишет запросы. Например, в связи с авралом Вы привлекли для написания отчетов всех сотрудников фирмы, включая уборщиц. И они что будут учить стандарты? Им не до алиасов буит. У нас же идея, что чем проще извлечение инфы, тем луче, поскоку это главная цель ИС. Вполть до того - как бы ни спросил она тебя поняла, и дала ответ. Вот проетирование структур ради этого может быть обремено дополнительными затратами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:52 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА почему префиксы, а не схемы? Аргументы-то в точности те же: "префикс_" vs "схема." В моём случае префикс$. Знак подчёркивания используется в названиях таблиц и пакетов, а вот знак доллара - практически никогда, поэтому он удобен для выделения префикса. Потому, что схемы в большинстве случаев - слишком тяжёлое решение. Они практически требуют, чтобы приложение было единственным в экземпляре БД - в то время как приложение "в одной схеме" вполне можно устанавливать совместно с другими, в том числе в неизвестную заранее (определяемую при инсталляции) схему. Это, конечно, если мы говорим о продаваемой системе, а не о внутрифирменной разработке. Со схемами начинаются вопросы внутренней раздачи прав - чтобы хранимый код из одного модуля мог работать с хранимками или с данными из другого. Со схемами становится затруднительным накат патча в рамках одного соединения с БД - надо или выдавать чересчур сильные привилегии типа ALTER ANY TABLE, или постоянно переключаться между схемами (и ещё как-то держать пароль в скриптах, между прочим), или плодить дырки типа procedure EXECUTE_MY_DLL... В общем, в своих разработках я не доходил до такого количества таблиц, чтобы захотелось возиться со схемами. Также, само собой, сказанное относится к схемам в Oracle.. допускаю, что в каких-либо других СУБД это будет удобным решением. Сугубо на будущее, я надеюсь, что рано или поздно идеологи дойдут до понятия иерархической схемы (типа my.application.module), и тогда это станет удобным и удачным решением вместо префиксов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:09 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
softwarerВне зависимости от этого "прописать алиас" в этом случае окажется никак не хуже "использовать префикс" - в "лучшем случае" два символа в одном случае и два в другом, зато в "худшем случае" алиас окажется даже не то что удобнее - просто его точно надо будет прописывать. А почему два символа? Все алиасы определяются как a, b, c, d... z? Не шибко-то удобно и наглядно (или только мне так кажется). softwarerВ разных задачах по-разному. В целом и 5% "отступлений от правила" - безумно много, это разрушает автоматизм. Кроме того, для базы из 10 таблиц префиксы, наверное, не будут пересекаться, но уже в базе из 100 таблиц наверняка будет десяток таблиц, разделяющих наиболее популярную букву префикса. Самая большая база на моем попечении имеет 160 таблиц. Есть пара префиксов в 4 символа, пара десятков в 3 и все остальные в 2. Тем более, что совсем необязательно иметь уникальный префикс для каждой таблицы. Например, ST - это может быть и Street и SystemType, как правило, не используемые вместе. softwarerАга :) А если учитывать, что машина - это CAR, цвет - это COLOR, а кузов - это CARCASS, при использовании префиксов C получится просто замечательный запрос А кто сказал, что на префикс надо пускать один символ? :-) Вообще, почитав обсуждения, я понял, что большинство участников работает с очень большими и масштабными проектами на многие сотни таблиц. Тут я согласен, что может начаться путаница с префиксами. В любом случае, как мне кажется, главное, чтобы был стандарт именования между разработчиками и однозначное понимание всех именований. Пару лет назад мне пришлось разбираться в старой базе данных в каком-то формате, который не позволял длину поля больше 10 символов. Там приходилось понимать, что куда предназначено, почти что по данным в таблице. Так что чуть более длинное название поля, я считаю, не является страшным, если оно помогает уловить суть. Кажется, у Стива Макконела было написано "не жертвуйте понятностью кода ради его производительности". Лучше написать несколько лишних символов префикса, чем потерять в понимании. Если понимание легко приходит и через алиасы - то пусть будет так. Видимо я еще не созрел до такого уровня :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:14 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
denisofffВообще, почитав обсуждения, я понял, что большинство участников работает с очень большими и масштабными проектами на многие сотни таблиц. Тут я согласен, что может начаться путаница с префиксами. В любом случае, как мне кажется, главное, чтобы был стандарт именования между разработчиками и однозначное понимание всех именований. Пару лет назад мне пришлось разбираться в старой базе данных в каком-то формате, который не позволял длину поля больше 10 символов. Там приходилось понимать, что куда предназначено, почти что по данным в таблице. Так что чуть более длинное название поля, я считаю, не является страшным, если оно помогает уловить суть. Кажется, у Стива Макконела было написано "не жертвуйте понятностью кода ради его производительности". Лучше написать несколько лишних символов префикса, чем потерять в понимании. Если понимание легко приходит и через алиасы - то пусть будет так. Видимо я еще не созрел до такого уровня :) Наоборот, чем больше таблиц - тем длинее "префиксы". У меня правило именования таблиц: префикс (DIC, TAB, TCR, ...) + корень. Полей: префикс (i, n, s, db, mn, dt) + корень из имени таблицы + уточняющий суффикс (ID, Count, Amount, Quantity, From, To, Code, ...) Фантазии в придумывании имен не остается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:21 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Я работал с большой системой, использующей префиксы. Своеобразно, но особых ужасов и неудобств не заметил - к единообразию привыкнуть легко. Так что все аргументы "удобно-неудобно", "путанее/распутанее" - дело привычки. Технически, преимущество одно: уникальность имени атрибута в системе. То есть, из какого бы запроса не приехал атрибут, на клиенте всегда однозначно ясно, что это и откуда. Нужно ли это, и важно ли это в большинстве обычных систем? Пожалуй, не особенно. Однако в той системе это было важно и нужно, поскольку на имя атрибута клиентская библиотека сразу автоматически навешивала приятную функциональность из словаря метаданных. То есть, там применялись элементы "програмирования через метаданные", и это было удобно. Кстати, большинство SQL-запросов там тоже генерились автоматически, так что вопрос (не)удобства их составления отпадал сам собой. Теперь о суровых мерах, которые пришлось принять, чтобы эту идею довести до работоспособного логического завершения: 1. Каждой таблице должен соответствовать префикс. Минимальной длины (3-4) символа, но максимальной мнемоничной понятности. Уникальный в пределах БД. (Кстати, эта идея - сопоставить длинному, понятному имени таблицы "технический", сокращенный префикс, и использовать его в именовании связанных объектов, не нова, и предлагается, например, здесь: Oracle Naming Conventions . Правда, там его используют в именах ключей, а для полей не рекомендуют. Но сама идея, и принцип составления заслуживают внимания). Так вот, в именах полей используется именно этот префикс. Как вариант, сами таблицы можно поназывать разумно-покороче, и использовать их имена как префиксы. Понятно, это для небольших БД. 2. Формализуем названия полей для внешних ключей. Если ссылка между таблицами ровно одна - название полей с обеих сторон (1 и N) ключа одинаково. Если ссылок больше - к полям на стороне "N" добавляются смысловые суффиксы, например "_X", "_Y". 3. Формализуем именование алиасов, если таблица участвует в запросе более одного раза. Суть в том, что каждый такой "раз" получает уникальный смысловой суффикс (он же алиас таблицы в запросе, например "_PARENT", "_CHILD"), и все поля из этого экземпляра таблицы получают в своих алиасах в добавку к своим именам этот суффикс. Мое мнение: можно жить и с этим, и без этого. Включение префиксов таблиц в имена полей позволяет двинуть систему в сторону "пусть безобразно, но единообразно". Если это вызвано какими-то дополнительными требованиями, например, использованием метаданных, или автоматической генерацией SQL, - то это может быть оправдано технически. Если нет - то может порадовать разве что любителей "военного" порядка в БД, в ущерб "книжной" наглядности. Об авторитетных мнениях. Скандально известный Джо Селко в обсуждении этого вопроса сначала ссылается на некий ISO-11179 который требует уникальности имени скалярного атрибута в пределах всего словаря (то есть как-бы за префиксы). Затем разбивает эту идею в пух и прах в главе "Избегайте описательных префиксов". Впрочем, разбивает скорее эмоциями, чем доводами. А вот система приверженца префиксов: link , тоже достаточно стройная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:21 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
denisofffА почему два символа? А кто сказал, что на префикс надо пускать один символ? :-) Мне казалось, что это мелькало у топикстартера. Сейчас пересмотрел - на нашёл. Это, конечно, срезает мои соответствующие пассажи. denisofffВообще, почитав обсуждения, я понял, что большинство участников работает с очень большими и масштабными проектами на многие сотни таблиц. Большие и масштабные - вопрос дискуссионный, но "сотни таблиц" уже давно имхо норма, если только не используется тотальное EAV или что-то подобное. Если вспомнить... кроме сугубо проектов "для себя" у меня за всю жизнь было кажется два проекта с менее чем сотней таблиц. denisofffВ любом случае, как мне кажется, главное, чтобы был стандарт именования между разработчиками и однозначное понимание всех именований. Безусловно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:44 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher(Кстати, эта идея - сопоставить длинному, понятному имени таблицы "технический", сокращенный префикс, и использовать его в именовании связанных объектов, не нова, и предлагается, например, здесь: Oracle Naming Conventions . Правда, там его используют в именах ключей, а для полей не рекомендуют. Но сама идея, и принцип составления заслуживают внимания). Боюсь, эта идея растёт на 99% из устаревшего ораклового ограничения идентификатора в 30 байт. Оно не составляет заметной проблемы, когда мы придумываем названия для полей и таблиц, но иногда неприятно стреляет, когда генерируем имена для вторичных объектов (скажем, FK_TABLE1_TABLE2 уже запросто может нарушить это ограничение). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:48 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
softwarerБоюсь, эта идея растёт на 99% из устаревшего ораклового ограничения идентификатора в 30 байт. Оно не составляет заметной проблемы, когда мы придумываем названия для полей и таблиц, но иногда неприятно стреляет, когда генерируем имена для вторичных объектов (скажем, FK_TABLE1_TABLE2 уже запросто может нарушить это ограничение). Возможно. Но, возвращаясь к Оракловому примеру, (таблицы у них называются APPLICATION_FUNCTIONS и APPLICATON_FUNCTION_ROLES), если даже воображаемое имя ключа "APPLICATION_FUNCTIONS_APPLICATON_FUNCTION_ROLES_FK" и будет допустимо по длине, то многие предпочтут все же скромный APFU_APPL_FK. Тем более - его, скорее всего, ни читать, ни набирать часто не придется, а лишь иногда поискать "ой, что это нарушилось?". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 14:59 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisherто многие предпочтут все же скромный APFU_APPL_FK. Тем более - его, скорее всего, ни читать, ни набирать часто не придется, а лишь иногда поискать "ой, что это нарушилось?". Именно поэтому - "не думаю, что многие предпочтут". Прочитать прямо в имени ограничения "что нарушилось" гораздо удобнее, нежели набирать что-нибудь типа select table_name, r_table_name from user_constraints where constraint_name = 'APFU_APPL_FK'. А в целом - единообразие таких идентификаторов гораздо важнее (удобнее) их длины, и как только техника позволит, уверен, резко увеличится количество команд с жёсткими стандартами кодирования в этом месте, причём стандартами, поддержанными скриптами и прочими местными инструментами генерации структуры, реакции на ошибки и прочей работы с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 15:12 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
denisofff Пару лет назад мне пришлось разбираться в старой базе данных в каком-то формате, который не позволял длину поля больше 10 символов. Там приходилось понимать, что куда предназначено, почти что по данным в таблице. Так что чуть более длинное название поля, я считаю, не является страшным, если оно помогает уловить суть. Суть помогают уловить содержательные (изменяемые) метаданные. А Вы говорите о (неизменяемых) технических метаданных, то есть об идентификаторах полей и таблиц. Они как раз могут быть какими угодно, хоть просто цифрами:) Ваша беда в том, что ни "старая база", о которой Вы рассказали, ни "абсолютно новая" не содержат содержательных метаданных. Они находятся какой-то другой системе или даже в приложении. Вся эта тема не имеет большого смысла, так как относится к каким-то несовременным технологиям БД, видимо, "реляционным":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 15:16 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
sylexнаверное, глупая затея - переходить на префиксы Абсолютно. Вы еще забыли про view - а с ними что делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 16:59 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
vadiminfoАнатоЛойsylex, дать префикс - это причислать к какому-то классу. Поля таблицы уже причислены к классу - к самой таблице, а SQL с инструментами сегодня позволяют использовать их вместе практически везде, кроме алиаса поля в разделе проекции запроса (и то для некоторых субд это не проблема :). Ну тада уж шла не о причислении к чему либо, а дополнительном обозначении ранее сделанного причисления. Ну типа как дневной свет у авто в дополнение. Аналогии не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:27 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
vadiminfoИть стандарты на именование элементов структур должно знать, меньше народу (проектировщики), по сравнению с теми кто пишет запросы. Например, в связи с авралом Вы привлекли для написания отчетов всех сотрудников фирмы, включая уборщиц. И они что будут учить стандарты? Им не до алиасов буит. А уборшицам в вашем случае с префиксами полей не нужно учить стандарты префиксов полей? Если нет - какой же им толк от этих префиксов? А если да, то "И они что будут учить стандарты"?!!!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:31 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
vadiminfoУ нас же идея, что чем проще извлечение инфы, тем луче, поскоку это главная цель ИС. Вполть до того - как бы ни спросил она тебя поняла, и дала ответ. Думаю суть этой формулировки испарится вместе с парами алкоголя из любой головы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:33 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
_модsylexнаверное, глупая затея - переходить на префиксы Абсолютно. Вы еще забыли про view - а с ними что делать ? Если продвинуть идею дальше, то в при разработке на любом ОО ЯП для каждого члена класса нужно давать префикс - имя класса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:44 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
vadiminfoИ почему именно именно это полезнее тоже вроде не совсем ясно. Уточняю. На моей практике аргументированно во внутренний стандарт вносились не префиксы для всех полей таблицы, а: 1. стандарты для наименований суррогатных полей одинаковая функциональная нагрузка таких полей у разных таблиц наиболее часто порождает желание добавить в их наименование имя таблицы или его производную. Как следствие - наиболее часто возникают разные принципы именования. Чтобы эти принципы контролировать - и нужен стандарт. Именно для суррогатные полей можно договориться использовать префиксы. Но в 3 больших проектах я не видел использование префиксов -максимум, сокращение имени чтобы втиснуться в ограничения БД по длине наименования. И то - волевым решением. Не было аргументов, чем теоретически и практически "car.id" хуже, чем "car.car_id" :) 2. стандарты для алиасов таблиц в запросах. а) практически всё равно возникнут запросы с использованием одной и той же таблицы несколько раз в одном запросе. б) я же предлагаю использовать алиасы таблиц вместо префиксов полей. Логично, что вместо стандарта префиксов понадобится стандарт алиасов. В чём вопрос?! 3. стандарты для префиксов алиасов полей в проекции запроса, если в проекте по тем или иным причинам не получается использовать для них что-то типа "car_items.name". Аналогично, п.2. я же предлагаю использовать алиасы таблиц вместо префиксов полей. Логично, что вместо стандарта префиксов понадобится стандарт алиасов. В чём вопрос?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 20:44 |
|
||
|
Насколько удобно именовать все поля таблиц с префиксом таблиц?
|
|||
|---|---|---|---|
|
#18+
АнатоЛойАналогии не понял. ну это было предположение тезис "дать префикс - это причислать к какому-то классу.", возможно, не очень удачно подходит, поскоку у ТС явно речь шла тока о дополнительных обозначениях ранее "причисленного к классу". Никакой структуробразуюшей роли в РМД этим префиксам не приписывалось. Просто именование колонок, в отличии от "причисления к самой таблице": если Вы ей припишие префикс от другой талицы, или даже планеты, она останется том же классе "самой таблице", поскоку у этой РМД просто нет никаких других "классов", кроме таблиц. Ну уж такая эта наиболее успешная последние 30 лет МД. АнатоЛойА уборшицам в вашем случае с префиксами полей не нужно учить стандарты префиксов полей? Если нет - какой же им толк от этих префиксов? В том то и дело, уборщицам, скорее всего, не нужны стандрты никакие. Тем более если запросы пишут юзера у заказчика (на то и SQL, чтобы кажный мог написать). А толк от этих префиксов может быть, например, но тем кто читает иногда запросы, написанные другими. Но их, скорее всего меньше, чем писателкй, квалификация выше. Потому сопоставление пользы от стандартов на алиасы в запросах стандартам на образование имен структуры, возможно, нуждается в дополнительных аргументах кроме "дать префикс - это причислать к какому-то классу.", АнатоЛойДумаю суть этой формулировки испарится вместе с парами алкоголя из любой головы. . Ну может не из любой, а только из тех, что думают, что целью создания БД является - занять персонал набором данных, чтобы не сидели без дела на работе. Буржуа придумал SQL, чтобы легче и быстрей инфу было извлеч, как моно большему народу из БД. Но тут мы пришли: нет есче, плиз, учите наши доморощеннные стандарты, прежде чем инфу извлекать. А как Вы хотели? Просто SQL написать каждый дурак может (спасибо Кодду). Нужна инфа, написал по быстрому запрос и забыл? Мы не для того БД лабали. Для этого тока головы с алколем могут додуматься.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 23:07 |
|
||
|
|

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

| 0 / 0 |
