Худшие методы (MS SQL Server) - пробелы в именах объектовИсточник: SQL exercises
Я написал уже несколько статей о различных худших методах - вещах, которые усложняют вашу жизнь без каких бы то ни было веских причин. Теперь поговорим об очень простом методе, настолько простом, что его легко можно избежать. Речь идет о пробелах в именах объектов. 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 » (ограничитель идентификаторов): А что сказать о приложениях сторонних производителей, которые создают объекты с пробелами в именах? Я призываю вас начать жаловаться - возможно, они услышат эти жалобы и изменят такой подход! Практически же я думаю, что вам придется смириться с этим, т.к. наши усилия не заставят их измениться. Но что вы можете сделать, чтобы сделать свою жизнь легче, - это создать представления, которые будут иметь столбцы с алиасами , не имеющими пробелов. Опять я не уверен, что усилия будут оправданы; это зависит от того, насколько часто вы обращаетесь к ним, и насколько это усложняет вам жизнь. Послушайте, я знаю, что это незначительная и довольно тривиальная вещь. Однако наша повседневная работа состоит из множества тривиальных вещей, и проблема возникает тогда, когда Вы начинаете комбинировать с ними . Сравните базу данных, которая не использует никаких худших методов, с той, в которой возможно собраны все худшие методы. Обе они работают, но с одной из них настоооолько легче работать. Тривиальные вещи хороши тем, что они легко подвергаются изменениям. Так что скажите пробелам нет! Andy Warren (оригинал: Worst Practice - Spaces in Object Names) |