Псевдонимы таблицы SQL - хороший или плохой? [закрытый]

  1. Переключиться на просмотр проекта
  2. Затем, project / app / build / reports / lint-results
  3. Теперь вы найдете файлы результата для воспроизведения в двух форматах - 1) xml и 2) html.
  4. Вы можете просмотреть эти файлы как есть. Тем не менее, я нахожу просмотр результатов линта в браузере, чтобы быть легким на глазах. Просто щелкните правой кнопкой мыши на html-файле и выберите вид в браузере.

    Он открывается, как показано ниже в моем браузере Chrome.

44
задан Brian Tompsett - 汤莱恩 12 September 2016 в 20:47
поделиться

15 ответов

Псевдонимы таблицы являются необходимым злом при контакте с высоко нормализованными схемами. Например, и я не архитектор на этом DB, так терпите меня, может потребоваться 7 соединений для получения чистой и полной записи назад, которая включает имя человека, адрес, номер телефона и присоединение компании.

, А не несколько стандартные односимвольные псевдонимы, я склонен одобрять псевдонимы короткого слова, таким образом, SQL вышеупомянутого примера заканчивает тем, что был похож:

select person.FirstName
      ,person.LastName
      ,addr.StreetAddress
      ,addr.City
      ,addr.State
      ,addr.Zip
      ,phone.PhoneNumber
      ,company.CompanyName
from tblPeople person
left outer join tblAffiliations affl on affl.personID = person.personID
left outer join tblCompany company on company.companyID = affl.companyID

... и т.д.

29
ответ дан Rob Allen 26 November 2019 в 21:49
поделиться

Псевдонимы требуются при присоединении к таблицам со столбцами, которые имеют идентичные имена.

-1
ответ дан Chris Schiffhauer 26 November 2019 в 21:49
поделиться

Если Вы не используете псевдоним, это - ошибка в Вашем коде, просто неизбежном.

SELECT Description -- actually in a
 FROM
 table_a a,
 table_b b
 WHERE
 a.ID = b.ID

, Что происходит, когда Вы, небольшой вещи нравится, добавляет столбец под названием Описание к Table_B. Правильно, Вы получите ошибку. Добавление столбца ничего не должно повреждать. Я никогда не вижу пишущий хороший код, ошибка свободный код, как необходимое зло.

0
ответ дан 26 November 2019 в 21:49
поделиться

Я всегда использую псевдонимы при записи запросов. Обычно я пытаюсь сократить имя таблицы до 1 или 2 представительных букв. Так Пользователи становится u, и debtor_transactions становится dt и т.д.

, Это экономит на вводе и все еще несет некоторое значение.

более короткие имена делает его более читаемым мне также.

0
ответ дан Craig 26 November 2019 в 21:49
поделиться

Я всегда использую псевдонимы, с тех пор для получения надлежащей производительности на MSSQL, который необходимо снабдить префиксом схему в любом случае. Таким образом, Вы будете видеть много из

Избранный Человек. Имя От
dbo. Человек Как Человек

0
ответ дан Stu 26 November 2019 в 21:49
поделиться

По моему скромному мнению, это действительно не имеет значения с короткими именами таблиц, которые имеют смысл, я при случае работал над базами данных, где имя таблицы могло быть чем-то как VWRECOFLY или некоторая другая случайная строка (продиктованный политикой компании), который действительно представляет пользователей, так в этом случае я нахожу, что псевдонимы действительно помогают сделать FAR кода более читаемым. (users.username делает намного больше с тех пор тогда VWRECOFLY.username)

1
ответ дан Daniel Daranas 26 November 2019 в 21:49
поделиться

Я всегда использую псевдонимы в своих запросах, и это - часть руководства кода в моей компании. В первую очередь, Вам нужны псевдонимы или имена таблиц, когда существуют столбцы с идентичными именами в присоединяющихся таблицах. По-моему, псевдонимы улучшают удобочитаемость в сложных запросах и позволяют мне видеть быстро местоположение каждого столбцы. Мы даже используем псевдонимы с единственными запросами таблицы, потому что опыт показал, что единственные donВґt запросов таблицы долгое время остаются единственная таблица.

1
ответ дан 26 November 2019 в 21:49
поделиться

Мне нравятся долгие явные имена таблиц (весьма распространено быть больше чем 100 символами), потому что я использую много таблиц и если имена не являются явными, я мог бы запутаться относительно того, что хранит каждая таблица.

Поэтому, когда я пишу запрос, я склонен использовать более короткие псевдонимы, которые имеют смысл в рамках запроса, и это делает код намного более читаемым.

1
ответ дан mbillard 26 November 2019 в 21:49
поделиться

Псевдонимы являются большими, если Вы полагаете, что моя организация имеет имена таблиц как: SchemaName. DataPointName_SubPoint_Sub-SubPoint_Sub-Sub-SubPoint... Моя команда использует довольно стандартный набор сокращений, таким образом, догадки минимизированы. Мы будем иметь, заявляют ProgramInformationDataPoint, сокращенные pidp и представлениям только к замене

, хорошая вещь состоит в том, что, как только Вы начинаете этим способом и людьми, соглашаются с ним, это делает те файлы HAYUGE просто немного меньшими и легче справиться. По крайней мере, для меня, меньше символов для передачи той же информации, кажется, идет немного легче на моем мозге.

2
ответ дан Pulsehead 26 November 2019 в 21:49
поделиться

Я предполагаю единственную вещь, которая действительно выступает против них, чрезмерная абстракция. Если у Вас будет хорошая идея, что псевдоним отсылает к (хорошее именование помогает; 'b', 'c' может быть довольно проблематичным особенно при чтении месяцев оператора или несколько лет спустя) я ничего не вижу неправильно с искажением.

, Поскольку другие сказали, соединения требуют их, если Вы используете ту же таблицу (или представление) многократно, но даже вне той ситуации, псевдоним может служить для разъяснения цели источника данных в конкретном контексте. На имя псевдонима попытайтесь ответить , почему Вы получаете доступ к конкретным данным, не , каковы данные.

5
ответ дан Sören Kuklau 26 November 2019 в 21:49
поделиться

, Если я пишу запрос сам (вводя в редактора и не используя разработчика) я всегда использую псевдонимы для имени таблицы именно так, я только должен ввести полное имя таблицы однажды.

я действительно очень не хочу читать запросы, сгенерированные разработчиком с полным именем таблицы как префикс к каждому имени столбца.
5
ответ дан BTB 26 November 2019 в 21:49
поделиться

Хороший

, Как это было упомянуто многократно прежде, это - хорошая практика к префиксу весь имена столбцов для легкого наблюдения, какой столбец принадлежит, к которому таблица - и псевдонимы короче, чем полные имена таблиц, таким образом, запрос легче читать и таким образом понять. Если Вы используете хорошую схему искажения, конечно.

И если Вы создаете или читаете код приложения, которое использует внешне сохраненные или динамично сгенерированные имена таблиц, затем без псевдонимов, действительно трудно сказать на первый взгляд, что обозначают все те "%s" es или другие заполнители. Это не крайний случай, например, много веб-приложений позволяют настраивать префикс имени таблицы во время установки.

9
ответ дан Krzysztof Sikorski 26 November 2019 в 21:49
поделиться

Оптимизатор запросов SQL Microsoft извлекает выгоду из использования или полностью определенным именам или псевдонимам.

Лично я предпочитаю псевдонимы, и если у меня нет большого количества таблиц, они имеют тенденцию быть однобуквенными.

--seems pretty readable to me ;-)
select a.Text
from Question q
    inner join Answer a
        on a.QuestionId = q.QuestionId

существует также практический предел на то, сколько времени строка Sql может быть выполнена - псевдонимы делают этот предел легче избежать.

10
ответ дан Keith 26 November 2019 в 21:49
поделиться

Ну, существуют некоторые случаи, Вы должны использовать их, как то, когда необходимо соединить с той же таблицей дважды в одном запросе.

Это также зависит от того, есть ли у Вас уникальные имена столбцов через таблицы. В нашей унаследованной базе данных у нас есть префиксы с 3 буквами для всех столбцов, происходя от сокращенной формы от таблицы, просто потому что одна древняя система баз данных, с которой мы были однажды совместимы, не поддерживала псевдонимы таблицы все настолько хорошо.

, Если у Вас есть имена столбцов, которые происходят больше чем в одной таблице, определяя имя таблицы как часть ссылки столбца, необходимость, и таким образом псевдоним таблицы будет допускать более короткий синтаксис.

30
ответ дан angry person 26 November 2019 в 21:49
поделиться

Вам нужны они, если Вы собираетесь соединить таблицу с собой, или если Вы используете столбец снова в подзапросе...

3
ответ дан Shawn 26 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: