WorkaHolic/ORACLE

MSSQL 테이블의 컬럼에는 주석을 달아라

2010. 4. 8. 23:42
반응형

[좋은 개발자로 가는 길] 테이블의 컬럼에는 주석을 달아라

 

2009.3.11

한용희

 

DB 테이블을 설계하여 DB에 실제 물리적인 구현을 할때, 보통 설명이나 주석은 달지 않는 경우가 많다.

하지만, Microsodt SQL Server도 그렇고 Oracle도 그렇고 대부분의 DB에는 테이블의 컬럼에 주석을 넣을 수 있는 기능이 있다.

이곳에 그 컬럼에 대한 설명이나 내용을 적어 두면 나중에 테이블에 대한 논리적인 모델을 참조하지 않고서도

간략하게 이 테이블이 뭐고 이 컬럼이 무엇을 의미하는지 알아낼 수 있다.

특히 비영어권 국가인 한국에서는 컬럼명을 대부분 영어로 기술하기 때문에 이 컬럼이 무엇을 의미하는지

직관적으로 와 닿지 않는 경우가 있다. 따라서 이러한 주석을 적극적으로 활용하는 것이 좋은 방법이 될 것이다.

 

한가지 주의할 것은 DB를 설계할 때, 논리적 모델과 물리적 모델을 혼동하는 경우가 있다.

단지 물리적 모델은 영어로 써 놓고, 논리적 모델은 그 영어를 한글명으로 바꾸고 논리적 모델이라고 하는

경우가 있는데 그것은 논리적 모델을 잘못 오해한 것이다.

영문-한글 번역은 차라리 컬럼 주석을 이용하는 것이 더 좋다.

논리적 모델은 단순히 영문-한글 번역 수준이 아닌 엔티티(entity)관점에서의 모델이다.

이 엔티티에 대해서는 다음 기회가 되면  설명하겠다.

 

보통 개발할 때 보면, 모든 문서가 완벽하게 구비되고 가장 최신의 문서로 된 것을 참조하는 경우는 많지 않다.

테이블 명세서를 만들었다 하더라도 나중에 수정이 일어나면, 산출물은 수정하지 않고 바로 DB만 고치는 경우가 있다.

그래서 결국 산출물 따로 개발 따로 가는 경우가 있는데, 바람직하지 않다는 것을 알면서도 어쩔 수 없이 개발 일정에

쫒겨서 그렇게 한다.

 

이럴 경우 특히 더 유용할 수 있는데, 결국 산출물의 내용이 정확한 것이 아니라면, 실제 DB에 가장 최신의 내용이

있을 것이므로, 개발할 때 보면, 산출물을 찾아서 보기 보다는, 그냥 직접 DB를 보고 개발을 한다.

따라서 주석을 바로 DB 테이블의 컬럼에 바로 넣어서 확인하면 그만큼 실용적인 방법이 될 것이다.

 

 

한 예를 아래와 같은 경우를 보자.

 

위와 같이 테이블의 컬럼에 주석을 달아 놓으면 간단하게 DB에서 바로 그 의미를 알 수 있다.

Microsoft SQL Server에서는 아래와 같은 화면에서 설명을 입력할 수 있다.

 

 

이런식으로 입력을 해 놓으면 향후에 개발을 하거나 유지보수 할때 간편하게 그 내용을 참조 할 수 있다.

반응형