На
главную страницу
Худшие методы - пробелы в именах объектов.
Andy Warren (оригинал:
Worst Practice - Spaces in Object Names.)
Перевод Моисеенко С.И.
Я написал уже несколько статей о различных худших методах – вещах, которые усложняют
вашу жизнь без каких бы то ни было веских причин. Теперь поговорим об очень
простом методе, настолько простом, что его легко можно избежать. Речь идет о
пробелах в именах объектов. SQL поддерживает их, конечно, и вам достаточно
заключить имя объекта в квадратные скобки, вот так:
select * from [stupid table name]
Так в чем же проблема? В конце концов, это работает, и не настолько важно? Да, я
представлю факты, что эта работа чего-то стоит. И я действительно думаю , что
это имеет значение . Я провел много времени в Query Analyzer и знаю, что
достаточно сложно получить правильные имена столбцов ( Object Browser хорошо
помогает) без (А) заключения в скобки каждого имени объекта или (Б) заключения
в скобки только имен объектов, содержащих пробелы, если помнить об этом.
Добавление скобок повсеместно добавляет визуальный шум. Так все же, зачем вам
нужны пробелы в именах объектов?
В целях избежать проблем с пробелами Query Analyzer заключает в скобки все подряд,
как показано в скрипте ниже:
SELECT [ CategoryID ], [ CategoryName ], [Description], [Picture] FROM
[ Northwind ] .[ dbo ].[Categories]
Вы можете отключить генерацию скобок (сегодняшний совет по QA ), выбрав в меню Tools
команду Options , а затем на вкладке Script выбрав опцию None для параметра «
identifier delimiter » (ограничитель идентификаторов):
А что сказать о приложениях сторонних производителей, которые создают объекты с
пробелами в именах? Я призываю вас начать жаловаться – возможно, они услышат
эти жалобы и изменят такой подход! Практически же я думаю, что вам придется
смириться с этим, т.к. наши усилия не заставят их измениться. Но что вы можете
сделать, чтобы сделать свою жизнь легче, - это создать представления, которые
будут иметь столбцы с алиасами , не имеющими пробелов. Опять я не уверен, что
усилия будут оправданы; это зависит от того, насколько часто вы обращаетесь к
ним, и насколько это усложняет вам жизнь.
Послушайте, я знаю, что это незначительная и довольно тривиальная вещь. Однако наша
повседневная работа состоит из множества тривиальных вещей, и проблема
возникает тогда, когда Вы начинаете комбинировать с ними . Сравните базу
данных, которая не использует никаких худших методов, с той, в которой возможно
собраны все худшие методы. Обе они работают, но с одной из них настоооолько
легче работать. Тривиальные вещи хороши тем, что они легко подвергаются
изменениям. Так что скажите пробелам нет!
10/01/2003
На главную страницу