2013-02-16 4 views
2

최근에 개발 피스에 포함 된 테이블과 뷰에 다소 긴 이름을 사용하여 객체의 클라이언트/데이터베이스/서버 수준 별칭을 만들 수 있는지 궁금해졌습니다.영구 객체 별칭을 만들 수 있습니까?

예를 들어, dbo.vAlphaBetaGammaDelta이라는보기가 있습니다. 방법이 (Intellisense 유무에 관계없이) dbo.vABGD이라는 참조를 만들 수 있습니까?

그렇지 않은 경우 테이블 스키마가 변경된 경우/유지 관리가 필요하지 않은보기 또는 단일 테이블보기를 만드는 데 따른 단점이 있습니까?

나는이 별칭/뷰가 다른 객체에 사용하기위한 수없는 것이지만, 완화 및 일상적인 문제 해결 동안 손목 관절의 예방 및 탐구의 xD에 대한

+0

덜 기술적 인 별칭을 사용하면 역효과가 난다. 설치된 TSQL 완료 도구를 얻으십시오 .... –

+0

Intellisense를 의미합니까? 테이블에 관해 말할 때 우리가 참조하는 앨리어스 (alias)입니다. 그래서 실제로 덜 설명 적이 지 않습니다. 다시 한 번. –

답변

2

SQL Server가 생성 수 있습니다 점에 유의해야한다 동의어들. 그게 당신이 찾고있는 것 같습니다 : http://msdn.microsoft.com/en-us/library/ms177544.aspx

그러나 @MitchWheat 언급했다. 이것은 잘못된 방향으로 가고있는 것 같습니다. 긴 객체 이름 (예 : SQL Prompt)의 자동 완성을 제공하는 꽤 좋은 SSMS 플러그인이 몇 가지 있습니다. 덧붙여 그 제품은 동의어에 문제가 있습니다 ...

+1

동의어가 정확히 내가 찾던 곳입니다. 감사합니다! 여분의 불필요한 물건을 초래한다는 점에서 당신이 잘못한 것을 의미합니까? –

+0

4 개의 부분 이름으로 된 개체를 참조 할 때 SYNONYM을위한 추가 기능 : http://blog.sqlauthority.com/2008/01/07/sql-server-2005-introduction-and-explanation-to-synonym-helpful-t -sql-feature-for-developer/ –

+0

@ZokWobblefotz : 예, 그게 내가 잘못 생각한 것입니다. 그러나 Pinal이 언급 한 추상화 계층은 동의어에 대한 매우 유용한 사용 사례입니다. –

0

동의어를 갖고 싶은 경우가 많이 있습니다. 시작 부분에 하나만 쓰도록하겠습니다. 잘 정의 된 테이블의 가상 이름 인 GlobalStatisticalRecord가 있습니다. SQL과 다른 곳에서 수백 줄의 코드와 객체 (키, 인덱스 등)가이 테이블 이름을 참조하고 있습니다. 5 년간의 사용 후, 약어 GSR은 기술적 인 사람들뿐만 아니라 비즈니스 사용자들 사이에서도 익숙했습니다. 그래서, 다시 강조하기 위해, GSR은 지금 GlobalStatisticalRecord보다 더 많이 알아볼 수 있습니다. 그러나 기술팀에 합류 한 새로운 사람들을 위해 GlobalStatisticalRecord라는 이름을 테이블 이름으로 유지하는 것이 좋습니다. 그 이유는이 테이블이 무엇인지 잘 설명해주기 때문입니다. 이제 빠른 adhoc 쿼리를 작성하고 익숙한 모든 Intellisense 기능을 사용하는 도구가 아닌 경우 이러한 별칭은 실제로 시간을 절약하고 (아침에 오전 2시에 "삶"을 당신은 미친 듯이 생산 문제를 진단하려고 노력하고 있습니다.) 당신이 이것을 필요로 할 때 당신이 한 번도 직면하지 않았다면 아무 것도 없다고 생각하지 마십시오. 영구적 인 쿼리 (저장 프로 시저 등)에서 지적한 바와 같이 전체 테이블 이름을 사용하는 것이 좋습니다. 따라서 adhoc 형용사를 강조했습니다.

관련 문제