문제

데이터베이스를 디자인하고 있으며 최근에는 주일에 열에 열로 선정되어 있으며, 주간은 SQL Server의 내장 기능이라는 것을 완전히 잊어 버렸습니다. 이제 나는 그대로 남겨두고 열을 정사각형 브래킷 (dayofweek)으로 참조하거나 열 이름을 변경하여 향후 충돌을 피하십시오. 나는 프로젝트에 너무 멀지 않기 때문에 변화가 너무 어렵지 않습니다. 내 머리 속의 논쟁은 Dayofweek의 칼럼 이름이 그 목적을 위해 너무 의미가 있다는 것입니다. 그래서 나는 그것을 정말로 사용하고 싶지만 ... 예약 된 단어입니다 ... 미래에 고통을 유발할 수 있습니다 (특히 경우. 열을 참조 할 때 항상 사각형 괄호를 넣어야합니다).

모두는 어떻게 생각합니까?

도움이 되었습니까?

해결책

나는 그것을 바꿀 것입니다 - 나는 사용자라는 레거시 테이블을 가지고 있습니다 - 그것은 항상 사각형 괄호로 고통 스럽습니다. 아마도 그것을 Weekname 또는 dayofweekid라고 부를 것입니다

조롱

다른 팁

제프,

트랙을 너무 멀리 떨어지지 않으면 (비교적) 고통스럽게 열의 이름을 바꾸면 변경하는 것이 좋습니다. Maintentance 승무원을 위해 하나의 확률 연료-헤치를 식별했으며, 특히 무언가를 이름을 바꾸는 것이 실제로 청소하는 데 실제로 비용이 많이 들고 (시간이 지남에 따라) 비용이 많이 듭니다. 진정으로 효과적인 검색의 출현 및 텍스트 편집자 및 IDE의 기능을 대체합니다.

이름을 바꾸는 데있어 정말 어려운 부분은 작업을 안전하게 수행하는 데 필요한 이해를 얻는 것입니다. 당신은 그 이해를 가지고 독특합니다 (저자). 예를 들어 (예를 들어) 나에게 일을하도록 요청했다면 아마도 비용 효율적인 비즈니스 제안이 아닐 것입니다.

그래서 ... 빨판을 직접 고치기위한 +1 ... 그리고 다시하지 않은 것에 대한 +2 ;-)

건배. 키이스.

나는 항상 당신의 대상 언어가 그것을 좋아할지 확실하지 않기 때문에 변수/객체/함수의 시작으로 키워드를 사용하지 않도록합니다. 추적하는 데 시간이 걸리는 엉뚱한 오류를 종종 생성 할 수 있습니다. 구문 검사가 그것을 선택하더라도 다른 이름이었던 것보다 더 많은 시간을 낭비한다는 것을 의미합니다. FurryKitten.

나는 피할 것이다 DayOfWeek 그리고 완전히 다른 것을 선택합니다. Weekday 또는 DayName. 그것은 단지 번거 로움을 저장합니다.

Plus -Square Brackets는 두통을 만들고 브래킷을 사용하지 않는 많은 SQL 개발자가 있습니다. 새로운 개발자는 팀에 합류 한 후 얼마 동안 습관으로 "비 널로 분석 된"코드를 만들게됩니다. 가능한 경우 드문 규칙을 피해야합니다.

쉬운 경우 변경하십시오. 그러나 좋은 관행으로서 나는 사각형 괄호를 어디에나 사용합니다. 일단 익숙해지면 단어 사이에 공간을 두는 것보다 더 이상 고통이 아닙니다.

여기에 사용자라는 테이블이 있습니다. 가능하다면, 나는 그것을 바꿀 것입니다. Josh는 정확하지만 정사각형 괄호를 배치하여 테이블임을 표시 할 수 있습니다. 그 작업은 매우 빨리 늙어갑니다. 예약 된 단어를 테이블로 사용하면 다른 개발자에게도 어렵습니다. 누군가가 예약 된 단어라는 것을 모르는 경우 쿼리가 작동하지 않는 이유를 결정하기가 어려울 수 있습니다.

DB 어댑터 / 추상화 라이브러리를 사용하여 데이터베이스에서 데이터를 가져 오면 걱정하지 마십시오. 클래스는 당신을 위해 열 이름을 탈출합니다. SQL을 작성하는 경우 직접 쿼리하면 문제가 발생할 수 있습니다. 쿼리에서 열 이름을 탈출해야합니다.

추신 : 나는 당신과 같은 상황에 처해있는 몇 번이나 remember. 그러나 나는 칼럼으로 이름이 "주문"으로 명명되었습니다. :-)

나는 또한 예약 된 단어를 사용하지 않을 것입니다.주의를 기울이지 않으면 매우 곤경에 빠질 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top