ERWin에서 Domains사용에 대해서 써보려고 한다. 이미 한 프로젝트에서 사용하는 걸 봤구 지금 하는 거에서 내가 직접 만들어서 사용해 보고 있는데 확 편한지는 약간 아리까리 하지만 일단 쓰라니까 좋겠지~ 하면서 쓰고 있다.
Domains에서 마우스 우클릭을 하여 Properties에 들어간다.
Domain Dictionary 창이 뜬다. 새로운 도메인을 만들 것이므로 New를 눌러준다.
Blob, Datetime, Number, String 4가지가 기본적인 타입이므로 이들중 하나를 선택해 주고 Logical / Physical Name을 모두 적어준다. 당연히 Physical은 영문으로 적어주어야 겠지... OK를 눌러서 빠져나온다.
세부적인 데이터형식을 정해주어야 하므로 Edit Mode를 Physical로 바꾸어 주고 SQL Server 탬에 들어가서 보통 모델링을 할때 칼럼의 데이터형식을 정해줄때처럼 데이터형식을 골라준다. 여기에 나오는 것은 만들때 정해준 데이터형식의 하위타입들만 나온다.(Number를 선택했으면 Number관련타입들만 나타난다.)
여기서 평상시 데이터 타입 정해줄 때처럼 데이터타입을 정해주고 크기가 필요하면 크기도 정해준다. 그리고 NULL여부나 자동증가값인 경우에는 IDENTITY에 1, 1 과 같이 적어준다.
이렇게 필요한 도메인들을 죽~ 만들어 준다음에 컬럼에서 내가 만든 도메인을 선택해 주면 된다.
이렇게 도메인은 사용할 때의 이점은 비슷한 데이터타입을 여러군데 쓰는 경우가 많기 때문에 일일이 정해주지 않고 도메인을 만들고 컬럼에선 도메인만 선택해 주면 되고 크기등 변경을 해야할 때 도메인만 바꾸어 지면 해당 도메일을 사용하는 컬럼의 데이터형식을 일괄적으로 바꾸어 줄수 있다.
단점이라면 내가 만든 디비가 아니면 이해하는데 좀 헷갈린다는 것 정도?
덧) 약간의 유의점이라면 자동증가값 같은 경우 IDENTITY에 1,1등으로 설정해 주고 관계를 연결해 주면 다른 테이블의 FK로 들어가게 되는데 그 테이블에서도 자동증가값 PK를 사용하는 경우 한테이블에 자동증가값이 2개가 생겨서 sql쿼리를 실행할때 오류가 뜨게 된다. 다 만든 다음에 FK로 들어간 자동증가값들은 일일이 자동증가값을 지워주면 된다.(원래의 PK였던 자동증가값에는 영향이 없다.)
덧) 당연한 얘기인듯 하지만(난 몰랐어서...) Reserved Word는 도메인 네임으로 사용할 수 없다. 내가 걸렸던건, user, group, content 등....
Comments